应用场景
企业项目制作除了多分支开发外,通常也会使用CI来简化部署流程,提高部署效率,当然,流程也不能少了测试服。毕竟,bug乃家常便饭,联调必不可免,因此,开发至测试服并迁移到正式服的流程也必不可少。
测试服环境
应用开发语言:Java
服务器:ECS CentOS7
CI:Jenkins
容器引擎:Docker
执行:Shell
运行程序:Jar
正式服环境
服务器:ECS CentOS7(正式服可考虑四核八G)
CI:Jenkins
容器引擎:Docker
执行:Shell
运行程序:Jar
迁移正式服
- 域名购买及备案
- 解析域名(可解析多个二级域名,应用于cms or web等等)
- 拿到新机 yum update
- JDK
- 安装Docker环境并启动(采用systemctl)
- 编写DockerFile,或依次pull MySQL,Redis,并Run,映射到相应端口(配置安全组)
- install Nginx
- 配置server映射到一开始解析的一级或二级域名
- 配置root(h5页面上传,可上传前端使用npm打包完成的xxx.js)
- 配置映射location,若为Spring or SpringBoot项目,可通过requestMapping的前半部分进行URL规则映射
- 打Jar包,可使用持续集成工具+shell脚本打包,至于会不会新版本的jar替换旧版本的jar,全看shell脚本写的好不好
- 后台执行jar,可采用nohup
- Java应用程序一定要记得加log,将日志也打到正式服上,因为...这是个好东西来着
- 常用检测:tail -xxx xxx.log / tail -f xxx.log
- 部署Jar包经常使用流程:ps xxx(-ef)|grep xxx -> kill -9 port -> nohup
- 若使用Swagger调试的可开启Api文档进行接口调用调试,若不使用,可采取postman等http请求调试工具
╮( ̄▽ ̄)╭至此,一个大致的正式服也基本可以跑起来了
总结
折腾服务器是一件有趣的事情,毕竟可以前沿地接触一些新鲜的技术,可玩性很高,方案也多得多!!!本篇介绍的算是简略总结版,并无开展更多细节,闲下来了估计会出一份详尽版或折腾版。有兴趣的一起交流交流!!!
网友评论