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部署,
server {listen 443 ssl;server_name ljpwy.com;ssl_certificate /usr/local/nginx/cert/www.ljpwy.com.pem;ssl_certificate_key /usr/local/nginx/cert/www.ljpwy.com.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {#配置路径 即存放前端项目的文件夹root /usr/local/webspace/dist;index index.html index.htm;#配置刷新404问题的try_files $uri $uri/ /index.html;}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;#要转发的后端请求的路径 也就是tomcat的位置proxy_pass http://ljpwy.com:8080/;}}server {listen 80;server_name ljpwy.com; #你的域名,需要将域名解析#这里是http转发https的路径rewrite ^(.*) https://$server_name$1 permanent;}
后端项目的打包部署
打包:jar包的话修改pom.xml 然后依次将其依赖的包都install,然后再package,都是利用maven,得到jar包,jar包放到服务器上,
通过 java -jar <你的项目名>启动项目,即可。
war包的话是利用服务器的tomcat发布,此时,将项目的web-stater里面的tomcat移除,
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency>
如此即可。
此外,还需要重写主启动类,继承SpringBootServletInitiailzer类,复写configure()方法。
jar包和war包启动区别
jar包:执行**SpringBootApplication**的run方法,启动IOC容器,然后创建嵌入式Servlet容器<br /> war包: 先是启动Servlet服务器,服务器启动Springboot应用(**springBootServletInitizer**),然后启动IOC容器
/*** @author ljp* @date 12/28/2021*/public class SpringBootStartApplication extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(RuoYiApplication.class);}}
如此再加上前面配置的nginx即可完美运行。
nginx配置
server {listen 443 ssl;server_name ljpwy.com;ssl_certificate /usr/local/nginx/cert/www.ljpwy.com.pem;ssl_certificate_key /usr/local/nginx/cert/www.ljpwy.com.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {root /usr/local/webspace/dist;index index.html index.htm;try_files $uri $uri/ /index.html;}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://ljpwy.com:8080/;}}server {listen 80;server_name ljpwy.com; #你的域名,需要将域名解析rewrite ^(.*) https://$server_name$1 permanent;}
