问题描述:
通过pm2启动node项目,通过pm2 ls可以看到,node项目是正常启动的,但是就是不能访问项目接口,通过node自己的启动方式,比如npm start和node app.js启动时,发现程序可以访问。
解决办法:
1、查看node端口是否监听
netstat -ntlp
2、比如node运行端口为3000,通过netstat -ntlp发现这个端口并未被监听,这时再去node项目下
npm start
神奇的是,通过这种方式运行时,3000端口是被监听状态
3、这种通过pm2启动项目端口未被监听,而通过node自己的启动方式启动端口正常被监听的情况,多半是pm2的启动方式不正确造成的,而正确的启动方式请移步到package.json
就是pm2 start bin/www
可能每个项目,pm2的启动方式会有点差异,但是只要有package.json文件,就能找到正确的方法启动,如果你也有这样的问题,赶紧看一下自己的package.json吧
正常启动后,3000端口被监听,且浏览器也能访问我们的服务器了