当前位置: > Linux服务器 > nginx >

Nginx如何配置url_hash转发方式

时间:2015-01-10 21:02来源:linux.it.net.cn 作者:IT
所需软件名称及版本:
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的配置文件如下:
 
-------------------url_hash转发方式nginx.conf--------------------   
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  

 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容