`

将nginx配置成url_hash转发方式

阅读更多

所需软件名称及版本:
pcre-8.02.tar.gz
nginx-0.7.58.tar.gz
Nginx_upstream_hash-0.3.1.tar.gz

 

1、安装pcre

tar -zxvf pcre-8.02.tar.gz
cd pcre-8.02/
./configure
make && make install 

 

2、给nginx安装url_hash补丁

tar -zxvf nginx-0.7.58.tar.gz
tar -zxvf Nginx_upstream_hash-0.3.1.tar.gz
cd nginx-0.7.58/
patch -p0 < /var/tmp/loojoy/nginx_upstream_hash-0.3.1/nginx.patch

 

3、安装nginx

groupadd www
useradd www -g www
./configure --prefix=/usr/local/webserver/nginx \
--user=www \
--group=www \
--add-module=/var/tmp/loojoy/nginx_upstream_hash-0.3.1 \
--with-http_ssl_module \
--with-http_stub_status_module 

 

4、检查nginx生成的配置文件是否正确

 /usr/local/webserver/nginx/sbin/nginx -t

 5、启动nginx
若nginx.conf检查通过,则启动nginx。

/usr/local/webserver/nginx/sbin/nginx

 

6、查看端口80
netstat -ant

7、通过浏览器访问:
http://your_nginx_server_ip/
若可以正常访问,则nginx安装成功。

8、修改nginx的配置文件如下:

-------------------[S]url_hash转发方式nginx.conf[S]--------------------
user www www;
worker_processes 10;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid        logs/nginx.pid;
worker_rlimit_nofile 51200;         
events
{
      use epoll;
      worker_connections 51200;
}

http
{
      include       mime.types;
      default_type application/octet-stream;
      keepalive_timeout 120;
      tcp_nodelay on;

      upstream your.website.name{
              server   your.tomcat.server.ip1:8080 ;
              server   your.tomcat.server.ip1:8080 ;

              hash $request_uri;                 
      }

      server
      {
              listen 80;
              server_name your.website.name;

              location / {
                       proxy_pass        http://your.website.name;
                       proxy_set_header   Host             $host;
                       proxy_set_header   X-Real-IP        $remote_addr;
                       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
              }

              log_format www_gjw_com '$remote_addr - $remote_user [$time_local] $request '
                                '"$status" $body_bytes_sent "$http_referer" '
                                '"$http_user_agent" "$http_x_forwarded_for"';
              #access_log /data1/logs/www.log www_gjw_com;

              location /nginx_status {
                   stub_status on;                                
                   access_log   off;
              }
   }
}      

-------------------[E]url_hash转发方式nginx.conf[E]--------------------

 


9、添加nginx启动、关闭、重启脚本

-------------------[S]url_hash转发方式nginx启动、关闭脚本[S]--------------------

#!/bin/sh

CWD=`pwd`   

case $1 in
        start)
                        /usr/local/webserver/nginx/sbin/nginx
   ;;
        stop)
                kill -2 `ps -ef|grep "/usr/local/webserver/nginx/sbin/nginx"|grep -v "grep"|awk '{print $2}' `
                        ;;
        restart)
                cd "$CMD"
                $0 stop
                $0 start
        ;;
        *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac
exit 0 

-------------------[E]url_hash转发方式nginx启动、关闭脚本[E]--------------------

 

更改该文件权限

chmod u+x nginx.sh

启动 nginx ./nginx.sh start
重启 nginx ./nginx.sh restart
关闭 nginx ./nginx.sh stop

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics