卡饭网 > nginx > 正文

Nginx如何配置url_hash转发方式

来源:本站整理 作者:梦在深巷 时间:2014-08-03 20:48:21

所需软件名称及版本:

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

相关推荐