之前部署博客使用是宝塔面板带的
pm2管理器,今天把博客的程序自动拉取更新功能完成,不过文件更新后需要重新到宝塔面板上重启nodejs应用,这操作起来多麻烦了。
既然程序更新已经用了shell脚本实现,完全可以在脚本的最后加一个重启node应用的脚本,既然这样也就不再需要宝塔的pm2管理插件,于是卸载插件,开始手动部署。
nodejs安装
宝塔pm2管理器卸载后,nodejs、npm、pm2等一同都被卸载了,只能重新安装nodejs
安装可以编译安装,也可以使用编译好的包,本次直接使用编译的文件,linux centos系统。
# cd到安装目录,根据自己实际情况选择安装目录
cd /usr/software
# 下载安装文件,本次使用nodejs中文网上的最新版安装包,版本v12.13.1
wget https://npm.taobao.org/mirrors/node/v12.13.1/node-v12.13.1-linux-x64.tar.xz
# 解压文件
tar xf node-v12.13.1-linux-x64.tar.xz
# 为方便使用,我给node目录改了个名字nodejs
mv node-v12.13.1-linux-x64 nodejs
# 测试下nodejs命令,看看版本号
./nodejs/bin/node -v
v12.13.1
解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln 命令来设置软连接:
ln -s /usr/software/nodejs/bin/node /usr/local/bin/node
ln -s /usr/software/nodejs/bin/npm /usr/local/bin/npm
至此,nodejs安装完毕,现在可以使用node、npm的命令了。
pm2安装
pm2直接使用npm命令全局安装,命令如下:
npm i pm2 -g
安装最后的fsevent有个警告信息,不用管它。为了使用pm2命令,需要给pm2设置软连接,执行命令:
ln -s /usr/software/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2
至此,pm2安装完毕,现在可以使用pm2的命令了。
使用pm2启动nodejs应用程序
# 启动脚本,app.js为你的应用程序,注意路径要正确
pm2 start app.js
# 将当前应用保存起来
pm2 save
# 设置开机自启动,之所以不再用宝塔pm2管理器也是因为那个没有设置开机自启动的选项
pm2 startup
nginx代理设置
如果是网站应用,可以配合nginx,实现服务器的最佳部署,nginx代理设置如下:
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:3000;
}
3000为nodejs服务的监听的端口号,根据自己实际情况修改,nginx的更多设置可以访问。
参考资料
关键词:pm2nodejs
所属分类:网站技术
本文地址:https://me.i-i.me/article/5.html
评论