天天看点

若依前后端分离框架部署Linux服务器

若依前后端分离框架部署Linux服务器

第一次使用若依框架进行部署Linux服务器,出现了很多的问题,也可能是自身对若依框架的不太熟悉导致接下来说一下我的部署

第一步:首先我们把我们的前端打包,如果不会打包的话若依官网有详细的说明----->若依前后端分离官网部署文档,打包完毕后找到dist文件夹,把dist文件夹上传到Linux中,下一步的nginx配置中需要这一条路径。

第二步:Linux系统需要我们配置nginx,nginx中配置同一路径prod-api的统一前缀。1

nginx的nginx.config配置如下

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    
	server {
		listen 80; # 监听的端口
		server_name 自己的服务器地址; # 域名或ip
		
		location / {	# 访问路径配置
			root /usr/local/ruoyi/dist/;#若依的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/;
		}
	}
}

           

第三步:后台java代码打包

我这里打的是jar包,上传到Linux系统,然后运行jar包

nohup java -jar jar包名称 --server 端口号 >msg.log 2>&1 &
           

这条命令是运行jar包,设定运行后的端口号,后台运行,日志打印到msg.log;

第四步:我们现在测试一下链接是否可用

若依前后端分离框架部署Linux服务器

无法访问:但是发现在自己本地本地却能直接部署并且进行访问

看一下我们的url是prod-api,自己本地运行url是dev-api,这两个prod-api是正式部署后的,dev-api是自己本地测试的,应该是没什么问题才对,于是进行了百度,查到了之前有同样的问题,但是解决方法没有,只有若依作者大佬写的是缺token

若依前后端分离框架部署Linux服务器

这就有点难受,现在是登录都登陆不上去,然后用postman进行了无数次的测试,发现问题在prod-api上面,java后台接收的url如果直接是login的话能跑通,但是如果是prod-api/login的话就不行,于是乎改后台的前缀,但是偶然间发现了一个参数,在我们的application.yml里面有个参数context-path,里面可以设置一级前缀,那么直接给这个参数赋值prod-api,就解决了,然后重新把控制台进行打包,部署,发现我们跑通了

  1. prod-api是部署后的统一前缀,部署服务器之前在本地测试的话是dev-api ↩︎