最近部署若依项目,一直部署失败,多亏有好人将这篇文章相赠,特地分享出来供大家学习参考,希望大家共同进步。

一:部署linux + nginx

部署后台代码

1.1 由于本人采用的是idea工具开发,所以在terminal中mvn clean package生成对应的jar包,此jar包可去对应文件所在目录的target查找。

1.2 将jar复制到linux之中。

部署前端代码

2.1 使用npm run build:prod --report将前端项目打包,将会在前端目录下生成一个dist文件夹。

2.2 同样将dist复制到linux之中。

linux服务器中需要装载redis以及nginx,redis是存放缓存数据,nginx是用于代理前后端服务。

3.1 安装redis并启动。

3.2 安装nginx并修改相关配置。

找到nginx所在目录,并修改conf/nginx.conf文件,修改如下图:

d26329104f08feaa89fbf31ef5d053cb.png

代码:

worker_processes  1;events {    worker_connections  1024;}http {    include mime.types;    default_type application/octet-stream;    sendfile on;    keepalive_timeout 65;  server {    listen 80; # 监听的端口    server_name 自己的服务器地址; # 域名或ip        location / {  # 访问路径配置      root /usr/local/ruoyi/dist/;# 根目录      try_files $uri $uri/ /index.html;      index index.html index.htm; # 默认首页    }            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://localhost:8080/;    }         }}

4. 启动jar包,并启动nginx,在windows浏览器中直接输入ip即可访问。

    4.1 jar后台启动,后台启动的话可以进行其他操作,否则将无法进行其他操作。

nohup java -jar jarName >msg.log 2>&1 &

msg.log文件是在输入上一行启动命令的当前目录下

5. 有的小伙伴可能第一次打包放上去没问题,但是后期修改了一些文件或者菜单等,再部署上去可能会遇到菜单打不开之类的问题

6485e0f1e29960ed18e0a48bc4c38bc1.png

不要慌,只要修改vue.config.js文件里面的配置就好,如下图,去掉/之前的.即可

26895447eedb554eba8dbbdbfc4a3f7d.png

二:部署windows + tomcat(无nginx)

1. 修改pom文件,改jar为war:

19e50eafc53518c47229a80b58886aa4.png

打包成war包之后直接复制到windows中的tomcat的webapps目录下,并修改名称为prod-api,类似部署在linux中需要修改nginx.conf的配置。

将vue项目打包并把dist文件复制到tomcat的webapps目录下。

修改tomcat目录下的conf文件夹下的service.xml:

4.1 启动端口为后台的启动端口

4.2 在host节点下添加对应的访问路径配置代码

858e146db855f20aee3d4243b0f0fe34.png

<Context path="/" docBase="dist的绝对路径(也可以写相对于webapps的路径)" reloadable="true" crossContext="true">Context>

如果不添加此处代码,登录是可以的,但是登陆之后是空白页,因为在本地的运行的项目是类似ip:端口/router地址的,如果不修改,将会导致前面所说的问题。(不知道说的对不对,个人猜想)

启动tomcat,输入ip:端口即可。

以上操作之后刷新页面的话会存在404错误,所以需要在dist目录的文件夹下新建WEB-INF文件夹,并在里面添加web.xml文件:

web.xml文件代码如下:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee        http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"        version="3.1" metadata-complete="true">     <display-name>Router for Tomcatdisplay-name>     <error-page>        <error-code>404error-code>        <location>/index.htmllocation>    error-page>web-app>

三:解决调用第三方api如百度地图api所存在的跨域问题

84bffa2bb9f0fa0458ec7e544f0cdcb4.png

Logo

快速构建 Web 应用程序

更多推荐