这两天,我将项目从 node 改为了前后端分离来实现。
- 前端:vue 2.0 项目,部署方式是
yarn build
后将 dist 目录下的文件上传到服务器。 - 代理:Nginx,我用的服务器自带了 Nginx,我直接在上面改配置。
- 后端:使用 egg 框架的 node 项目,在部署时通过 git 将项目同步到服务器,再执行
yarn start
启动服务。 - 数据库:纠结于 MySQL 和 MongoDB,最终选择了更经典的 MySQL。
遇到了一些问题
Vue 项目在子路由刷新后 404
官方提供的解决方案,修改 nginx 配置。
location / {
try_files $uri $uri/ /index.html;
}
找不到 nginx 配置文件
在配置代理的时候,发现 nginx 配置文件中没有配置 80 端口相关的内容,但 80 端口却是可用的。后来想想不管了,索性再写一遍。
vi /www/server/nginx/conf/nginx.conf
加上 80 端口内容:
server {
listen 80;
server_name 127.0.0.1;
allow 127.0.0.1;
# 解决 vue-router 404 问题
location / {
try_files $uri $uri/ /index.html;
}
# 验证改动是否生效
location /ping {
default_type application/json;
return 200 '"pong"';
}
# 带 /api 前缀的代理到 node 项目端口 7001
location /api {
proxy_pass http://127.0.0.1:7001;
}
}
MySQL 的连接
目前做到 MySQL 这一步,还在学习中……
网友评论