1、多环境
2、项目部署上线
- 原始前端 / 后端项目
- 宝塔Linux
- 容器
- 容器平台
3、前后端联调
4、项目扩展和规划
多环境
本地开发:localhost(127.0.0.1)
多环境:指同一套项目代码在把不同的阶段需要根据实际情况根来调整配置并且配置到不同的机器上
为什么需要?
- 每个环境互不影响
- 为了区分不同的阶段:开发 / 测试 / 生产
- 对项目进行优化
- 本地日志级别
- 精简依赖,节省项目体积
- 项目的环境 / 参数可以调整,比如JVM参数
总结一下,多环境是为了针对不同环境做不同的事
多环境分类:
- 本地环境(我们自己的电脑): localhost(127.0.0.1)
- 开发环境(远程开发):开发人员连接同一台机器
- 测试环境(测试):开发 / 测试 / 产品,性能测试 / 功能测试 / 系统集成测试,独立的数据库、服务器
- 预发布环境(体验服):基本和正式环境一致,使用正式数据库,更严谨,检查出更多问题
- 正式环境(线上,对外公开的项目):尽量不要改动,保证上线的代码是“完美”的
- 沙箱环境(实验环境):为了做实验
前端多环境实战
后端多环境实战
SpringBoot项目,通过 application.yml 添加不同的后缀,区分配置文件
可以在启动项目时传入环境变量来选择配置文件
主要是改:
- 依赖的环境地址
- 数据库地址
- 缓存地址
- 消息队列地址
- 项目端口号
- 服务器配置
java -jar ./brrbaii_backend_init-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
可以看到启动时选择了application-prod.yaml文件
Linux宝塔部署
MYSQL安装及对外开发
以腾讯云为例,在防火墙内开放3306端口
还有在宝塔面板的安全组里也同步开放一下
接着登录进mysql
mysql -u root -p '你的密码'
选择数据库
use mysql;
更新域属性,'%'表示允许外部访问:
update user set host='%' where user ='root';
执行以上语句之后再执行:
FLUSH PRIVILEGES;
再执行授权语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
最后刷新一下
FLUSH PRIVILEGES;
接着外部就可以访问到了
Tomcat安装
直接搜安装即可
新建站点
新建文件,把我们的JAR包丢进去
添加JAVA项目
可以看到启动成功了
Docker部署
docker是容器,可以将项目的环境(比如java、nginx)和项目的代码一起打包成镜像,所有朋友都能下载镜像,更容易分发和移植
可以看到启动成功了
[外链图片转存中…(img-OQh4Uiyd-1703786779656)]
Docker部署
docker是容器,可以将项目的环境(比如java、nginx)和项目的代码一起打包成镜像,所有朋友都能下载镜像,更容易分发和移植
再启动项目时,不需要敲一大堆命令,而是直接下载镜像、启动镜像,docker可以理解为软件安装包