tomcat集群架构图
| lb01 | 10.0.0.6 172.16.1.6 | |----------|-----------------------------| | web1 | 172.16.1.7 | | web2 | 172.16.1.8 |
之前在web02上做了一台了,我们再在 web01 上 扩展一套
就需要在web01上安装 jdk, tomcat
步骤参考 :
JDK 安装: https://www.baimeidashu.com/9023.html
tomcat 安装: https://www.baimeidashu.com/9055.html
接下来我们 迁移zrlog 服务了
在web02 上操作如下:
scp -rp /code/ 10.0.0.7:/
scp -rp /soft/ 10.0.0.7:/ 这里要在 web01 手动做个软连接
scp /usr/lib/systemd/system/tomcat.service 172.16.1.7:/usr/lib/systemd/system/tomcat.service
接下来在web01上操作如下:
[root@web01 /soft]#systemctl daemon-reload
[root@web01 /soft]#systemctl start tomcat
[root@web01 /soft]#systemctl enable tomcat
第3步: 配置 代理
在lb01上 做负载均衡的分发:
注意: 在Nginx做代理时
Nginx代理后端Nginx头部信息默认丢弃
Nginx代理后端Tomcat 头部信息自动携带 不管前面任何域名解析到负载 始终携带代理文件的头部信息
[root@lb01 /etc/nginx/conf.d]#cat zrlog.conf
upstream zrlog {
server 172.16.1.7:8080;
server 172.16.1.8:8080;
}
server {
listen 80;
server_name zrlog.blog.com;
location / {
proxy_pass http://zrlog; #tomcat启动的java程序,可以直接通过proxy_pass进行负载均衡
include proxy_params;
}
}
携带参数:
cat /etc/nginx/proxy_params
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
为tomcat日志,获取http的Header信息
<Host name="zrlog.baimeidashu.com" appBase="/code/tomcat/zrlog"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="zrlog_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b %{User-Agent}i %{X-Forwarded-For}i" />
</Host>
重启 nginx:
systemctl restart nginx
做hosts 解析:
访问网站: 这个时候不需要 加端口8080. 因为默认从80 转发到8080 了。
http://zrlog.baimei.com/
这样我们做好了 负载均衡(用的nginx 的反向代理功能)