zoukankan      html  css  js  c++  java
  • lnmt搭建及负载轮询

    lnmt服务的搭建及其负载轮询

    1、前提条件

    准备三台服务器

    服务器 ip 部署
    服务端 192.168.7.10 mysql、nginx、tomcat
    客户端1 192.168.7.11 tomcat9
    客户端2 192.168.7.12 tomcat9

    三台同时关闭防火墙

    # systemctl stop firewalld
    # systemctl disable firewalld
    #  setent 0
    

    2、server端部署

    2.1安装nginx

    nginx加入systemctl启动脚本:https://files.cnblogs.com/files/liuzhijun666/nginx启动脚本.rar

    nginx 下载地址: :http://nginx.org/download/nginx-1.14.0.tar.gz

    #  yum -y install pcre-devel openssl openssl-devel gd-devel lrzsz
    #  yum -y groups mark install 'Development Tools' 
    #  useradd -r -M -s /sbin/nologin nginx
    //创建日志目录
    # mkdir -p /var/log/nginx
    # chown -R nginx.nginx /var/log/nginx
    # wget http://nginx.org/download/nginx-1.14.0.tar.gz
    # tar -xf nginx-1.14.0.tar.gz
    nginx-1.14.0.tar.gz nginx-1.14.0
    # pwd
    /root/nginx-1.14.0
    # ./configure --prefix=/usr/local/nginx 		//编译
    --user=nginx 
    --group=nginx  
    --with-debug  
    --with-http_ssl_module 
    --with-http_realip_module  
    --with-http_image_filter_module  
    --with-http_gunzip_module  
    --with-http_gzip_static_module  
    --with-http_stub_status_module  
    --http-log-path=/var/log/nginx/access.log  
    --error-log-path=/var/log/nginx/error.log
    #  make -j $(grep 'processor' /proc/cpuinfo | wc -l) && make install 		//安装
    # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    # cd /usr/local/nginx/sbin/
    # ls
    nginx 
    # cd /etc/init.d
    # rz	//上传ngin的启动脚本
    # ls
    ...  nginx .....
    # chmod +x nginx
    # source nginx	//执行该脚本
    # systemctl restart nginx
    # ss -antl
    State       Recv-Q Send-Q                          Local Address:Port                                         Peer Address:Port              
    LISTEN      0      128                                         *:80                                                      *:*                  
    LISTEN      0      128                                         *:22                                                      *:*                  
    LISTEN      0      100                                 127.0.0.1:25                                                      *:*                  
    LISTEN      0      128                                        :::22                                                     :::*                  
    LISTEN      0      100                                       ::1:25                                                     :::*   
    

    3.2安装mysql

    下载地址: https://dev.mysql.com/downloads/mysql/

    # yum -y install ncurses-devel openssl-devel openssl cmake mariadbdevel
    # tar xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  -C /usr/local/ 
    # pwd
    /usr/src
    # cd /usr/local
    # ln -sv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql
    # groupadd -r mysql    //mysql创建组和用户
    # useradd -M -s /sbin/nologin -g mysql mysql
    # chown -R mysql.mysql mysql
    # echo "export PATH=/usr/local/mysql/bin/:$PATH" > /etc/profile.d/mysql.sh       //环境变量
    # source /etc/profile.d/mysql.sh 
    # mkdir /opt/data		//生成数据库目录
    # chown -R mysql.mysql /opt/data/
    # mysqld --initialize --user=mysql --datadir=/opt/data/  	//初始化数据库
    2020-04-26T13:28:47.194209Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2020-04-26T13:28:47.739448Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2020-04-26T13:28:47.878674Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2020-04-26T13:28:48.064606Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: dc2dc2c2-87c1-11ea-b320-000c29361d6b.
    2020-04-26T13:28:48.065569Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2020-04-26T13:28:48.066537Z 1 [Note] A temporary password is generated for root@localhost: ,8wypuC8Swht 	//密码
    # cd
    # echo ",8wypuC8Swht" > passwd.txt  //保存密码
    # vim /etc/my.cnf			//编写配置文件
    # cat /etc/my.cnf
    [mysqld]
    basedir = /usr/local/mysql 
    datadir = /opt/data 
    socket = /tmp/mysql.sock 
    port = 3306 
    pid-file = /opt/data/mysql.pid 
    user = mysql 
    skip-name-resolve
    # cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 
    #  sed -ri 's#^(datadir=).*#1/opt/data#g' /etc/init.d/mysqld
    #  sed -ri 's#^(basedir=).*#1/usr/local/mysql#g' /etc/init.d/mysqld 
    # service mysqld start		//启动
    # ss -antl
    State       Recv-Q Send-Q                          Local Address:Port                                         Peer Address:Port              
    LISTEN      0      128                                         *:80                                                      *:*                  
    LISTEN      0      128                                         *:22                                                      *:*                  
    LISTEN      0      100                                 127.0.0.1:25                                                      *:*                  
    LISTEN      0      128                                        :::22                                                     :::*                  
    LISTEN      0      100                                       ::1:25                                                     :::*                       
    LISTEN     0      80                    					:::3306         #mysql端口号
    

    3、部署tomcat

    tomcat9 下载地址:

    # yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel  	//下载java
    # wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.36/bin/apache-tomcat-9.0.36.tar.gz
    # ls
    apache-tomcat-9.0.36.tar.gz
    # tar -xf apache-tomcat-9.0.36.tar.gz -C /usr/local
    # echo "export PATH=/usr/local/apache-tomcat-9.0.33/bin:$PATH" > /etc/profile.d/tomcat.sh  //环境变量
    # startup.sh 
    # ss -antl
    State       Recv-Q Send-Q               Local Address:Port                              Peer Address:Port              
    LISTEN      0      128                              *:80                                           *:*                  
    LISTEN      0      128                              *:22                                           *:*                  
    LISTEN      0      100                      127.0.0.1:25                                           *:*                  
    LISTEN      0      100                             :::8080                                        :::*                  
    LISTEN      0      128                             :::22                                          :::*                  
    LISTEN      0      100                            ::1:25                                          :::*                  
    LISTEN      0      1                 ::ffff:127.0.0.1:8005                                        :::*                  
    LISTEN      0      80                              :::3306                                        :::*    
    

    3、实现负载均衡

    客户端1:

    #  cd /usr/local/apache-tomcat-9.0.36/webapps/
    # mkdir test
    # cd test
    # vim index.jsp
    <html>
    <head>
    <title>第一个</title>
    </head>
    <body>
    1111
    <body>
    </html>
    

    客户端2:

    #  cd /usr/local/apache-tomcat-9.0.36/webapps/
    # mkdir test
    # cd test
    # vim index.jsp
    <html>
    <head>
    <title>第二个</title>
    </head>
    <body>
    2222
    <body>
    </html>
    

    服务端

    修改配置文件:/usr/local/nginx/conf/nginx.conf

    ......
    #添加
    upstream www{
               server 192.168.7.12:8080;		#客户端2
               server 192.168.7.11:8080;		#客户端1
    	   
            }
    server {
    		listen       80;					# 端口
             server_name  xxx.example.com;		#设置域名
    	    access_log  logs/host.access.log;	#指定日志文件
     location  ~*/test/*.(do|jsp) {							#两个客户端的test
             proxy_pass   http://www;		#www要与upstream 一样
    	    index index.html index.htm;
       }
    
    }
    ......
    
    

    效果:

  • 相关阅读:
    实现Android ListView 自动加载更多内容
    Android中通过GPS或NetWork获取当前位置的经纬度
    android检测当前网络是否可用
    怎么样获得泛型T的Class对象?
    slidemenu
    linux mysql 操作命令
    解决Skyline 6.5版本中3DML模型单体化后外部网页挂接问题
    解决Skyline6.5多球对比时,自动运行TerraExplorer软件的问题
    OSGeo.OGR.Geometry
    TerraExplorer Add-ons 和TEZ使用说明
  • 原文地址:https://www.cnblogs.com/liuzhijun666/p/13149686.html
Copyright © 2011-2022 走看看