JAR部署方案 === >[info] Version: 2.4+ 版本 [TOC] ## 正式环境部署 >[info] - 后端服务通过JAR方式运行 > - 前端项目build的dist,部署到nginx ### 一、jeecg-boot项目打JAR包 - 1、修改配置文件 application-prod.yml >[warning] 修改 数据库连接、缓存redis、上传附件等配置 ![输入图片说明](https://static.oschina.net/uploads/img/201904/14221455_vj7T.png "在这里输入图片标题") - 2、切换Maven为生产模式 ![](https://img.kancloud.cn/a6/87/a68768ca5981c98b14654ae1a0837347_258x133.png) - 3、通过jeecg-boot-parent打包 ![](https://img.kancloud.cn/81/5c/815c14f07fdd79b1a2918d7f994183f1_292x257.png) - 4、拿到 `jeecg-boot-module-system-{版本号}.jar` 包 ![](https://img.kancloud.cn/c4/03/c403dd1fa9ec587a801a9d0ea46023e1_406x340.png) ### 二、通过JAR方式启动后台 通过命令启动项目 ``` Window启动命令: java -jar D:\jeecg-boot-module-system-2.0.0.jar Linux下后台进程启动命令: nohup java -jar jeecg-boot-module-system-2.0.0.jar >catalina.out 2>&1 & 关掉项目: ps -ef|grep java kill 进程号 ``` ### 三、前台项目build打包 - 1、修改接口地址配置 ` .env.production` ``` NODE_ENV=production VUE_APP_API_BASE_URL=https://bootapi.jeecg.com VUE_APP_CAS_BASE_URL=http://localhost:8888/cas VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview ``` - 2、build打包 使用build命令打包项目 ![输入图片说明](https://static.oschina.net/uploads/img/201901/30163255_iNMZ.png "在这里输入图片标题") build完成后 ,会生成一个dist的目录。 - 3、nginx部署前端项目 拷贝dist下的代码到nginx安装目录下html目录中,即可 ### 四、nginx配置(conf/nginx.conf) nginx监听80端口 ``` server { listen 80; server_name 你的域名; #后台服务配置,配置了这个location便可以通过http://域名/jeecg-boot/xxxx 访问 location ^~ /jeecg-boot { proxy_pass http://127.0.0.1:8080/jeecg-boot/; proxy_set_header Host 127.0.0.1; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 location / { root html; index index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.html?s=$1 last; break; } } } ``` 提醒: 有的版本nginx配置需要加上 Upgrade 和Connection 协议头,不然WebSocket会404 ### 五、访问应用 通过:http://你的域名 访问项目,出现如下页面,使用账户/密码:admin/123456 登录成功即可 ![](https://img.kancloud.cn/b5/7f/b57f05022451900c30660953965b428e_919x893.png) ### 六、其他说明 服务器只能开放80端口,不能开放8080端口问题? > 方案:单独配置一个java api的服务域名 例如 `api.jeecg.com`,通过ngnix映射此域名到8080端口 > vue前端配置接口到域名`api.jeecg.com`。