nuxt本地运行正常,pm2发布后不能访问

来源:10-3 从本地发布上线和更新服务器的 Nodejs 项目

拖车板牙爵士

2017-10-23

nuxt项目静态网站,本地npm run dev可以正常运行,pm2发布到服务器后,没有报错

http://img1.sycdn.imooc.com/szimg/59ed7d7600011e1e06760071.jpg

但是不能访问【无法访问此网站】。

为了排除是iptables错误或者nginx错误,因此跟课程中的一样,用了一个app.js单页项目,然后pm2发布项目,可以发布,也可以正常访问到网站。

问题大概出在什么地方啊?

ecosystem.json

{
    "apps": [
        {
            "name": "portals",
            "script": "start.js",
            "env": {
                "COMMON_VARIABLE": "true"
            },
            "env_production": {
                "NODE_ENV": "production"
            }
        }
    ],
        "deploy": {
        "production": {
            "user": "dylan",
                "host": [""],
                "port": "",
                "ref": "origin/master",
                "repo": "",
                "path": "/www//production",
                "ssh_options": "StrictHostKeyChecking=no",
                "post-deploy": "yarn install && npm run build && pm2 startOrRestart ecosystem.json --env production",
                "env": {
                "NODE_ENV": "production"
            }
        },
        "plus": {
            "user": "dylan",
                "host": [""],
                "port": "",
                "ref": "origin/master",
                "repo": "",
                "ssh_options": "StrictHostKeyChecking=no",
                "post-deploy": "yarn install && pm2 startOrRestart ecosystem.json --env production",
                "env": {
                "NODE_ENV": "production"
            }
        }
    }
}

跟老师一样在根目录下新建了start.js

require('babel-core/register')({
    'presets': [
        'stage-3',
        'latest-node'
    ]
})
require('babel-polyfill')
require('./server')

package.json修改如下

"scripts": {
  "dev": "nodemon -w ./server -w ./start.js --exec node ./start.js",
  "build": "nuxt build",
  "start": "cross-env NODE_ENV=production node build/main.js",
  "precommit": "npm run lint",
  "lint": "eslint --ext .js,.vue --ignore-path .gitignore ."
}


写回答

1回答

Scott

2017-10-27

看到 restart 的次数到了 86 次,说明服务没有成功的跑起来,登录到服务器上,输入 pm2 logs 看下日志里,报了什么启动错误,是不是没连上 mongodb 数据库或者少了什么模块之类的

0
3
拖车板牙爵士
回复
乡子
另外的课程
2019-03-15
共3条回复

Node.js项目线上服务器部署与发布

阿里云部署Node.js+MongoDB+Nginx的应用项目,打通全栈

1747 学习 · 448 问题

查看课程