centos 6.5 Nginx 安装负载均衡以及动静分离

                                centos  6.5  Nginx 安装负载均衡以及动静分离

 

1.下载nginx

方法一

    wget http://nginx.org/download/nginx-1.11.6.tar.gz

方法二

    http://nginx.org/en/download.html在Nginx官网手动下载

2.解压nginx的gz包

tar -zxvf nginx-1.11.6.tar.gz    

这里我选择安装在/usr/tools/目录

3.安装ngnix依赖

 3.1安装gcc

    yum -y install gcc-c++

 3.2安装最基础的模块 pcre-devel

    yum -y install pcre-devel

 3.3 安装gzip

    yum -y install zlib-devel

4.初始化配置  
cd /usr/tools/nginx-1.11.6切换到nginx安装目录
  运行 ./configure --prefix=/usr/tools/ngin(指定安装路径)进行初始化配置              
5.预编译 make 

6.运行makeinstall进行编译译            

编译完成后会生生成了/usr/tools/nginx/目录        

7.启动nginx            

cd/usr/local/nginx/sbin                          执行./nginx      
8.
验证nginx是否启动成功 

执行curl http://localhost 出现下面信息表示启动成功   

9.修改防火墙规则

修改Nginx所在主机的防火墙配置:vi /etc/sysconfig/iptables,将nginx使用的端口添加到允许列表中。
   例如:-AINPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT (表示允许80端口通过)
   修改Tomcat所在主机的防火墙配置:vi /etc/sysconfig/iptables,将tomcat使用的端口添加到允许列表中。
   例如:-A INPUT -m state --state NEW -m tcp -ptcp --dport 8080 -j ACCEPT (表示允许8080端口通过)
   如果主机上有多个tomcat的话,则按此规则添加多条,修改对应的端口号即可。
   保存后重启防火墙:service iptables restart

10.添加Nginx  自启动      

 vi/etc/init.d/nginx

 在脚本中添加如下命令:

   #!/bin/bash

   # nginx Startup script for the Nginx HTTP Server

   # it is v.0.0.2 version.

    #chkconfig: - 85 15

   # description: Nginx is a high-performance web and proxy server.

   #              Ithas a lot of features, but it's not for everyone.

   # processname: nginx

   # pidfile: /var/run/nginx.pid

    #config: /usr/tools/nginx/conf/nginx.conf

   nginxd=/usr/tools/nginx/sbin/nginx

   nginx_config=/usr/tools/nginx/conf/nginx.conf

   nginx_pid=/var/run/nginx.pid

   RETVAL=0

   prog="nginx"

   # Source function library.

   . /etc/rc.d/init.d/functions

   # Source networking configuration.

   . /etc/sysconfig/network

   # Check that networking is up.

   [ ${NETWORKING} = "no" ] && exit 0

   [ -x $nginxd ] || exit 0

   # Start nginx daemons functions.

    start() {

   if [ -e $nginx_pid ];then

       echo"nginx already running...."

      exit 1

   fi

      echo -n $"Starting $prog: "

      daemon $nginxd -c ${nginx_config}

      RETVAL=$?

      echo

      [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx

      return $RETVAL

   }

    #Stop nginx daemons functions.

   stop() {

           echo -n $"Stopping $prog: "

           killproc $nginxd

           RETVAL=$?

           echo

           [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx/var/run/nginx.pid

   }

   # reload nginx service functions.

   reload() {

       echo -n $"Reloading $prog: "

       #kill -HUP `cat ${nginx_pid}`

       killproc $nginxd -HUP

       RETVAL=$?

       echo

   }

   # See how we were called.

   case "$1" in

   start)

           start

           ;;

   stop)

           stop

           ;;

   reload)

           reload

           ;;

   restart)

           stop

           start

           ;;

   status)

           status $prog

           RETVAL=$?

           ;;

       *)

        echo$"Usage: $prog {start|stop|restart|reload|status|help}"

        exit1

   esac

   exit $RETVAL

注意红色加粗部分,需要将路径改为自己机器的相应路径。

接着,设置文件的访问权限:

chmod a+x /etc/init.d/nginx      (a+x参数表示 ==> all user canexecute  所有用户可执行)

最后将ngix加入到rc.local文件中,这样开机的时候nginx就默认启动了

vi /etc/rc.local

添加

/etc/init.d/nginx start   

保存并退出下次重启就会生效,实现nginx的自启动。

11.添加nginx 负载均衡

 cd  /usr/tools//nginx/conf/

 vi  nginx.conf  打开nginx配置文件

 在http段加入以下代码

 upstream myservice{ 

   server 127.0.0.1:8001 ; #每个负载均衡的Tomcat的地址

   server 127.0.0.1:0002 weight=3; # 权重,默认为1,权重越大接收的请求越多

 server{ 

       listen 80; 

       server_name  myservice #这个名字必须是上面的upstream后面的名字

       location / { 

       proxy_pass  http://114.115.214.147;

      proxy_set_header  Host           $host; 

       proxy_set_header  X-Real-IP       $remote_addr; #告诉nginx发送数据要返回请求者的地址和真实ip

       proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for; 

   

   } 

}

upstream模块常用参数说明:

server 192.168.0.100:80

 负载均衡后端RealServer的IP或者域名,端口不写的话默认为80。高并发场景用域名,再通过DNS进行负载均衡

 weight=5

 权重,默认为1,权重越大接收的请求越多

 max_fails=2

 最大尝试的失败次数,默认为1,0表示禁止失败尝试

 fail_timeout=10s

 失败超时时间,默认是10秒,通常3s左右比较合适

 backup

 热备配置,前段RealServer出现问题后会自动上线backup服务器

 down

 标志服务器不可用,这个参数通常配合IP_HASH使用

 

 

12. 动静分离    location执行规则是从上往下执行所以这个配置要放在 location /   前面

location ^~ /statics/ {

  # 匹配任何以 / statics / 开始的请求,并停止匹配 其它location

alias/a/;

#过期30天,静态文件不怎么更新,过期可以设大一点,

   #如果频繁更新,则可以设置得小一点。

   expires 30d;

}

 12.1 alias  和root 的区别

12.1.1.toot的用法

location /static/image/ {

    root /local_path/image/;

}

这样配置的结果就是当客户端请求/static/image/cat.png 的时候, 
Nginx把请求映射为/local_path/image/static/image/cat.png

12.1.2再看alias的用法

location /static/image/ {

    alias /local_path/image/;

}

这时候,当客户端请求 /static/image/cat.png 的时候, 
Nginx把请求映射为/local_path/image/cat.png 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值