目录
一、部署方案
准备两台虚拟机,一台部署后端项目(server01),一台部署前端项目(server02)。

如图所示,在server02上部署Nginx作为前端服务器和反向代理。当移动端或后台管理系统请求静态资源时,server02则响应静态资源返回。如果是请求接口数据即动态资源,Nginx则反向代理请求后端服务。
二、配置域名映射
现实生活中,几乎所有的网站都是通过域名去访问。真正的域名需要付费购买,此处在宿主机本地配置一下域名映射,模拟一下域名的效果即可。
我们准备两个域名lease.atguigu.com和admin.lease.atguigu.com,前者用于访问移动端网站,后者用于访问后台管理系统。由于两个前端项目都部署在server02上,所以两个域名均指向server02的IP。
Windows的域名映射配置文件位于C:\Windows\System32\drivers\etc\hosts,需要使用管理员身份修改。使用管理员身份运行任意文本编辑器,然后使用其打开hosts文件,并增加如下内容:
192.168.10.102 lease.atguigu.com admin.lease.atguigu.com
三、后端部署
1. 打包
使用IDEA的maven插件对项目进行打包,完成后,在web-admin和web-app模块的target目录下找到web-admin-1.0-SNAPSHOT.jar和web-app-1.0-SNAPSHOT.jar。
2. 安装JDK
2.1 获取JDK安装包
wget https://download.oracle.com/java/17/archive/jdk-17.0.8_linux-x64_bin.tar.gz
2.2 解压JDK安装包
将JDK解压到/opt目录。
tar -zxvf jdk-17.0.8_linux-x64_bin.tar.gz -C /opt
2.3 把JDK配置到环境变量
在/root目录下,使用以下命令进入环境变量配置文件下。
vim ./.bash_profile
插入以下内容:
JAVA_HOME的路径要跟自己的路径一样。
#JAVA_HOME
export JAVA_HOME=/opt/jdk-17.0.8
export PATH=$JAVA_HOME/bin:$PATH

刷新配置文件:
source ./.bash_profile
2.4 测试JDK安装效果
java -version

3. 部署
3.1 上传jar包
将后端项目的两个jar包上传到server01服务器的/opt/lease目录下,若目录不存在,自行创建即可。
3.2 集成Systemd
为方便项目的启动、停止或者重启,我们同样使用Systemd来管理后端服务的进程。
3.2.1 移动端集成Systemd
vim /etc/systemd/system/lease-app.service
[Unit]
Description=lease-app
After=syslog.target[Service]
User=root
ExecStart=/opt/jdk-17.0.8/bin/java -jar /opt/lease/web-app-1.0-SNAPSHOT.jar 1>/opt/lease/app.log 2>&1
SuccessExitStatus=143[Install]
WantedBy=multi-user.target
3.2.2 后台管理系统集成Systemd
vim /etc/systemd/system/lease-admin.service
[Unit]
Description=lease-admin
After=syslog.target[Service]
User=root
ExecStart=/opt/jdk-17.0.8/bin/java -jar /opt/lease/web-admin-1.0-SNAPSHOT.jar 1>/opt/lease/admin.log 2>&1
SuccessExitStatus=143[Install]
WantedBy=multi-user.target
3.3 启动项目
systemctl start lease-app
systemctl start lease-admin
四、前端部署
1. 打包
1.1 修改前端请求后端接口的地址
因为前端请求后台接口时走的是Ngxin反向代理,也就是请求的地址为http://lease.atguigu.com。
所以我们需要修改.env.production文件中的VITE_APP_BASE_URL环境变量的值。
VITE_APP_BASE_URL='http://lease.atguigu.com'
1.2 构建项目
npm run build
1.3 查看打包结果
观察项目的根目录是否出现dist目录。
2. 部署
2.1 上传dist文件
将移动端项目编译得到dist文件上传至server02服务器的/usr/share/nginx/html/app目录下。
2.2 编辑Nginx配置文件
创建/etc/nginx/conf.d/app.conf文件。
vim /etc/nginx/conf.d/app.conf
把以下内容添加至app.conf。
server {
listen 80;
server_name lease.atguigu.com;
location / {
root /usr/share/nginx/html/app;
index index.html;
}
location /app {
proxy_pass http://192.168.10.101:8081;
}
}
2.3 重新加载Nginx配置文件
systemctl reload nginx
2.4 访问项目
注:后台管理系统操作如上。不同的是后端接口地址、部署目录结构和Nginx配置文件的内容。
600

被折叠的 条评论
为什么被折叠?



