云服务器部署项目(Ubuntu24版本系统)纯命令,前后端分离
2026/6/13 4:16:05 网站建设 项目流程

1.购买云服务器

购买好服务器以后,找到控制台,找到对应的服务器,复制好公网IP,如图:

2.安装系统

我的系统是Ubuntu24,如果你的不是这个系统或者你之前使用了宝塔,或者使用其他系统,(在购买云服务器的平台找到重装系统,进去以后选择自己要的系统)

3.远程连接服务器


文件传输部分(文件管理器):我使用WinSCP,点击新增站点,主机名的地方填写服务器公网IP,用户名和密码地方也要和服务器里面一样,(如果不记得了,购买服务器的地方,找到对应的服务器,点击重置密码)

点击登录以后会的到这个页面:

我一般将前端后端的文件放到/var/www目录下(在这个目录下可以给每个项目新建一个文件夹,里面就放前端后端还有Niginx配置文件)

远程连接 Linux 服务器,我使用的Xshell,添加的时候也是和WinSCP,(一样填写主机名,用户名,密码)

登录成功以后会显示绿色的小点

4.安装需要使用的软件

安装并检查JDK

(根据自己需要使用什么版本的安装)

sudo apt install -y openjdk-11-jdk java -version # 确认输出有 openjdk version "11"

安装Node.js

(根据自己的需求安装版本)

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs node -v # 确认输出 v18.x npm -v # 确认输出

安装Niginx

sudo apt install -y nginx nginx -v # 确认输出 nginx version

安装Mysql(服务器的防火墙添加它的默认端口3306):

sudo apt install -y mysql-server sudo systemctl enable mysql sudo systemctl start mysql mysql --version # 确认输出

初始化数据库可设置root密码:

sudo mysql_secure_installation

数据库安装完成以后使用:

登录
mysql -u用户名 -p密码

看是否登录成功,如果没有登录成功:

如果你能用 sudo mysql 进去,执行下面命令,把 root 用户认证方式从 auth_socket 改为 mysql_native_password 并设置密码为 123456:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;

在重新登录:

mysql -u root -p # 输入123456

登录成功以后,证明密码和用户都正确了

mysql文件导入

现在使用navcat远程连接数据库:

首先需要修改mysql的配合文件:

修改完成以后:重启动mysql服务:

# Ubuntu/Debian sudo systemctl restart mysql

回到navicat,新建连接(主机天服务器的ip,用户名和密码填服务器mysql里面设置的):

完成以后,在里面创建后端填的数据库名字,然后在导入spl文件即可

安装Rides(服务器的防火墙添加它的默认端口6379):

sudo apt install -y redis-server sudo systemctl enable redis-server sudo systemctl start redis-server redis-server --version # 确认输出

5.项目配置与打包

前端部分

我们需要注意的是配置代理的部分(这里需要注意):

这里的后端接口还需要与后端的接口一直(都是8086)

完成以后打开终端进行打包
我的打包命令是:

npm run build

打包命令看自己的package.json文件,对应的命令

后端部分(服务器的防火墙添加它的端口8806)

文件上传:

现在回到winSCP里面,连接你要部署的这一台服务器,连接成功以后

找到要放当前项目的路径,创建一个单独的文件夹,放整个文件的资源:

6.配置Niginx文件

编辑Niginx配置文件

sudo nano /var/www/equipment.conf #或者 sudo vim /var/www/equipment.conf

进入界面以后(服务器的防火墙添加它的端口81,添加过就不用在添加):

server { listen 81; listen [::]:81; server_name 自己服务器IP地址; # 静态资源配置 location /assets/ { root /var/www/equip/dist; expires 1y; add_header Cache-Control "public, immutable"; } location /favicon.ico { root /var/www/equip/dist; } location / { root /var/www/equip/dist; try_files $uri $uri/ /index.html; index index.html index.htm; # HTML 文件不缓存 add_header Cache-Control "no-cache, no-store, must-revalidate"; add_header Pragma "no-cache"; add_header Expires 0; } location ^~ /api/ { proxy_pass http://127.0.0.1:8086/; rewrite ^/api/(.*)$ /$1 break; proxy_connect_timeout 600s; proxy_send_timeout 600s; proxy_read_timeout 600s; send_timeout 600s; } # 可选:开启 gzip 压缩(如果需要) gzip on; gzip_static on; gzip_comp_level 6; gzip_types text/plain text/css text/javascript application/javascript application/json application/xml text/xml image/svg+xml; gzip_min_length 1024; gzip_proxied any; gzip_vary on; gzip_disable "msie6"; }

图片说明

创建软链接:

sudo ln -s /var/www/equipment.conf /etc/nginx/conf.d/equipment.conf

检查软链接是否成功:

ls -l /etc/nginx/conf.d/

测试文件语法:

sudo nginx -t

重载niginx让新配置生效:

sudo systemctl reload nginx

7.运行jar包:

先使用jar命令,查看是否可以运行成功:

/usr/lib/jvm/java-17-openjdk-amd64/bin/java -jar /var/www/equip/equipment-1.0-SNAPSHOT.jar --spring.config.location=/var/www/equip/equipment.properties

使用最佳systemd 服务文件

用编辑器新建服务描述文件

sudo vim /etc/systemd/system/newstudy.service
[Unit] Description=Spring Boot Equipment Service After=network.target [Service] User=ubuntu WorkingDirectory=/var/www/equip ExecStart=/usr/lib/jvm/java-17-openjdk-amd64/bin/java -jar /var/www/equip/equipment-1.0-SNAPSHOT.jar SuccessExitStatus=143 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target

如图需要注意的地方(User=ubuntu用哪个系统用户来运行服务

  1. 重载 systemd 配置:
    sudo systemctl daemon-reload
  2. 启动服务:
    sudo systemctl start newstudy
  3. 查看状态:
    sudo systemctl status newstudy
  4. 设置开机自启(可选):
    sudo systemctl enable newstudy

8.服务器防火墙设置:

所有使用到的端口都需要开防火墙

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询