Ubuntu下部署NodeJs项目

2017-05-26  本文已影响1192人  wildtree001

本文项目采用express为服务端,将指定访问路径指向某个页面的单页应用,内部路由由react-router管理

sudo apt-get install unzip
unzip xxx.zip
npm install pm2 -g
ln -s xxxdir/bin/pm2 /usr/local/bin/pm2
原先的启动方式:
"scripts": {
    "start": "node server.bundle.js"
  }
执行:npm run start
pm2的方式:pm2 start server.bundle.js
由于pm2有许多有用的配置,因此可以单独再建一个配置文件如pm2.json
{
    "apps": [{
        "name": "duomaishop",
        "script": "server.bundle.js",
        "cwd": "./",
        "watch": [
            "build",
            "public"
        ],//发现改变自动重启
        "error_file": "./logs/app-err.log",
        "out_file": "./logs/app-out.log",
        "log_date_format": "YYYY-MM-DD HH:mm Z"
    }]
}
scripts可以添加启动方式:
"scripts": {
    "start": "node server.bundle.js",
    "pm2": "pm2 start pm2.json"
  }
执行:npm run pm2
pm2常用命令:
查看运行状态:pm2 list
资源实时运行情况:pm2 monit
应用详细部署状态:pm2 describe [appId]
查看日志:pm2 logs
重启应用:pm2 restart [appId]
停止应用:pm2 stop [appName|appId|all]
[使用 pm2-web 监控 pm2 服务运行状态](http://blog.csdn.net/dongshaoshuai/article/details/50292937)
var express = require('express')
var compression = require('compression')
var app = express()
var path = require('path')
app.use(compression());
app.use('/build', express.static(path.join(__dirname, 'build')))
app.set('views', path.join(__dirname, 'public'));
app.engine('html', require('consolidate').handlebars);
app.set('view engine', 'html');
app.get('*', function(req, res) {
    res.render('index');
});
var PORT = process.env.PORT || 8080
app.listen(PORT, function() {
    console.log('server running at localhost:' + PORT)
})
上一篇下一篇

猜你喜欢

热点阅读