将项目部署在Windows下,部署参考以下链接
部署参考 项目:若依SpringCloud
一.下载安装Nginx
Nginx下载地址 http://nginx.org/en/download.html
二.Nginx代理配置
进入到上面解压的conf目录下,编辑Nginx的配置文件nginx.conf 1.首先这里的listen下的端口就是代理前的接口,要与前端项目的vue.config.js中的端口一致。
server {
listen 70;
server_name 10.229.36.158;
2.server_name是你服务器的ip,这里即使是使用的本地也建议不要用localhost,避免修改hosts文件导致的问题。 所以这里就直接设置你要部署项目的服务器的ip。
location / {
root D:/www/kaoqin/dist/;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
3.location /下面配置的就是代理前前端静态资源的路径等。 root 对应的就是在服务器上前端资源的dist目录的全路径,即代表根路径。 下面的两个配置保持默认不要更改,配置的是防止404和入口页面。
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/下。这样就能实现前后端项目的请求代理。
三.启动nginx
来到上面Nginx解压之后的目录下(服务器上)即含有nginx.exe的目录下,在此处打开命令行
start nginx.exe
如果对nginx的配置文件进行修改的话
nginx -s reload
正常停止或关闭Nginx
nginx -s quit
启动Nginx成功后打开浏览器验证,输入:http://127.0.0.1:70/ 如果能出现页面,即对应的前端静态资源的index.html的页面,并且能显示验证码,验证码是通过代理后的后台接口获取。那么就是代理成功,记住不要关闭此nginx的命令行。
四.实现开机自启动
一.首先需要将项目前后端分别打包,并把nacos和jar整理到同一个文件夹:testWindows,方便操作 二.用bat命令的方式,自启动项目,在此文件夹下添加bat和nginx.exe的快捷方式
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
启动的顺序会影响运行所以启动顺序为
- .mysql和redis 必须在jar包之前
- nacos
- 多个jar包
- nginx
三.两个bat文件的内容如下: 这些jar包之间不能有空格,有空格会导致运行到一半就不往下运行了, socialInsurance-JAR.bat
@echo off
D:
cd "D:\testWindows"
echo start nacos
start socialInsurance-NACOS.bat
TIMEOUT /T 10
start "auth" java "-Dfile.encoding=utf-8" -jar ruoyi-auth.jar
echo end auth
TIMEOUT /T 10
start "gateway" java "-Dfile.encoding=utf-8" -jar ruoyi-gateway.jar
echo end gateway
TIMEOUT /T 10
start "system" java "-Dfile.encoding=utf-8" -jar ruoyi-modules-system.jar
echo end system
TIMEOUT /T 10
pause
socialInsurance-NACOS.bat
@echo off
taskkill /f /im java.exe
title nacos
for /f "skip=3 tokens=4" %%i in ('sc query MYSQL') do set "zt=%%i" &goto :next
:next
if /i "%zt%"=="RUNNING" (goto 1)
if /i "%zt%"=="STOPPED" (goto 2)
:1
echo mysql is running......
echo nacos server start......
D:
cd D:\testWindows\nacos-socialInsurance\nacos\bin
startup.cmd -m standalone
:2
echo mysql server start
net start MYSQL
echo mysql server start successful,Nacos start in 10 seconds
ping 127.0.0.1 -n 10 >nul
D:
cd D:\testWindows\nacos-socialInsurance\nacos\bin
startup.cmd -m standalone
|