首页 > 网站 > WEB服务 > 正文

Nginx如何配置url_hash转发方式

2020-05-27 13:14:51
字体:
来源:转载
供稿:网友

   所需软件名称及版本:

  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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表