pm2 setup出现错误

来源:10-4 部署发布电影网站并连接线上 MongoDB

qq_黎明的枫叶_0

2018-05-07

http://img.mukewang.com/szimg/5aeffdc400019cbe10651141.jpg

部署后总是出现这个错误,没法解决,,,,

写回答

3回答

Scott

2018-05-23

先不借助 pm2


在服务器上的项目目录 current 里


NODE_ENV=production node 入口文件.js 试试看能不能启动


如果可以启动,那么就是 pm2 的问题,可以把 pm2 重新换一个其他旧一点版本试试

0
0

qq_黎明的枫叶_0

提问者

2018-05-23

//img.mukewang.com/szimg/5b0463160001ea4d10621801.jpg我部署了一个静态网页mainPage和电影网站Movie。以下是appjs入口文件(线上数据库dburl的地址用***代替了,,)

var express = require('express');
var path = require('path');
var mongoose = require('mongoose');  // 引用mongoose调用本地数据库
var port = process.env.PORT || 4000
var logger = require("morgan");//npm install morgan --save
var app = express();//启动一个web服务器

// 配置线上的mongoDB数据库
var env = process.env.NODE_ENV || 'development'
var dbUrl = ***

// 配置线下的mongoDB数据库
if (env === 'development') {
dbUrl = 'mongodb://localhost:27017/movie'  //与mongoDB数据库进行交互,数据库名称是 movie
}

mongoose.connect(dbUrl)
console.log('MongoDB connection success!')

app.set('views', './app/views/pages') // 视图根目录
app.set('view engine', 'jade')  //默认模版引擎
//app.set('view engine', 'html')  //也可改用html引擎

// body-parser解析post请求体
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: true}))  //使用use方法调用中间件
app.use(bodyParser.json())//json数据类型

var http = require('http');
var fs=require('fs'); // File System文件的读写操作module

app.locals.moment = require('moment');  //时间及日期格式化模块


//保持用户登录状态
var cookieParser = require('cookie-parser')
app.use(cookieParser())

var session = require('express-session')
var mongoStore = require('connect-mongo')(session)
app.use(session({
secret:'wenpei',
resave: false,
saveUninitialized: true,
store: new mongoStore({
url: dbUrl,
collection: 'sessions'
})
}))
/* 
var session = require('cookie-session')
app.use(session({secret: "wenpei"}));//会话预处理
*/

//设置报错信息和提高代码可读性
var env = process.env.NODE_ENV || 'development'
if ('development' === env) {
app.set('showStackError', true)//有错误会在控制台打印错误
app.use(logger(':method :url :status'))//请求的 类型,路径,状态
app.locals.pretty = true
//mongoose.set('debug',true)
}

var serveStatic = require('serve-static');
app.use(serveStatic(path.join(__dirname, 'public')))//设置静态资源的默认位置在public
//app.use(serveStatic('public'))

// Set the icon
var favicon = require('serve-favicon');
app.use(favicon(__dirname + '/public/img/movie.ico'));

require('./config/routes.js')(app)//调用routes.js中的app函数以启动其内部的路由文件
app.listen(port) // 监听端口

//打印日志,确认服务是否启动
console.log('Wenpei Website has been started on port ' + port)


0
0

Scott

2018-05-11

可以 pm2 logs 把日志都打印出来,然后日志贴出来看一下,另外你的app.js 源码也贴一下,看看有可能是什么原因引发的启动失败

0
0

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

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

1747 学习 · 448 问题

查看课程