wangyan188 发表于 2018-9-29 12:06:30

nginx+tomcat+mysql架构搭建

  一、环境:Nginx+tomcat+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服务器反向代理所有请求,由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主从复制原理:主服务器记录二进制日志,从服务器分别以命令模式和行模式进行执行和复制;所以主从服务器都要开启二进制日志。
  1.配置主服务器
    vim /etc/my.cnf  
   
  
    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  
   
  
    log-bin=/var/log/mysql/mysql-bin.log
  
    server-id=231
  配置完成后重启mysqld,登录从服务器启动slave
   mysql>start slave;  主从配置完成,这时候可以通过修改主服务器的表、库信息来测试,
  还可以对比查看 show master status\G;和show slave status\G信息
  这是线下的测试环境安装,如果线上的配置还需要锁表、数据文件复制等操作。


页: [1]
查看完整版本: nginx+tomcat+mysql架构搭建