1、安装node.js
可以打开网站https://github.com/nodesource/distributions,查看最新版本。
curl --silent --location https://rpm.nodesource.com/setup_13.x | sudo bash -
yum -y install nodejs
node -v查看安装是否完成。
用淘宝源快一些:
淘宝镜像:https://npm.taobao.org/mirrors/
cd /usr/local/src/
wget https://npm.taobao.org/mirrors/node/latest-v14.x/node-v14.3.0.tar.gz
tar zxvf node-v14.3.0.tar.gz
ln -s /usr/local/src/node-v14.3.0/bin/npm /usr/local/bin/
ln -s /usr/local/src/node-v14.3.0/bin/node /usr/local/bin/
2、nginx的ssl443代理到koa端口3000中。
location / {
# root html;
# index index.html index.htm;
proxy_pass http://127.0.0.1:3000;
}
下一步安装pm2,来保持node一直处于服务中
安装
npm install -g pm2
配置pm2自启动
pm2 startup centos
切换目录到项目目录下
cd /usr/local/nginx/html/******
运行网站
pm2 start index.js
查看目前状态
pm2 list
其他pm2命令:
pm2 stop/reload/restart/delete all #停止/重载/重启/删除 所有进程
pm2 stop/reload/restart/delete 0 #停止/重载/重启/删除 pm2进程列表中进程为0的进程
pm2 logs [--raw] #显示所有进程的日志
pm2 flush #清空所有日志文件
pm2 reloadLogs #重载所有日志
这样网站就可以正常运行了。但是如果使用了websocket的话。可能报错,是因为websocket的Upgrade字段仅限HTTP/1.1版本协议,不适合HTTP/2.0版本协议。报错的可能是vue-socketio.js:10 WebSocket connection to 'wss://www.网址.com/socket.io/?EIO=3&transport=websocket&sid=W3T3BzXDcrrOH3l7AAAC' failed: Error during WebSocket handshake: Unexpected response code: 400
所以在nignx的433转发中,应该添加上HTTP/1.1,然后告诉升级websocket协议即可。
https://www.nginx.com/blog/websocket-nginx
https://github.com/socketio/socket.io/issues/1942
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
pm2启动后,想查看node当中的错误或者cmd输出的话可以使用
pm2 log <taskname>
任务可以通过list来查看
pm2 想查看node的错误输出,在centos中输入:pm2 monit appname 即可。