配置
在项目根目录下有一份pm2.js,请修改其中的中文名称:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| const APPLICATION_ENV = process.env['APPLICATION_ENV'] || 'production';
let common = { "apps":[ { "name":"你的项目名称", "script":"./app.js", "instances":"max", "exec_mode":"cluster", "error_file":"/usr/local/node/logs/域名前缀/项目名称/项目名称_error.log", "out_file":"/usr/local/node/logs/域名前缀/项目名称/项目名称_out.log" }
] }; let applicationEnv = { development:{ "watch":true }, testing:{ "watch":true }, production:{ "watch":false } };
Object.assign(common['apps'][0],applicationEnv[APPLICATION_ENV]);
module.exports = common;
|
日志
正常日志:/usr/local/node/logs/域名/应用.access.log
错误日志:/usr/local/node/logs/域名/应用.error.log
日志按天分割,比如昨天的日志,则命名为:/usr/local/node/logs/域名/应用.access.log.1
仅保留最近5天的日志
以股性评分的日志为例:
1 2 3 4
| 当天正常日志:/usr/local/node/logs/ai/stockrate.access.log 当天错误日志:/usr/local/node/logs/ai/stockrate.error.log 昨天正常日志:/usr/local/node/logs/ai/stockrate.access.log.1 昨天错误日志:/usr/local/node/logs/ai/stockrate.error.log.1
|
Nginx配置
Node提供的服务,需要经过Nginx进行中转,对外提供域名方式的80端口访问接口:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| upstream stockrate { server 127.0.0.1:3000; keepalive 64; }
server { listen 80; server_name ai.10jqka.com.cn ai.0033.com ai.300033.info; access_log logs/ai.access.log main; error_log logs/ai.error.log notice;
index index.html index.htm index.php; root /var/www/ai/public;
location /stockrate/ { root /var/www/ai/stockrate; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_max_temp_file_size 0; proxy_pass http://stockrate/; proxy_redirect off; proxy_read_timeout 240s; } location ~ .*\.html$ { expires 30m; } location ~ .*\.(css|js|gif|jpg|jpeg|png|bmp|swf)$ { expires 3h; }
location ~ /\. { deny all; } }
|
常用维护命令
1 2 3 4 5 6 7
| pm2 list 查看当前正在运行的服务
pm2 start app.js 启动服务
pm2 stop [name] 停止服务
pm2 reload [name] 重新启动某个服务
|