【项目实践】公寓租赁项目(十三):项目部署

目录

一、部署方案

二、配置域名映射

三、后端部署

1. 打包

2. 安装JDK

2.1 获取JDK安装包

2.2 解压JDK安装包

2.3 把JDK配置到环境变量

2.4 测试JDK安装效果

3. 部署

3.1 上传jar包

3.2 集成Systemd

        3.2.1 移动端集成Systemd

        3.2.2 后台管理系统集成Systemd

3.3 启动项目

四、前端部署

1. 打包

1.1 修改前端请求后端接口的地址

1.2 构建项目

1.3 查看打包结果

2. 部署

2.1 上传dist文件

2.2 编辑Nginx配置文件

2.3 重新加载Nginx配置文件

2.4 访问项目


一、部署方案

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


如图所示,在server02上部署Nginx作为前端服务器和反向代理。当移动端或后台管理系统请求静态资源时,server02则响应静态资源返回。如果是请求接口数据即动态资源,Nginx则反向代理请求后端服务。


二、配置域名映射

现实生活中,几乎所有的网站都是通过域名去访问。真正的域名需要付费购买,此处在宿主机本地配置一下域名映射,模拟一下域名的效果即可。

我们准备两个域名lease.atguigu.comadmin.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-adminweb-app模块的target目录下找到web-admin-1.0-SNAPSHOT.jarweb-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配置文件的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值