egg一键部署到服务器
2023-11-19 17:59:42
在宝塔面板中使用 PM2 部署 Egg.js 应用程序
安装 PM2
PM2 是一款轻量级的进程管理器,可以帮助我们管理 Egg.js 应用程序。在宝塔面板中安装 PM2 非常方便,只需执行以下命令即可:
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/epel/7/$basearch/
yum makecache
yum -y install epel-release
yum -y install python-pip
pip install supervisor
yum -y install pm2
配置 PM2
安装 PM2 后,我们需要创建一个配置文件来配置 Egg.js 应用程序。编辑配置文件 /etc/pm2/conf.d/egg_deploy.conf
并添加以下内容:
[apps]
name = egg_deploy
script = /egg-example/app.js
exec_mode = cluster
instances = 1
args = --env=prod
启动 PM2
配置好配置文件后,我们可以使用以下命令启动 PM2:
pm2 start egg_deploy.conf
查看 PM2
要查看 PM2 的状态,可以使用以下命令:
pm2 list
日志查看
要查看应用程序的日志,可以使用以下命令:
pm2 logs egg_deploy
重启 PM2
如果需要重启应用程序,可以使用以下命令:
pm2 restart egg_deploy
停止 PM2
要停止应用程序,可以使用以下命令:
pm2 stop egg_deploy
删除 PM2
如果不再需要 PM2,可以使用以下命令删除:
pm2 delete egg_deploy
配置 Nginx
为了让应用程序可以通过 Nginx 访问,我们需要配置 Nginx。编辑配置文件 /etc/nginx/conf.d/egg_deploy.conf
并添加以下内容:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:7001;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-NginX-Proxy true;
}
}
重启 Nginx
配置好 Nginx 后,需要重启 Nginx 才能生效:
nginx -t
nginx -s reload
访问项目
现在就可以通过访问 http://your_server_ip/
来访问 Egg.js 应用程序了。
常见问题解答
-
为什么需要使用 PM2 来部署 Egg.js?
Egg.js 内置了 egg-cluster 模块,但 PM2 可以提供额外的功能,如进程监视、重启和日志管理。 -
如何修改应用程序的启动参数?
修改配置文件/etc/pm2/conf.d/egg_deploy.conf
中的args
选项即可。 -
如何增加或减少应用程序的实例数?
修改配置文件/etc/pm2/conf.d/egg_deploy.conf
中的instances
选项即可。 -
如何将应用程序切换到生产环境?
使用pm2 start egg_deploy.conf --env=prod
命令启动 PM2。 -
如何将应用程序从 PM2 中删除?
使用pm2 delete egg_deploy
命令即可。