RuoYi-Vue 前后端分离

前端项目的打包部署

因为linux服务器太垃圾,就在win下打包的,安装了nodejs,安装教程参考,正常安装,结束后记得加一条环境变量Path:D:\environment\nodejs\node_global\
进入项目目录
cd ruoyi-ui

运行npm install下载依赖 安装
npm install --registry=https://registry.npm.taobao.org
如果出现报错,可以使用
yarn instal 安装

打生产环境的包
npm run build:prod若依环境使用手册.docx

部署:
把dist文件夹放在服务器上,然后利用nginx部署,

  1. server {
  2. listen 443 ssl;
  3. server_name ljpwy.com;
  4. ssl_certificate /usr/local/nginx/cert/www.ljpwy.com.pem;
  5. ssl_certificate_key /usr/local/nginx/cert/www.ljpwy.com.key;
  6. ssl_session_cache shared:SSL:1m;
  7. ssl_session_timeout 5m;
  8. ssl_ciphers HIGH:!aNULL:!MD5;
  9. ssl_prefer_server_ciphers on;
  10. location / {
  11. #配置路径 即存放前端项目的文件夹
  12. root /usr/local/webspace/dist;
  13. index index.html index.htm;
  14. #配置刷新404问题的
  15. try_files $uri $uri/ /index.html;
  16. }
  17. location /prod-api/ {
  18. #转发前端的请求去后端的请求头
  19. proxy_set_header Host $http_host;
  20. proxy_set_header X-Real-IP $remote_addr;
  21. proxy_set_header REMOTE-HOST $remote_addr;
  22. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  23. #要转发的后端请求的路径 也就是tomcat的位置
  24. proxy_pass http://ljpwy.com:8080/;
  25. }
  26. }
  27. server {
  28. listen 80;
  29. server_name ljpwy.com; #你的域名,需要将域名解析
  30. #这里是http转发https的路径
  31. rewrite ^(.*) https://$server_name$1 permanent;
  32. }

可以参考

后端项目的打包部署

打包:jar包的话修改pom.xml 然后依次将其依赖的包都install,然后再package,都是利用maven,得到jar包,jar包放到服务器上,
通过 java -jar <你的项目名>启动项目,即可。
war包的话是利用服务器的tomcat发布,此时,将项目的web-stater里面的tomcat移除,

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. <exclusions>
  5. <exclusion>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-tomcat</artifactId>
  8. </exclusion>
  9. </exclusions>
  10. </dependency>

如此即可。
此外,还需要重写主启动类,继承SpringBootServletInitiailzer类,复写configure()方法。

jar包和war包启动区别

  1. jar包:执行**SpringBootApplication**的run方法,启动IOC容器,然后创建嵌入式Servlet容器<br /> war包: 先是启动Servlet服务器,服务器启动Springboot应用(**springBootServletInitizer**),然后启动IOC容器
  1. /**
  2. * @author ljp
  3. * @date 12/28/2021
  4. */
  5. public class SpringBootStartApplication extends SpringBootServletInitializer {
  6. @Override
  7. protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
  8. return builder.sources(RuoYiApplication.class);
  9. }
  10. }

如此再加上前面配置的nginx即可完美运行。
nginx配置

  1. server {
  2. listen 443 ssl;
  3. server_name ljpwy.com;
  4. ssl_certificate /usr/local/nginx/cert/www.ljpwy.com.pem;
  5. ssl_certificate_key /usr/local/nginx/cert/www.ljpwy.com.key;
  6. ssl_session_cache shared:SSL:1m;
  7. ssl_session_timeout 5m;
  8. ssl_ciphers HIGH:!aNULL:!MD5;
  9. ssl_prefer_server_ciphers on;
  10. location / {
  11. root /usr/local/webspace/dist;
  12. index index.html index.htm;
  13. try_files $uri $uri/ /index.html;
  14. }
  15. location /prod-api/ {
  16. proxy_set_header Host $http_host;
  17. proxy_set_header X-Real-IP $remote_addr;
  18. proxy_set_header REMOTE-HOST $remote_addr;
  19. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  20. proxy_pass http://ljpwy.com:8080/;
  21. }
  22. }
  23. server {
  24. listen 80;
  25. server_name ljpwy.com; #你的域名,需要将域名解析
  26. rewrite ^(.*) https://$server_name$1 permanent;
  27. }