PM2 启动3000端口访问不了

今天配置yapi用PM2启动的时候

pm2 start /usr/local/yapi/vendors/server/app.js --watch

显示启动成功,浏览器访问却没有反应。

用netstat -ntlp查看监听端口,无3000

解决方法:执行ps -ef|grep pm2找到PM2的进程,kill -9 杀掉,再执行pm2 start /usr/local/yapi/vendors/server/app.js --watch即可

再次执行netstat -ntlp  3000端口已有,浏览器也可以正常访问。

 

            

PM2主要用于Node.js应用程序的进程管理,并不直接用于启动Nginx。然而,在实际部署环境中,通常会结合使用PM2和Nginx以实现更强大的功能组合。具体来说,PM2负责管理和优化Node.js应用的运行状态,而Nginx作为反向代理服务器处理HTTP请求并将其转发给由PM2管理的应用实例。 对于如何设置这种环境,可以按照如下方式操作: ### 使用 PM2 和 Nginx 的最佳实践 #### 安装必要的软件包 确保已经安装了最新的稳定版本的 Node.js、npm 及其全局模块 PM2: ```bash sudo npm install -g pm2 ``` 接着更新系统并将Nginx安装到Ubuntu上[^3]: ```bash sudo apt-get update && sudo apt-get install nginx ``` #### 配置 Nginx 作为反向代理 编辑默认站点配置文件 `/etc/nginx/sites-available/default` 或创建一个新的配置文件来定义一个虚拟主机条目指向本地IP地址上的端口(通常是80),该端口监听来自外部世界的连接并通过 `proxy_pass` 将这些请求发送至内部网络中的Node.js 应用程序所占用的实际端口号。例如,如果Node.js 应用正在监听本机的3000端口,则可以在Nginx配置中指定此端口[^2]: ```nginx server { listen 80; server_name yourdomain.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:3000/; proxy_redirect off; } } ``` 重启Nginx使更改生效: ```bash sudo service nginx restart ``` #### 使用 PM2 管理 Node.js 进程 在项目的根目录下执行命令启动Node.js 应用程序,并让PM2对其进行管理[^1]: ```bash cd path/to/your/project pm2 start app.js -i max --name "my-node-app" ``` 这里 `-i max` 参数表示根据CPU核心数自动分配集群模式下的工作线程数量;`--name` 则用来命名这个特定的服务以便于后续维护。 最后一步是保存当前所有的PM2进程列表以及它们各自的参数设定,这样即使机器重新启动也能保持服务在线: ```bash pm2 save pm2 startup systemd ``` 通过上述步骤完成之后,就实现了利用PM2高效地管理Node.js应用的同时借助Nginx提供稳定的Web访问入口的功能集成方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值