vue项目上线部署到CentOS7阿里云服务器
Vue项目线上部署 CentOS7服务器 阿里云 express代理
·
1.相关准备
在此之前,已经将express
构建的菜鸟接口部署到CentOS7
服务器,Linux服务器前端相关环境搭建乃至vue
部署全程注意点都在之前记录下来了https://blog.csdn.net/s18438610353/article/details/100822617。由于目前没有系统的学习过nginx,所以nginx在此次部署中只起到了监听80端口从而达到隐藏域名后端口的效果,而vue
打包后的对index.html
的访问则通过express
代理实现。
2. 打包与配置
运行 npm run build
并将dist
文件夹通过Xftp
传入服务器不必多言,关键是怎么访问这些静态资源,显然,直接通过index.html
访问是不可行的。
-
安装express
npm install -g express-generator
npm install -g express
从4.x起具体不记得是哪个版本了…,express-generator与express分离了 -
测试是否成功
express --version
-
在
dist
目录的当前目录下,初始化package.json
文件
npm init
- 安装
express
npm i express --save
- 初始化
app.js
touch app.js
- 如果vue-router中使用history模式需要安装
connect-history-api-fallback
否则静态资源会访问不到npm i -g connect-history-api-fallback
- 编辑
app.js
文件vim app.js
const express = require('express')
const path = require('path')
const app = express()
// vue-router history模式引入connect-history-api-fallback中间件
const history = require('connect-history-api-fallback')
// 这句代码需要放在express.static上面
app.use(history())
app.use(express.static(path.join(__dirname, 'dist')))
app.listen(8080, () => {
console.log('app listening on port 8080')
})
(记得我第一次试用一个月服务器的时候配置的app.js比这个复杂,后来比较懒,没有迁移,就再也找不到了)
- 配置
nginx.conf
server {
listen 80;
server_name www.tudoudou2.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Connection "";
proxy_pass http://127.0.0.1:8080;
}
}
(nginx相关重启和生效命令见Node项目线上部署)
- 启动app.js
pm2 start app.js
- 时刻需要注意端口的放行和安全组规则配置
见上Node项目线上部署
更多推荐
所有评论(0)