如何在AWS EC2上使用PM2启动Angular应用(附现有Nginx配置)
使用PM2运行你的Angular应用
首先得明确你的Angular应用类型,不同场景下PM2的用法会有区别:
情况1:你的应用是Angular SSR(服务器端渲染)
如果你的Angular应用启用了SSR,构建后会生成Node服务端的入口文件(通常是server.js或main.js),这时可以用PM2来管理这个Node进程:
- 进入你的应用根目录(或SSR服务端入口文件所在的目录)
- 执行PM2启动命令:
pm2 start server.js --name "angular-staging-app" --watchserver.js替换成你实际的SSR入口文件名--name "angular-staging-app"给进程起一个辨识度高的名字,方便后续管理--watch可选,开启后会在代码变动时自动重启进程,适合 staging 环境
- 保存PM2进程列表,确保服务器重启后自动拉起应用:
pm2 save pm2 startup
情况2:你的应用是纯静态Angular应用(仅前端)
看你的Nginx配置里已经指定了静态文件目录/var/www/html/owner/dist/browser,这种场景下不需要PM2——直接让Nginx托管静态文件即可。你可以调整Nginx配置,去掉反向代理的部分,改成适配Angular路由的配置:
server { listen 80; root /var/www/html/owner/dist/browser; server_name stagingapp.company.com; location / { try_files $uri $uri/ /index.html; # 解决Angular单页应用刷新404的问题 } }
调整后重启Nginx:sudo systemctl restart nginx,静态文件就能直接通过Nginx访问了。
补充:如果8002端口是Node.js后端服务
如果你的架构是Angular前端 + Node后端,8002是后端服务的端口,那PM2启动后端的命令类似:
pm2 start app.js --name "node-backend" --watch
同样记得执行pm2 save和pm2 startup设置开机自启。
最后提醒:如果你的EC2服务器还没安装PM2,先执行全局安装命令:
npm install pm2 -g
内容的提问来源于stack exchange,提问作者Jabir
相关产品推荐
相关产品推荐

