需求用Vue 开发的前端(web)项目通过Nodejs部署在服务器(Ubuntu环境)上。
更新系统并安装相关依赖包(root下可以不加sudo安装)
root@58b9bf0134ac:~$ sudo apt-get update
root@58b9bf0134ac:~$ sudo apt-get install nodejs
root@58b9bf0134ac:~$ sudo apt-get install npm
root@58b9bf0134ac:~$ sudo npm install -g pm2
分别查看版本,例如(pm2 -v),如可以正常查看版本,
到这所需依赖环境基本完成 (这里可能会出现异常,异常在文末有相关解决方法)
root@58b9bf0134ac:~$ nodejs -v
v8.10.0
root@58b9bf0134ac:~$ npm -v
5.6.1
root@58b9bf0134ac:~$ pm2 -v
4.3.1
部署Vue打包好的文件
新建项目文件夹,将打包好的文件复制到此文件夹下,并进入文件夹。在在项目目录中安装 express body-parser (本人项目路径 /var/www/font_web)
初始化npm init生成 package.json 文件
root@58b9bf0134ac:/var/www/front_web$ npm init
root@58b9bf0134ac:/var/www/front_web$ npm install express
root@58b9bf0134ac:/var/www/front_web$ npm install body-parser
root@58b9bf0134ac:/var/www/front_web$ ls
dist node_modules package.json
release@58b9bf0134ac:/var/www/front_web$
编辑项目启动JS文件
新建app.js文件并输入如下内容
var express = require('express');
var fs = require('fs');
var path = require('path');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// 访问静态资源
app.use(express.static(path.resolve(__dirname, '../dist')));
// 访问单页
app.get("/", function(req, res) {
res.render("index.html");
});
app.get('*', function (req, res) {
var html = fs.readFileSync(path.resolve(__dirname, '../dist/login.html'), 'utf-8');
res.render("index.html");
});
// 监听
app.listen(8090, function () {
console.log('success listen...8090');
});
启动项目
在app.js所在路径运行pm2 start app.js
root@58b9bf0134ac:/var/www/front_web$ pm2 start app.js
[PM2] Applying action restartProcessId on app [app](ids: 0)
[PM2] [app](0) ✓
[PM2] Process successfully started
.
.
运行成功,查看状体啊直接输入pm2 show app 就可以查看当前启动项目的状态
异常处理
遇见问题:查看版本时如提示
/usr/bin/env: 'node': No such file or directory
则安装异常,需要安装Nodejs并升级到最新版
Ubuntu:
sudo apt-get update
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
sudo npm install n -g
sudo n stable
CentOS:
sudo yum update
sudo yum install epel-release
sudo yum install nodejs
sudo yum install npm
sudo npm install n -g
sudo n stable
sudo n stable 后,可能执行node -v 还显示老版本,退出session重新登录即可。
安装PM2:
sudo npm install pm2 -g