【Jeecg Boot 3 - 第二天】2.1、nginx 部署 JEECGBOOT VUE3

一、场景

二、实战

▶  2.1、打包(build 前端)

>  Stage 1:修改配置文件 .env.production(作用:指向后端接口地址)

>  Stage 2:点击build(作用:打包,生成文件夹 dist)

▶  2.2、上传至nginx

>  Stage 1:将dist中的所有文件上传至nginx下html/jeecg

>  Stage 2:修改nginx配置文件

>  内容

>  Stage 3:修改 docker-compose.yaml(作用:服务器端口 - 容器端口 映射)

>  内容

▶  2.3、启动

>  Stage 1:启动 nginx

▶  2.4、验证

>  Stage 1:访问前端地址(http://XXX.XXX.XXX.XXX:9001/)


一、场景

  • 服务器:腾讯云-ECS

  • 容器技术:docker + docker-compose

  • web服务器:nginx (docker 容器)

  • 前端:Vue 3

  • 后端:JEECGBOOT 3.6 (上节已部署

  • 数据库:redis , mysql

  • 数据库:WebStorm 2022.1

二、实战

▶  2.1、打包(build 前端)

>  Stage 1:修改配置文件 .env.production(作用:指向后端接口地址)

>  Stage 2:点击build(作用:打包,生成文件夹 dist)

▶  2.2、上传至nginx

>  Stage 1:将dist中的所有文件上传至nginx下html/jeecg

>  Stage 2:修改nginx配置文件

  • 9001 :前端访问端口 (注意:这里的9001是nginx容器监听端口,所以下一步需要映射
  • 9200 :后端接口端口

>  内容
	server {
		listen       9001;
		server_name 0.0.0.0;
		#前端打的dist资源存放目录
		root		 html/jeecg/;
		
		location / {
			 # 用于配合 browserHistory使用
			 try_files $uri $uri/ /index.html;
		}
		
		location  /jeecgboot/ {
			#后台接口地址(我们部署去掉亿jeecg-boot项目名,如果你有请加上)
			proxy_pass         http://XXX.XXX.XXX.XXX:9200/jeecg-boot/;
			proxy_redirect off;
			#真实IP获取
			proxy_set_header  Host             $host;
			proxy_set_header  X-Real-IP        $remote_addr;
			set $my_proxy_add_x_forwarded_for $proxy_add_x_forwarded_for;
			if ($proxy_add_x_forwarded_for ~* "127.0.0.1"){
			   set $my_proxy_add_x_forwarded_for $remote_addr;
			}
			proxy_set_header   X-Forwarded-For $my_proxy_add_x_forwarded_for;
		}

		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   html;
		}

	}

>  Stage 3:修改 docker-compose.yaml(作用:服务器端口 - 容器端口 映射)

>  内容
version: '3.1'

services:
  nginx:
    restart: always
    container_name: nginx_base
    image: nginx:1.17.6
    ports:
      - 9001:9001
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./nginx-log:/var/log/nginx
      - ./html:/etc/nginx/html

networks:
  default:
    external:
      name: xph-network

▶  2.3、启动

>  Stage 1:启动 nginx

# 登录服务器,并进入目录
cd /mnt/docker/nginx/


# 重新构建并运行nginx
docker-compose up -d --build

▶  2.4、验证

>  Stage 1:访问前端地址http://XXX.XXX.XXX.XXX:9001/

  • 账号 admin 密码 123456

 >  Stage 2:修改密码

JeecgBoot 是一款基于 Spring Boot 和代码生成器的高效低代码平台,部署到生产环境时常需要借助 Nginx 来提升性能、安全性以及实现反向代理等功能。以下是 JeecgBoot 后端结合 Nginx 的常见部署步骤: ### 1. 准备阶段 - **打包后端项目**:首先需要将 JeecgBoot 后端项目的 jar 包打出来并上传至目标服务器。 使用 Maven 构建工具命令: ```bash mvn clean package -DskipTests ``` 打包完成后会在 target 目录下找到对应的 jar 文件。 - **准备运行环境**:确保 Java 环境已安装并在路径中配置好(一般推荐 JDK 版本按照官方说明),同时也要保证数据库已经搭建完成并与应用匹配连接正常。 --- ### 2. 配置 Nginx 反向代理 为了让用户更安全地访问系统并且能够隐藏真实的 IP 地址等敏感信息,我们可以通过 Nginx 设置反向代理功能来保护后台服务。 #### 创建 Nginx 配置文件示例 (假设默认域名 www.example.com) ```nginx # 定义HTTP Server server { # 监听80端口 listen 80; server_name localhost; location /jeecg-boot/ { proxy_pass http://localhost:8080/; proxy_set_header Host $host:$server_port; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 60s; } } ``` 解释关键点: - `proxy_pass`: 指定实际提供 WebService 功能的应用所在的主机名/IP和端口号,在这里是本地机器上跑着的 spring boot 应用实例。 - 其他 header 参数是为了兼容 WebSocket 协议等情况设置的一些选项。 保存上述内容为 `/etc/nginx/conf.d/default.conf` (Linux 下路径)。然后检查语法是否正确: ```bash sudo nginx -t ``` 如果没有错误提示就可以加载最新的配置了: ```bash sudo systemctl reload nginx ``` --- ### 3. 启动 JeecgBoot 后端服务 在 Linux 中可以直接通过 nohup 命令启动 java 应用避免因终端关闭导致进程终止: ```bash nohup java -jar your-app.jar > app.log 2>&1 & ``` 其中 `your-app.jar` 替换为你具体的 jar 名称;重定向所有日志输出到单独的日志文件里方便排查问题。 --- ### 4. 测试验证 打开浏览器输入完整的 URL 访问确认页面显示成功与否。如果一切顺利应该能看到登录界面或者相关的 API 返回数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ladymorgana

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值