生产环境:
系统
:linux centos 7.9
node
版本:v16.14.0
npm
版本:8.3.1
node应用程序结构
[root@RainYun-Q7c3pCXM wiki]# dir
assets config.yml data LICENSE node_modules nohup.out output.log package.json server wiki.log
[root@RainYun-Q7c3pCXM wiki]# pwd
/etc/nginx/wiki
[root@RainYun-Q7c3pCXM wiki]#
调试
创建postgresql数据库
,写好配置文件
,并确保数据库用户权限
和命令权限
服务器端调试,确保端口畅通
(服务商处和自身防火墙端口开放等)
本地访问ip:端口,同时注意本地的代理问题
sudo node server
部署思路
nohup
后台运行
nohup node server &
简单快捷,不过会很快异常停止运行,检测进程运行成功
重新进行SSH连接后检测端口netstat -tuln | grep 端口
,检测进程莫名停止
这一来,得看systemctl
,或者node进程管理器
了
systemctl
官方提供思路systemctl,可以使用,但不建议
node进程管理器PM2
和forever
两者命令相差无几,但是PM2更完善健壮,具体参考官方文档
安装 pm2:sudo npm install -g pm2
使用 pm2 启动服务器pm2 start server
要确保 pm2 在系统重启后自动启动 Wiki.js 服务器pm2 startup
然后按照终端中显示的说明操作。
保存当前 pm2 进程列表pm2 save
服务器将由 pm2 管理并在后台持续运行。即使在系统重启后,pm2 也会自动启动 服务
查看 pm2 管理的进程列表pm2 list
查看服务器的日志pm2 logs
停止服务器pm2 stop server.js
重启服务器pm2 restart server.js