关注 “云腾五洲” 公众号:只为更好的服务
### 宝塔面板部署教程
前端
1.在 “网站” 中添加站点,PHP 版本选择纯静态。
2.在 ruoyi-ui 目录中运行 npm run build:stage(构建测试环境)或 npm run build:prod(构建生产环境),生成 dist 目录。
3.将 dist 目录中所有文件复制到宝塔生成的网站文件目录。
后端
4.在宝塔面板软件商店中安装 Java 项目管理器,安装 Tomcat9。
5.将 pom.xml 中jar修改为war。
6.将 application.yml 中 profile: D:/ruoyi/uploadPath 修改为 profile: /home/ruoyi/uploadPath
7.在 RuoYi-Vue\ruoyi\bin 目录中运行 package.bat,生成 war 文件。
8.将 war 文件复制到服务器/www/server/tomcat9/webapps 目录中,自动生成 ruoyi 目录。
9.停止 Tomcat 服务器,将 ROOT 目录删除,将生成的 ruoyi 目录更名为 ROOT,启动 Tomcat 服务
10.在宝塔面板网站设置 - 配置文件中修改:
若为构建的测试环境:
添加:
location /stage-api/{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8181/;
}
若为构建的生产环境:
添加:
location /prod-api/{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8181/;
}
11.Nginx 刷新显示 404
HTML5 History 模式 vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。
如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。
const router = new VueRouter({
mode: 'history',
routes: [...]
})
当你使用 history 模式时,URL 就像正常的 url,例如 http://yoursite.com/user/id,也好看!
不过这种模式要玩好,还需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。
所以呢,你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。
#Apache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
除了 mod_rewrite,你也可以使用 FallbackResource。
#nginx
location / {
try_files $uri $uri/ /index.html;
}
https://router.vuejs.org/zh/guide/essentials/history-mode.html
https://www.cnblogs.com/st666/p/9968653.html