0

Windows Server 2019 Standard (1809) 使用 PostgreSQL 安装了 Wiki.js。手动启动服务器时效果很好

node server

安装 node-windows 并注册以将 Wiki.js 作为服务运行。服务无法启动。daemon 文件夹中的 wiki.out.log 显示以下内容:

2020-09-03T21:32:20.503Z [MASTER] [32minfo[39m: =======================================
2020-09-03T21:32:20.503Z [MASTER] [32minfo[39m: = Wiki.js 2.4.107 =====================
2020-09-03T21:32:20.503Z [MASTER] [32minfo[39m: =======================================
2020-09-03T21:32:20.503Z [MASTER] [32minfo[39m: Initializing...
2020-09-03T21:32:21.159Z [MASTER] [32minfo[39m: Using database driver pg for postgres [ OK ]
2020-09-03T21:32:21.159Z [MASTER] [32minfo[39m: Connecting to database...
2020-09-03T21:32:21.222Z [MASTER] [32minfo[39m: Database Connection Successful [ OK ]
2020-09-03T21:32:21.253Z [MASTER] [31merror[39m: Database Initialization Error: no database connection available for a query. You need to bind the model class or the query to a knex instance.

在非服务器 Windows 10 机器上尝试完全相同,它按预期工作。关于它无法在服务器上运行的原因有什么想法吗?

4

1 回答 1

0

您是否创建了 wiki.js 使用的 Postgres 数据库?尽管您可能已经完美地安装了 postgres,但 wiki.js 尝试连接的数据库可能尚未从您的端初始化。

如果是这种情况,请在文本编辑器中打开以下文件: /wiki/config.yml

您可能会发现以下几行:

# ---------------------------------------------------------------------
# Database
# ---------------------------------------------------------------------
# Supported Database Engines:
# - postgres = PostgreSQL 9.5 or later
# - mysql = MySQL 8.0 or later (5.7.8 partially supported, refer to docs)
# - mariadb = MariaDB 10.2.7 or later
# - mssql = MS SQL Server 2012 or later
# - sqlite = SQLite 3.9 or later

db:
  type: postgres

  # PostgreSQL / MySQL / MariaDB / MS SQL Server only:
  host: localhost
  port: 5432
  user: wikijs
  pass: wikijsrocks
  db: wiki
  ssl: false

根据您使用的数据库,对上述行进行更改(如果需要),即 field host, port, user, pass, db

现在,使用您在上面文件中定义的完全相同的配置创建一个数据库

然后尝试运行node server并在初始化后尝试访问localhost:3000浏览器中的 URL 以检查 wiki.js 是否正在运行

于 2020-12-14T05:19:55.930 回答