centos7配置nginx负载均衡

1、新安装centos7后查看系统是否有自带openjdk,查看命令

java -version;若有版本信息继续执行如下命令

rpm -qa|grep java查看是否有若干版本的jdk。复制相应jdk名称,使用如下名称对其一一卸载:yum -y remove java java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64;

全部卸载完成后再次使用Java -version查看,直至打印:bash: /usr/bin/java: 没有那个文件或目录

2、安装jdk,我下载的版本是jdk-8u101-linux-x64.rpm,进入文件所在目录执行命令

rpm -ivh jdk-8u101-linux-x64.rpm

3、java -version查看安装好了没,没有的话就配置环境变量,命令

vi /etc/profile

4、安装tomcat省略。

5、配置nginx

nginx.conf内容如下(注意pid的路径):

#user  nobody;
worker_processes  4;
error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
pid        /usr/local/nginx/logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
     upstream Tmobile {    
        server   192.168.195.128:9030;    
        server   192.168.195.130:9030;    
                }
      log_format  wwwlog  '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" $http_x_forwarded_for';
     include   vhosts/Tmobile/*;
}

在conf目录下加入vhosts/Tmobile目录,目录内放入以访问项目域名命名的文件

比如:upgrade.baidu.com

文件内容:

server
        {
        listen       80;
        server_name   upgrade.baidu.com;
        index index.htm index.html index.jsp login.htm main.htm foot.htm top.htm mobile.htm;
        root  /PROJECT/MobileUpgradeCenter;
        charset utf-8;
        if (-d $request_filename)
                {
                        rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
                }
        location ~ \.(do|shtml|html|json|jsp|htm|svl|cdo|dld)?$
                {
                        proxy_set_header  Host $host:$server_port;
                        proxy_set_header  X-Real-IP  $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_pass http://Tmobile;
                }
        location ~ ^/(WEB-INF)/
                {
                        deny all;
                }
        location ~ \.(gif|jpg|jpeg|swf|png|bmp|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|xlsx|mp3|wma|apk|ipa)?$
                {
                        expires      1d;
                }
        location ~ \.(js|css)?$
                {
                        expires      1h;
                }
        access_log  /data/logs/upgrade.baidu.com_access wwwlog;
        error_log /data/logs/upgrade.baidu.com_error ;
        }

其它机器的nginx配置和此机器的配置均一致,主要配置使用机器在upstream Tmobile 这个地方,自此配置完毕。测试可用

6、编写启动脚本restart.sh

te by cpeak
#create time 2015 10 12
#===============定义变量
Tomcat_Home="/usr/local/server/apache-tomcat-7.0.70"
Log_Stop_Tag="Server startup in"
#=======================
source  /etc/profile
. /etc/init.d/functions
Sum_num=0
date=`date +"%Y-%m-%d"`
Shell_file=$0
#LOGFILE=${Tomcat_Home}/logs/catalina_all.$(date +'%Y-%m-%d').log
LOGFILE=${Tomcat_Home}/logs/catalina.out
Tomcat_PID=`/bin/ps  axu |grep "=${Tomcat_Home}" |grep -v grep |awk  '{print $2}'`
Tomcat_PID_Num=`/bin/ps  axu |grep "=${Tomcat_Home}" |grep -v grep |wc -l`
function down_nginx(){
        sed -i 's/server   192.168.195.130:9030;/server   192.168.195.130:9030 down;/g' /usr/local/nginx/conf/nginx.conf
        /usr/local/nginx/sbin/nginx -s reload
        ssh  192.168.195.130 "sed -i 's/server   192.168.195.130:9030;/server   192.168.195.130:9030 down;/g' /usr/local/nginx/conf/nginx.conf && /usr/local/nginx/sbin/nginx -s reload"
}
function up_nginx(){
        sed -i 's/server   192.168.195.130:9030 down;/server   192.168.195.130:9030;/g' /usr/local/nginx/conf/nginx.conf
        /usr/local/nginx/sbin/nginx -s reload
        ssh  192.168.195.130 "sed -i 's/server   192.168.195.130:9030 down;/server   192.168.195.130:9030;/g' /usr/local/nginx/conf/nginx.conf && /usr/local/nginx/sbin/nginx -s reload"
}
function stop_tomcat(){
        down_nginx
        while [[ $Tomcat_PID_Num -ne 0 ]]
        do
                    if [[ $Sum_num == 0 ]];then
                                /bin/bash ${Tomcat_Home}/bin/shutdown.sh
                                sleep 15
                    else
                                action "Stop Tomcat:"  /bin/false
                                echo "正在进行第${Sum_num}次强制停止"
                                /bin/ps axu |grep "=${Tomcat_Home}" |grep -v grep |awk '{print $2}' |xargs kill -s 9  && sleep 2
                    fi
                    Tomcat_PID_Num=`/bin/ps  axu |grep "=${Tomcat_Home}" |grep -v grep |wc -l`
                    (( Sum_num = Sum_num +1 ))
        done
        action "Stop Tomcat:"  /bin/true
        /bin/rm -rf ${Tomcat_Home}/work/*
        [ $? -eq 0 ] && action "Clear Tomcatcache:"  /bin/true || action "Clear Tomcatcache:"  /bin/false
}
function start_tomcat(){
        /bin/bash ${Tomcat_Home}/bin/startup.sh
        tail -n 0  -f  ${LOGFILE}   | while read  line;
        do
                echo $line
                if [[ "$line" =~ "$Log_Stop_Tag" ]];then
                        action "Start Tomcat:"  /bin/true
                        up_nginx
                        Shell_num=`/bin/ps aux |grep ${Shell_file} |grep -v grep |awk '{print $2}' |wc -l `
                        if [ $Shell_num -le 3 ];then
                                /bin/ps aux |grep ${Shell_file} |grep -v grep |awk '{print $2}' | xargs kill
                        fi
                fi
        done
}
case $1 in
        stop)
                stop_tomcat
        ;;
        start)
                systemctl start nginx.service
                start_tomcat
        ;;
        restart|*)
                stop_tomcat
                systemctl restart nginx.service
                start_tomcat
        ;;
esac


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值