场景

若依官网:

http://doc.ruoyi.vip/

前提:

服务器上安装Mysql,并将数据库导入,在SpringBoot中的application-druid.yml配置mysql数据库连接。

服务器安装Redis服务端,并在application.yml中配置连接。

具体可以参照:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107486313

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

后端部署

首先将后台项目进行打包,在application.yml配置后台端口,这里是8080。

然后在IDEA中将后台系统打成jar包,然后将jar包复制到服务器上,然后运行后台jar包。

这块比较简单,可以具体参照下面的官网教程。

后端部署
bin/package.bat 在项目的目录下执行
然后会在项目下生成 target文件夹包含 war 或jar (多模块生成在ruoyi-admin)

1、jar部署方式
使用命令行执行:java –jar ruoyi.jar 或者执行脚本:bin/run.bat

2、war部署方式
pom.xml packaging修改为war 放入tomcat服务器webapps

提示

SpringBoot去除内嵌tomcat

<!-- 多模块排除内置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>
<!-- 单应用排除内置tomcat -->
<exclusions><exclusion><artifactId>spring-boot-starter-tomcat</artifactId><groupId>org.springframework.boot</groupId></exclusion>
</exclusions>

这里推荐使用Nginx代理的方式,所以需要将其打成jar包运行的方式,不用再搭建Tomcat运行war包。

最终将后台项目运行之后,访问后台接口

http://localhost:8080/captchaImage

此接口是登录时的验证码接口,是不需要权限验证的。

对应的后台接口位置

com.ruoyi.project.common下的CaptchaController

设置此接口放开不需要验证的配置的地方

部署成功后台项目后访问验证码接口如果出现以下界面则是部署成功

前端部署

这里是用VSCode作为前端的IDE,首先打开前端项目的vue.config.js

找到devServer下的proxy代理部分

这里的target是代理的请求后台的接口,对应上面部署的后台接口的url,下面还有一个路径重写,添加了一个

process.env.VUE_APP_BASE_API]:

此路径的配置在

所以在使用

npm run dev

运行项目时,请求都会被代理到你设置的localhost:8080/dev-api下

所以要保证你在自己的本地运行前端项目和后台项目后能代理成功,即本地的前端能访问到本地的后台接口。

接下来将前端打包。

首先打包之前确保已经安装完依赖项,即

npm install 成功且没问题。

然后打开vue.config.js

首先将上面的这个端口改为你要在打包后访问的端口,即使用nginx代理前的接口。

这个端口默认是80端口,这里把其修改为不会冲突的70端口,不推荐使用80端口。

因为80端口是默认端口在部署到服务器上和下面启动nginx可能存在占用等问题。

除了这个70端口外,下面的target的url和端口要和你服务器上能访问到后台的接口一致。

然后在VSCode中新建终端,或者在前端项目下打开cmd

 npm run build:prod

进行前端项目的打包

打包前端成功之后

此时会在项目目录下生成dist目录

此目录就是打包之后的前端的资源。

然后将此dist目录放在服务器上的某个目录下,下面使用Nginx代理会用

不要动dist下文件的路径

下载安装Nginx

Nginx下载地址

http://nginx.org/en/download.html

这里点击相应版本的Windows版本

下载之后是一个压缩包,将其解压到服务器上的某个目录

Nginx代理配置

进入到上面解压的conf目录下,编辑Nginx的配置文件nginx.conf

找到server节点

首先这里的listen下的端口就是代理前的接口,要与前面前端项目的vue.config.js中的端口一致。

    server {listen       70;server_name  10.229.36.158;

然后下面的server_name是你服务器的ip,这里即使是使用的本地也建议不要用localhost,避免修改hosts文件导致的问题。

所以这里就直接设置你要部署项目的服务器的ip。

然后下面的location /下面配置的就是代理前前端静态资源的路径等。

root 对应的就是在服务器上前端资源的dist目录的全路径,即代表根路径。

下面的两个配置保持默认不要更改,配置的是防止404和入口页面。

        location / {root   D:/www/kaoqin/dist/;try_files $uri $uri/ /index.html;index  index.html index.htm;}

然后再下面的location /prod-api/ 就是配置的代理后的地址。

  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/;}

这里的 /prod-api/就是跟前面前端项目设置代理的路径重写一致。

下面的一些是设置请求头等,防止出现跨域问题。

然后最下面的proxy_pass就是设置的代理后的地址,即你的服务器上后台接口的url。

通过上面两个配置就能实现在服务器上所有的请求

只要是通过

http://10.229.36.158/70/dev-api/

发送过来的请求全部会被代理到

http://localhost:8080/

下。这样就能实现前后端项目的请求代理。

完整conf代码

#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       70;server_name  10.229.36.158;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   D:/www/kaoqin/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/;}# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}}

启动Nginx

来到上面Nginx解压之后的目录下(服务器上)即含有nginx.exe的目录下,在此处打开命令行

start nginx.exe

启动nginx

如果对nginx的配置文件进行修改的话

nginx -s reload

如果没配置环境变量或者提示不行的话前面使用nginx.exe的全路径。

正常停止或关闭Nginx

nginx -s quit

启动Nginx成功后打开浏览器验证,输入

http://10.229.36.158:70/

如果能出现页面,即对应的前端静态资源的index.html的页面,并且能显示验证码,验证码是通过代理后的

后台接口获取。那么就是代理成功,记住不要关闭此nginx的命令行。

如果访问服务器上的地址不成功后检查70端口是否开放

控制面板-防火墙-高级设置

入站规则-新建规则-端口,添加70

点击下一步

选择允许连接

配置连接域点击下一步

设置名称点击保存。

若依前后端分离版本,Windows下使用Nginx代理的方式进行部署(全流程,图文教程)相关推荐

  1. 若依框架入门搭建(前后端分离版本)-重点IDEA 、Navicat、sql、node、redis、windows11

    一直想搭一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的.于是利用空闲休息时间开始自己搭了一套后台系统(基于windows11系统). 官方网站文档用Eclipse搭建,官方只用简单的几 ...

  2. RuoYi-Vue 部署 Linux环境 若依前后端分离项目(jar包+nginx 多机版本)

    接上一篇:RuoYi-Vue 部署 Linux环境 若依前后端分离项目(jar包+nginx 单机版本) 前端和后端不在一个服务器上,如何部署呢? 文章目录 1. 服务器和软件部署 2. 后端部署 3 ...

  3. RuoYi-Vue 部署 Linux环境 若依前后端分离项目(jar包+nginx 单机版本)

    文章目录 一.软件安装部署 1. 安装jdk 2. mysql8安装部署 3. redis安装 4. nginx 安装部署 5. 克隆项目 二.后端项目 2.1. 修改数据库连接 2.2. 修改Red ...

  4. 若依前后端分离版本集成Mybatis-plus

    若依前后端分离版本集成Mybatis-plus 一.为什么要集成Mybatis-plus 简介 特性 二.集成Mybatis-plus 导入依赖 修改application.yml 配置文件 修改se ...

  5. 若依前后端分离版本集成CAS Server5.3

    前言 此次项目向使用RuoYi-Vue版本做开发,需要进行单点登录,在做完一次集成后形成了这篇文章,有不足之处望请谅解.因为前后端分离版本和不分离版本有区别集成方式也不太一样,主要区分是在单点登录退出 ...

  6. 前后端分离开发模式下后端质量的保证 —— 单元测试

    概述 在今天, 前后端分离已经是首选的一个开发模式.这对于后端团队来说其实是一个好消息,减轻任务并且更专注.在测试方面,就更加依赖于单元测试对于API以及后端业务逻辑的较验.当然单元测试并非在前后端分 ...

  7. ultraedit 运行的是试用模式_单元测试 —— 前后端分离开发模式下后端质量的保证...

    概述 在今天, 前后端分离已经是首选的一个开发模式.这对于后端团队来说其实是一个好消息,减轻任务并且更专注.在测试方面,就更加依赖于单元测试对于API以及后端业务逻辑的较验.当然单元测试并非在前后端分 ...

  8. 若依前后端分离版本如何使用Swagger

    对于若依前后端分离版本,我们应该如何使用Swagger在线接口文档呢? 目录 一.访问接口文档地址 二.修改后端配置文件 三.获取登录token

  9. Nodejs搭建前后端分离开发模式下的微信网页项目

    原文链接:<Nodejs搭建前后端分离开发模式下的微信网页项目>- 陈帅华 本文涉及对前后端分离及微信网页项目中的前端如何在本地环境中开发与调试的思考. 主要问题 1.如何配置微信公众平台 ...

最新文章

  1. Linux Centos 上一些常用的命令
  2. vue 请求多个api_vue 一个input同时请求两个接口
  3. 某化大学,教授亲自手把手,从零基础交我们Python利用开发公众号
  4. ie浏览器打开aspx文件乱码_ie浏览器下载文件时文件名乱码
  5. 哪个html元素指定了页面描述,网页的设计HTML元素属性2.doc
  6. linux挂载硬盘作用,Linux(挂载) mount umount作用
  7. 解决miner.start() 返回null
  8. 技巧:让Eclipse或Flex Builder 支持自动换行。(转)
  9. c语言随机抽奖小程序,基于C#实现简单的随机抽奖小程序
  10. 中兴java笔试_最新中兴Java语言笔试真题及答案
  11. 手游外挂入侵(一)某助手加速器实现原理探究
  12. 英语语法基础03(长难句)
  13. SQL :Date 函数
  14. 2022最新版40个前端练手项目【附视频+源码】
  15. VLC2.2.4命令参数
  16. 王阳明:<二> 立志,勤学,改过,责善
  17. WebSphere管理控制台端口号如何查看
  18. make px4fmu-v2_default报错:ninja:no work to do
  19. 操作系统课设——编程演示三种管理方式的地址换算过程
  20. 大数据应用安全研究报告

热门文章

  1. spss主成分综合得分_【2020.】这种主成分得分图SPSS能够实现吗?
  2. linux安装配置jdk1.8
  3. php ci提交表单验证,ci表单验证代码
  4. linux管道原子性写入,write(2)/ read(2)linux中进程之间的原子性
  5. linux+dhcp服务的安装包,服务器_Linux教程:配置DHCP服务器方法介绍,  1.安装dhcp软件包 #rpm nd - phpStudy...
  6. Mysql 和oracle的区别
  7. 新闻系统粗略说明文档
  8. hadoop namenode启动不了_Hadoop框架:HDFS高可用环境配置
  9. java的逻辑结构_Java的逻辑结构
  10. 安装百分之80卡住_新车买回来要不要安装发动机护板呢?装好还是不好?