nginx+tomcat+mysql架构搭建
一、环境:Nginx+JRE+tomcat+redis+mysql
Nginx 192.168.1.200 web+负载均衡
Tomcat(A) 192.168.1.210 web应用
Tomcat(B) 192.168.1.211 web应用
Mysql(master)192.168.1.230 主从复制,数据库
Mysql(slava)192.168.1.231 主从复制,数据库
测试域名 abc.com
二、部署思路
域名直接解析到Nginx服务器(192.168.1.200)上,由Nginx服务器负载均衡到Tomcat(A)服务器(192.168.1.210)与Tomcat(B)服务器(192.168.1.211)上。
三、Nginx:安装及配置
yum -yinstall gcc gcc-c++ autoconf automake
yum -yinstall zlib zlib-devel openssl openssl-devel pcre-devel
groupadd -r nginx;useradd -r -g nginx nginx
./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf
make && make install
从网上搜个nginx启动脚本,vim /etc/rc.d/init.d/nginx,粘贴进去
添加执行权限 chmod +x/etc/rc.d/init.d/nginx
修改启动项 chkconfig --add nginx
添加开机自动启动 chkconfig nginx on
启动服务 service nginx start
编辑nginx配置文件 /etc/nginx/nginx.conf
upstream abc.com { server 192.168.1.210:8080; server 192.168.1.211:8080; } location / { proxy_pass http://myCluster ; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for; }
# 注,如果实现session保持可以使用nginx的ip_hash模块,将ip_hash添加在upstream中即可
四、JDK和tomcat安装
tar xf apache-tomcat-7.0.57.tar.gz–C /usr/local/tomcat
tar xf jdk-7u80-ea-bin-b03-linux-i586-19_nov_2014.tar.gz–C /usr/local/jdk1.7.0_80
vim /etc/profile JAVA_HOME=/usr/local/jdk1.6.0_12 PATH=$JAVA_HOME/bin:$PATH CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib export JAVA_HOME PATH CLASS_PATH
. /etc/profile
cp /usr/local/tomcatbin/startup.sh /etc/rc.d/init.d/tomcat.sh
chkconfig --add tomcat
chkconfig tomcat on
service tomcat start
五、mysql主从复制
mysql安装网上搜一下,或者我的其它文章有写;
mysql主从复制原理:主服务器记录二进制日志,从服务器分别以命令模式和行模式进行执行和 复制;所以主从服务器都要开启二进制日志。
1.配置主服务器
vim /etc/my.cnf [mysqld] log-bin=/var/log/mysql/mysql-bin.log # 日志路径 server-id=230 # 服务ID,我理解是用于多服务区分,网内唯一
配置完之后重启mysqld,登录主服务器mysql给从服务器用户授权
mysql> GRANT REPLICATION SLAVE ON *.* to ‘myuser‘@‘192.168.1.231‘ IDENTIFIED BY ‘mypass‘;
2.配置从服务器
vim /etc/my.cnf [mysqld] log-bin=/var/log/mysql/mysql-bin.log server-id=231
配置完成后重启mysqld,登录从服务器启动slave
mysql>start slave;
主从配置完成,这时候可以通过修改主服务器的表、库信息来测试,
还可以对比查看 show master status\G;和show slave status\G 信息
这是线下的测试环境安装,如果线上的配置还需要锁表、数据文件复制等操作。
本文出自 “滴不尽相思血泪抛红豆” 博客,请务必保留此出处http://beijgh.blog.51cto.com/8272564/1590783
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。