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

目录

 

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

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

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

修改端口

配置环境变量

启动tomcat2并验证

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

自动化发布脚本编写

ps命令

 logback热加载及线上验证


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

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

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

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

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

将文件提交到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

将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多实例配置及验证

复制一份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

: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

:wq保存退出

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

看配置是否生效

echo $CATALINA_2_BASE
echo $CATALINA_2_HOME
echo $TOMCAT_2_HOME

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

vim catalina.sh

搜索OS

在下面加上配置

export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME

:wq保存退出

启动tomcat2并验证

编辑防火墙

sudo vim /etc/sysconfig/iptables

开放8080端口和9080端口

重启防火墙

sudo service iptables restart

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

服务器上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;
     }

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

sudo ./nginx -t

重启nginx

sudo ./nginx -s reload

在浏览器上验证

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

sudo vim /etc/sysconfig/iptables

使配置生效

sudo service iptables

重启防火墙

sudo service iptables

自动化发布脚本编写

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

vim test.sh

给新建的test.sh执行权限

sudo chmod u+x test.sh

执行文件test.sh

./test.sh param1 param2

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

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

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

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

 tail -f mmall.log

ps命令

查看当前tomcat的进程

ps -ef|grep tomcat

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

 

发布第二个tomcat

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

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

 logback热加载及线上验证

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

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

至此,这个项目全部完成


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值