nginx+tomcat+mysql架构搭建

一、环境:Nginx+JRE+tomcat+redis+mysql

        Nginx           192.168.1.200   web+负载均衡

        TomcatA    192.168.1.210   web应用

        TomcatB    192.168.1.211   web应用

        Mysqlmaster192.168.1.230   主从复制,数据库

        Mysqlslava192.168.1.231   主从复制,数据库

    测试域名  abc.com

 

 

二、部署思路

        域名直接解析到Nginx服务器(192.168.1.200)上,由Nginx服务器负载均衡到TomcatA)服务器(192.168.1.210)与TomcatB)服务器(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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。