需要在代码上线前执行 命令,将 src/
目录编译到 app/
目录,然后将 app/
目录下的文件上线。
PM2 是一款专业管理 Node.js 服务的模块,非常建议在线上使用。使用 PM2 需要以全局的方式安装,如: sudo npm install -g pm2
。安装完成后,命令行下会有 pm2 命令。
创建项目时,会在项目目录下创建名为 pm2.json
的配置文件,内容类似如下:
将 cwd
配置值改为线上真实的项目路径,然后在项目目录下使用下面的命令来启动/重启服务:
pm2 startOrReload pm2.json
如果进程重启之前想进行一些操作,如:保存一些临时数据,那么可以使用 ,具体请见:
注
:如果线上不使用 PM2 来管理 Node.js 服务的话,启动服务需要使用命令 node www/production.js
。
创建项目时,会在项目目录创建一个名为 nginx.conf
的 nginx 配置文件。配置文件内容类似如下:
将 server_name localhost
里的 localhost 修改为对应的域名,将 set $node_port 8360
里的 8360 修改和项目里监听的端口一致。
修改完成后,将该配置文件拷贝到 nginx 的配置文件目录中,然后通过 nginx -s reload
命令 reload 配置,这样就可以通过域名访问了。
线上建议开启配置 proxy_on
,这样就可以禁止直接通过 IP + 端口来访问。修改配置文件 ,如:
proxy_on: true
}
可以在配置文件 src/common/config/env/production.js
中加入如下的配置:
线上可以开启 cluster 功能达到利用多核 CPU 来提升性能,提高并发处理能力。
可以在配置文件 src/common/config/env/production.js
中加入如下的配置:
export default {
cluster_on: true
注
:如果使用 PM2 来部署,并且开启了 cluster 模式,那么就无需在开启 ThinkJS 里的 cluster。