超详细部署教程

一.配置云服务器环境

1.安装 Java 环境(jdk)

本地下载jdk17,然后进入到服务器上传


cd /usr/local
tar -zxvf /usr/local/jdk-17.0.12_linux-x64_bin.tar.gz 
mv /usr/local/jdk-17.0.12 /usr/local/jdk17

配置环境变量

vi /etc/profile

打开后按一下 i 进入编辑模式(左下角会显示 -- INSERT --)

//jdk17 环境变量配置 

export JAVA_HOME=/usr/local/JDK17
export PATH=$JAVA_HOME/bin:$PATH

按ESC退出编辑,输入:wq回车,保存并退出

source /etc/profile

让配置立即生效

java -version

如果能输出版本信息就配置正确了

2.安装并配置数据库

安装MySQL

yum install -y mysql-server

启动并设置开机自启:

systemctl start mysqld
systemctl enable mysqld

安装Redis

yum install -y redis
systemctl start redis
systemctl enable redis

3.安装nginx

yum install -y nginx
systemctl start nginx
systemctl enable nginx

4.配置防火墙

打开80端口

firewall-cmd --permanent --add-port=80/tcp

重载防火墙生效

firewall-cmd --reload

二.构建云服务器的数据库(以宝塔面板为例)

新建数据库

导入.sql文件,可以从本地数据库导出相关数据

三.打包springboot项目到服务器上

1.打包后端项目

在idea上依次执行后会生成target目录

这个就是待会要上传的jar包

2.打包前端项目

进入到前端目录执行npm run build

这个就是待会要上传的dist目录了

3.上传项目

新建lostAndfound文件夹

新建front目录和java目录,然后分别将jar包放到java目录,dist文件夹放到front目录下即可

三.启动springboot项目

进入到java目录

cd /www/wwwroot/lostAndfound/java

启动jar包

nohup java -jar /www/wwwroot/lostAndfound/java/lost-found-system-1.0.0.jar > /www/wwwroot/lostAndfound/java/lost-found.log 2>&1

nohup:让项目在后台一直运行

java -jar:运行springboot打包好的jar项目

/www/wwwroot/lostAndfound/java/lost-found-system-1.0.0.jar:jar包的完整路径

>/www/wwwroot/lostAndfound/java/lost-found.log:项目的运行日志

2>&1:把错误日志也一起写到log文件里面

lost-found.log很重要,如果后续报错记得看日志

验证服务是否启动

ps -ef|grep java

如果输出jar包路径就正确了

四.nginx配置

在宝塔面板中找到软件商店→nginx→设置→配置文件​​​​​​​

server{
  listen 80;
  server_name 你的服务器IP或者域名;
  
  location / {
        root /www/wwwroot/lostAndfound/front/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
     }
  
  location /api/ {
          proxy_pass http://localhost:8080/;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;            
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

listen:nginx监听的端口

server_name:到时候在浏览器访问的地址

location / {...}:处理不是以/api开头的请求

root /www/wwwroot/lostAndfound/front/dist: 指定根目录

index index.html: 默认首页

try_files $uri $uri/ /index.html:前端路由处理,如果访问的路径不存在,统一返回index.html

location /api/ {...}:处理以/api开头的请求,将这些请求转发到后端服务

proxy_pass http://localhost:8080/:转发到后端服务器

proxy_set_header Host $host:设置请求头中的Host信息

proxy_set_header X-Real-IP $remote_addr:传递用户的真实 IP 地址

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for:记录代理链中的所有IP

易错点:

proxy_pass http://localhost:8080/和proxy_pass http://localhost:8080

方面

不带斜杆

带斜杠

路径处理

原样转发location路径

去掉location前缀转发

是否重写路径

不重写

重写

使用场景

location就是完整的路径前缀

location是代理前缀

proxy_pass http://localhost:8080/流程如下

前端请求:GET /api/auth/login→Nginx 匹配 location /api/→location 路径:/api/,请求路径:/api/auth/login,剩余路径:/auth/login (去掉 location 前缀)→转发给后端:GET http://localhost:8080/auth/login→后端接收:GET /auth/login

proxy_pass http://localhost:8080流程如下

前端请求:GET /api/auth/login→Nginx 匹配 location /api/→location 路径:/api/,请求路径:/api/auth/login→转发给后端:GET http://localhost:8080/api/auth/login→后端接收:GET /api/auth/login

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐