之前部署博客使用是宝塔面板带的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安装完毕,现在可以使用nodenpm的命令了。

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




评论提示: 点击头像可以回复评论

提交取消回复
[face]@
[uname]  [add_time]
[content]
[reply]
加载更多评论