Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证

目录

 

发布之前的代码修改及环境配置

云服务器上redis的配置及安装

云服务器上tomcat多实例配置及验证

修改端口

配置环境变量

启动tomcat2并验证

服务器上nginx负载均衡配置及验证

自动化发布脚本编写

ps命令

 logback热加载及线上验证


发布之前的代码修改及环境配置

因为之前做了环境隔离,所以在发布之前要把prod的配置改成线上配置

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第1张图片

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第2张图片

定时关单任务在线上使用redis分布式的方式

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第3张图片

在线上使用手写的解决session共享的重置session时间的filter

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第4张图片

将logback.xml中的线上环境日志文件修改为系统环境变量的路径

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第5张图片

将文件提交到git,并合并分支

git status
git add .
git commit -am 'deploy'
git push
git checkout master
git pull origin master
git merge v2.0
git push origin master

云服务器上redis的配置及安装

wget  地址链接  :下载redis-2.8.0-linux-mac.tar.gz

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第6张图片

将redis-2.8.0-linux-mac.tar.gz移动到setup文件夹,并解压redis-2.8.0-linux-mac.tar.gz

mv redis-2.8.0-linux-mac.tar.gz setup/
cd setup/
tar -zxvf redis-2.8.0-linux-mac.tar.gz

进入redis-2.8.0,执行make命令,编译redis

cd redis-2.8.0
make

进入setup文件夹,将redis-2.8.0复制两份到上层目录

cp -r redis-2.8.0/ ../redis-2.8.0_1
cp -r redis-2.8.0/ ../redis-2.8.0_2

进入redis-2.8.0_2,修改配置文件,将端口改为6380

cd redis-2.8.0_2
vim redis.conf

分别进入两个redis的src下启动redis,以这种方式启动不会占用命令行,并且避免在关闭窗口或者ctrl+c时关闭redis

./redis-server ../redis.conf &

启动之后进行测试,以./redis-cli -p 端口号启动客户端

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第7张图片

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第8张图片

云服务器上tomcat多实例配置及验证

复制一份tomcat

cp -r apache-tomcat-8.5.32/ apache-tomcat2-8.5.32/

修改端口

进入第二个tomcat修改端口

cd apache-tomcat2-8.5.32/
cd conf
vim server.xml

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第9张图片

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第10张图片

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第11张图片

:wq保存退出

配置环境变量

修改配置文件

sudo vim /etc/profile
export CATALINA_BASE=/developer/apache-tomcat-8.5.32
export CATALINA_HOME=/developer/apache-tomcat-8.5.32
export TOMCAT_HOME=/developer/apache-tomcat-8.5.32

export CATALINA_2_BASE=/developer/apache-tomcat2-8.5.32
export CATALINA_2_HOME=/developer/apache-tomcat2-8.5.32
export TOMCAT_2_HOME=/developer/apache-tomcat2-8.5.32

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第12张图片

:wq保存退出

source /etc/profile命令,是更改生效。

看配置是否生效

echo $CATALINA_2_BASE
echo $CATALINA_2_HOME
echo $TOMCAT_2_HOME

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第13张图片

进入bin目录下修改catalina.sh配置文件

vim catalina.sh

搜索OS

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第14张图片

在下面加上配置

export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第15张图片

:wq保存退出

启动tomcat2并验证

编辑防火墙

sudo vim /etc/sysconfig/iptables

开放8080端口和9080端口

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第16张图片

重启防火墙

sudo service iptables restart

因为服务器关联了安全组,所以一定要在安全组中开放9080端口

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第17张图片

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第18张图片

服务器上nginx负载均衡配置及验证

进入/usr/local/nginx/conf/vhost文件夹,编辑文件www.zhpsyy.cn.conf

sudo vim www.zhpsyy.cn.conf

添加负载均衡配置

upstream www.zhpsyy.cn{
        server 127.0.0.1:8080 weight=1;
        server 127.0.0.1:9080 weight=1;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
         proxy_pass http://www.zhpsyy.cn;
         expires 30d;
     }
     location ~ .*\.(js|css)?$ {
         proxy_pass http://www.zhpsyy.cn;
         expires 7d;
     }

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第19张图片

进入/usr/local/nginx/sbin,测试配置文件是否有错误

sudo ./nginx -t

重启nginx

sudo ./nginx -s reload

在浏览器上验证

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第20张图片

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第21张图片

修改防火墙配置,关闭8080,9080端口

sudo vim /etc/sysconfig/iptables

使配置生效

sudo service iptables

重启防火墙

sudo service iptables

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第22张图片

自动化发布脚本编写

新建并编写一个test.sh文件

vim test.sh

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第23张图片

给新建的test.sh执行权限

sudo chmod u+x test.sh

执行文件test.sh

./test.sh param1 param2

修改自动化发布脚本,使脚本用参数执行,参数对应git分支和tomcat

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第24张图片

执行脚本,将v2.0分支代码发布到apache-tomcat-8.5.32中(注意:发布之前一定要先启动2个redis

./deploy.sh v2.0 apache-tomcat-8.5.32/

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第25张图片

发布完之后,进入/developer/apache-tomcat-8.5.32/logs,查看日志,此时定时任务已经启动

 tail -f mmall.log

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第26张图片

ps命令

查看当前tomcat的进程

ps -ef|grep tomcat

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第27张图片

注:当tomcat在shutdown之后,可能tomcat的进程并不会关闭,这就导致了同一个tomcat实例启动两次,那这个系统就有问题了,所以在发布之前要kill -9 tomcat进程名  去关闭进程。

 

发布第二个tomcat

./deploy.sh v2.0 apache-tomcat2-8.5.32/

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第28张图片

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第29张图片

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第30张图片

可以看出线上的负载均衡是ok的。

 logback热加载及线上验证

进入/developer/apache-tomcat2-8.5.32/webapps/ROOT/WEB-INF/classes

编辑logback.xml,手动修改日志路径

Tomcat集群与Redis分布式(十四)——云服务器线上部署及验证_第31张图片

至此,这个项目全部完成


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(个人项目,java)