新项目app上线方案
目录
1 准备工作
1.1 了解需求
- 图片等静态文件资源来自项目包中还是nginx静态分离指定目录
- 使用数据库为boss,或者新建数据库?
- 上线新项目是否改动现网库。
- 程序依赖中间件服务?
- 程序上线后业务规模,及时调整tomcat与系统调优应对高并发。
1.1 数据库备份
当前终端登录用户为普通用户,请切换root用户:
1、 进入数据备份目录:
[此文件为数据库日常备份脚本压缩的数据文件,当天请手动再次备份,以保障数据实时性]
1、 执行数据备份命令
mysqldump--socket=/data/db/mysql3309/mysql.sock -uroot -h127.0.0.1 -P3309 boss >boss_cnl20170404.sql
数据备份名称应为[项目名称]_[运维人员名字简写][ 日期](yyyymmdd)
3、检查数据文件大小是否正常
1.1 获取版本
协调开发,获取增量包
2 现网上线工作
2.1 Tomcat新建
服务器:*.*.*.*
目录:/data/www/tomcat8084
版本:ApacheTomcat/7.0.67
2.2 程序上传
1、 使用rz命令上传war包进入../webapps/ROOT(以全量包为例)
1.1 解压并存放
1、 开始替换项目(全量包)
说明:鉴于开发提供为全量包,应在备份过后清空ROOT目录,因为包含未知class增减,本文不建议使用cp –f 操作,即覆盖操作。请确认之前备份工作是否完成,使用rm命令清空(本系统已做回收站机制,在/root/.trash见删除过的文件)
在ROOT目录下面解压war包
1.2 替换config文件
1、在项目中的class目录下,删除config文件(此config文件为开发的环境)
2、请到备份的项目中,cp 现网config文件至现网的指定config目录
1.1 重启tomcat
1、使用linux命令kill tomcat进程(现网中由于业务还在运行(和zabbix正在监控此tomcat进程或者其他tcp连接),无法通过shutdown.sh停止tomcat)
1、 启动tomcat并且实时打印tomcat日志,观察报错情况
出现tomcat启动结果未知,如果出现报错,请运维人员及时通知开发,处理报错问题
注:如补丁包,请确实是否为class、xml、properties等配置文件,则需要重启
如只是jsp、js、html等静态文件,不需要重启,补丁包关于static文件更新,请在nginx80/static处,静态文件转发地址,请注意同时更新。
如果只sql文件,insert等不需要重启tomcat,关于表结构等操作,需要重启tomcat以便生效。
1.2 Nginx书写配置虚拟主机
1、 Nginx优点为,各虚拟主机互不干预,平滑升级。
在nginx的vhosts文件下新建虚拟主机,并且配置存放access与error日志存放
1、 nginx自检新建的虚拟主机
[[email protected] vhost]# nginx -c/etc/nginx/nginx.conf -t
nginx: the configuration file /etc/nginx/nginx.confsyntax is ok
nginx: configuration file /etc/nginx/nginx.conf testis successful(提示配置文件书写规则正确)
3、重载nginx已完成平滑升级,配置文件生效
[[email protected] vhost]# nginx -c/etc/nginx/nginx.conf -s reload
1 域名解析
1.1 阿里云平台域名服务操作
1、 进入阿里云域名服务页面,本次为备案解析二级域名,所以在*.cn根域名下添加解析
1、 新建一条二级域名解析