## 构建生产环境
生产环境无需使用`yarn serve`启动前端lamp-web-plus项目,只需要将项目打包成静态页面,然后使用nginx进行代理即可访问。
1. 修改 [.env](https://github.com/zuihou/lamp-web-plus/blob/main/.env) 文件
~~~
# 租户类型 必须跟后端项目 mysql.yml 中 lamp.database.multiTenantType 配成一样. 可选项:NONE、COLUMN、SCHEMA、DATASOURCE
VITE_GLOB_MULTI_TENANT_TYPE = DATASOURCE
# 登录页是否显示验证码 可选值 true false
VITE_GLOB_SHOW_CAPTCHA = true
# 客户端id&秘钥 (必须和 c_application 表中数据一致!)
VITE_GLOB_CLIENT_ID = lamp_web
VITE_GLOB_CLIENT_SECRET = lamp_web_secret
~~~
2. 将源码打包成静态文件
~~~
pnpm install
pnpm build:prod
~~~
![](https://img.kancloud.cn/61/28/612831d3d214a8f6992566b2e99ae9aa_690x762.png)
3. 构建完成后, 会生成一个 `dist` 文件夹, 将该文件夹上传到服务器任意路径 (如:/data/projects/ ), 然后使用nginx 配置代理。
![](https://img.kancloud.cn/6b/83/6b8318730aec42c6cf920dd0ae0514e6_583x629.png)
4. 在 /data/projects/ 目录,将刚上传的 `dist` 文件夹重命名为 lamp-web-plus
5. 为了解决跨域问题, nginx 需要将代理 `lamp-web-plus` 的端口和后端网关的端口保持一致.
5. 配置nginx :
~~~
server {
listen 80;
server_name tangyh.top;
underscores_in_headers on;
# /lamp-web 代理前端
location / {
proxy_set_header Host $host:$server_port;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60;
proxy_read_timeout 600;
proxy_send_timeout 600;
# 请将第三步打包后生成的 dist 文件夹上传到 nginx 所在服务器的 /data/projects/ 目录,并重名名为 lamp-web-plus
root /data/projects/lamp-web-plus;
index index.html;
}
# lamp-cloud 网关服务 代理
location /api {
proxy_set_header Host $host:$server_port;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60;
proxy_read_timeout 600;
proxy_send_timeout 600;
# 这里代理的地址一定是 lamp-cloud 项目的 lamp-gateway 服务的请求地址
proxy_pass http://localhost:8760/api;
}
}
~~~
- 简介
- 会员版
- 3.x和4.x的区别
- 新手必读
- 如何高效提问
- 项目地址
- 项目截图
- 架构介绍
- 开发规范
- 租户模式介绍
- lamp-web和lamp-web-plus的区别
- lamp-cloud和lamp-boot区别
- 免费视频&软件下载
- 文档反馈
- lamp-cloud
- 服务介绍
- 环境要求
- 工程导入
- nacos启动(单机版)
- nacos启动(集群版)
- 将配置文件导入Nacos
- seata启动(单机版)
- DATASOURCE模式启动(会员版)
- SCHEMA模式启动
- COLUMN模式
- NONE模式
- lamp-web启动
- lamp-web生产部署
- lamp-web-plus启动(会员版)
- lamp-web-plus生产部署
- lamp-boot
- 环境要求
- 工程导入
- DATASOURCE模式启动(会员版)
- SCHEMA模式启动
- COLUMN模式启动
- NONE模式启动
- lamp-web启动
- lamp-web生产部署
- lamp-web-plus启动(会员版)
- lamp-web-plus生产部署
- 功能介绍
- 租户设置
- 数据源配置(会员版)
- 租户管理
- 超级用户
- 工作台
- 通知公告
- 组织管理
- 机构管理
- 岗位管理
- 用户管理
- 资源中心
- 消息中心
- 短息模版
- 短信中心
- 附件管理
- 流程管理
- 流程部署
- 模型管理
- 系统设置
- 菜单管理
- 角色管理
- 字典管理
- 地区管理
- 参数管理
- 操作日志
- 登录日志
- 在线用户
- 应用管理
- 网关管理
- 限流规则
- 组织访问
- 开发者管理
- 定时任务
- 接口文档
- Nacos
- 服务监控
- 数据库监控
- 缓存监控
- zipkin监控
- SkyWalking监控
- 常用配置
- 如何保证我的代码能更新到最新代码
- 序列化和反序列化
- 修改日志级别
- 文件上传&下载&预览
- 修改租户模式
- 分页
- 导入导出
- 请求放行(忽略token&忽略URI权限&忽略租户编码)
- 异常处理
- 全局返回
- 参数校验(会员版)
- 系统日志
- 自研权限认证(URI、按钮、菜单)
- 数据权限(旧)
- 数据库配置
- Mybatis配置
- 更多数据库/数据源/Mybaits配置
- Redis(缓存)配置
- RabbitMq配置
- 灰度发布
- 上手开发
- 表结构整理
- 项目结构&依赖&调用流程介绍
- 生成一个新服务
- 生成后端代码
- 生成前端lamp-web代码
- 生成前端项目lamp-web-plus代码
- 跨域处理
- Swagger文档调试技巧
- FeignClient接口调用
- 多租户实现原理
- 分布式事务
- Zipkin配置(过时)
- SkyWalking配置
- 代码生成器和自动回显组件使用介绍
- lamp-util原理解析
- 全局注解(lamp-annotation)
- 核心包(lamp-core)
- 自动回显(lamp-echo-starter)
- 权限控制(lamp-security-starter)
- 当前登录用户信息(lamp-jwt-starter)
- 缓存(lamp-cache-starter)
- SpringBoot全局配置(lamp-boot-util)
- SpringCloud全局配置(lamp-cloud-starter)
- 数据源&持久层配置(lamp-databases)
- 对象属性复制(lamp-dozer-starter)
- 操作日志(lamp-log-starter)
- 消息队列(lamp-mq-starter)
- 在线文档(lamp-swagger2-starter)
- 前后端表单统一验证(lamp-validator-starter)
- 防止Xss攻击(lamp-xss-starter)
- 生产部署
- 部署前言
- jar部署