前后端分离项目在云服务器上的部署(Spring Boot + Vue)

目录

1.服务器的环境准备

(1)redis

(2)nginx

2.前端项目部署

(1)打包前端项目

(2)修改nginx的配置文件

3.后端项目部署

(1)打包后端项目

(2)云服务器运行


1.服务器的环境准备

(1)redis

在云服务器上配置redis环境(OpenCloudOS)-CSDN博客

(2)nginx

在官网下载好压缩包上传到服务器当中:

解压后会出现第二个文件夹ngnix-1.23.3

输入

复制代码
./configure

这样就算完成了

然后编译安装nginx:

复制代码
make&&make install

运行完这行命令之后,会在/usr/local/目录产生一个nginx文件夹

进入nginx文件夹之后如图:

进入nginx的/sbin目录下运行:

复制代码
./nginx

通过ip地址+端口号(默认80)的方式访问:

出现这个页面说明运行成功了

2.前端项目部署

(1)打包前端项目

修改vue.config.js当中的url:按照自己的ip和后端的springboot端口修改

在vscode中运行命令:

复制代码
npm run build:prod

运行成功之后会在项目文件夹目录里面生成打包好的文件夹dist

在云服务器中创建目录:/usr/local/src/myLibrary/

把打包好的dist文件夹放到里面

(2)修改nginx的配置文件

按照部署需要修改配置文件:

复制代码
worker_processes  1;


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       80;
        server_name  106.55.104.210;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        # 前端静态文件
        location / {
            root   /usr/local/src/myLibrary/dist;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;  # 解决 Vue 路由问题
        }

        # 后端 API 代理 - 将 /prod-api/ 转发到 Spring Boot
        location /prod-api/ {
            proxy_pass http://127.0.0.1:8282/;  # 转发到 Spring Boot
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            
            # 增加超时设置
            proxy_connect_timeout 30s;
            proxy_send_timeout 30s;
            proxy_read_timeout 30s;
        }

        
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   404 =200 /index.html;
        location = /50x.html {
            #root   html;
            root /usr/local/src/myLibrary/dist;
        }

    }
}

重启nginx让配置生效,

然后再用ip地址+端口的形式访问:

前端就部署完了

3.后端项目部署

(1)打包后端项目

修改配置文件:

把原来的图片路径改一下,去掉D:前缀,云服务器没有D盘,改到根目录下

修改数据库的用户名和密码,改成云服务器的

用Maven打包:双击install

命令执行无误之后会在项目根目录下生成target文件夹,jar包就在里面。

把jar包放到云服务器的目录下(自己按需创建)

(2)云服务器运行

然后进入到这个目录下运行命令:

复制代码
nohup java -jar ai_community-1.0-SNAPSHOT.jar nohup.out &

这个命令可以让springboot项目在后台运行,并且日志产生到该目录下的nohup.out当中

nohup.out如图:

springboot项目能够启动的话,访问前端页面:

输入账号密码验证码之后登录:

项目就部署完成了

相关推荐
wheeldown9 小时前
【Linux】 Linux网络编程入门:Soket编程详解
linux·运维·网络
卓怡学长9 小时前
m111基于MVC的舞蹈网站的设计与实现
java·前端·数据库·spring boot·spring·mvc
好学且牛逼的马17 小时前
【工具配置|docker】
运维·docker·容器
文言一心18 小时前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
北邮刘老师19 小时前
A3C Network:智能体互联网的层次化视图
运维·服务器·网络
XRJ040618xrj19 小时前
如何在Linux中根据物理网卡建立虚拟网卡
linux·服务器·网络
空中楼阁,梦幻泡影19 小时前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
晚风吹长发19 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
Le_ee20 小时前
dc4打靶报告
运维·服务器·网络
yeflx20 小时前
解决Ubuntu22.04宿主机docker容器中nvidia-smi偶发失效问题
运维·docker·容器