`

将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

 

分享到:
评论

相关推荐

    Nginx如何配置url_hash转发方式.docx

    在本文中,我们将深入探讨如何在Nginx服务器上配置URL哈希(url_hash)转发方式,这是一种负载均衡策略,用于将特定的URL请求路由到特定的后端服务器。这种配置适用于需要根据URL保持会话状态的应用场景,比如动态...

    Nginx_upstream_hash-0.3.1.tar.gz

    在Nginx配置中,"upstream"模块是用于定义后端服务器组,它允许Nginx将请求分发到这些服务器,实现负载均衡。而"hash"策略则是Nginx upstream模块中的一个功能,用于根据特定的请求属性(例如URL)来决定请求应被...

    05尚硅谷_Nginx_hit1qr_nginx尚硅谷_nginx_

    在“05尚硅谷_Nginx_hit1qr_nginx尚硅谷_nginx_”的学习资源中,我们将深入探讨 Nginx 的安装、配置以及如何实现负载均衡。 **一、Nginx 的安装** Nginx 的安装通常分为编译安装和使用软件包管理器安装两种方式。...

    项目打包运行dist以及nginx配置

    在IT行业中,项目打包运行和Nginx配置是两个关键环节,它们对于应用程序的部署和发布至关重要。这里我们将深入探讨这两个主题。 首先,项目打包运行通常指的是将开发完成的前端或后端应用转换为可部署的形式。对于...

    配置代理服务器NGINX

    **配置代理服务器NGINX** 在IT行业中,代理服务器是一个重要的...通过阅读《使用nginx针对URL实现负载均衡或者说接口定向分发》和《Nginx配置proxy_pass转发的路径问题》等相关资料,可以深入理解并实践这些配置技巧。

    nginx配置详细-最全说明

    在提供的Nginx配置文件中,我们可以看到很多重要的指令和设置项,这些设置项对于优化Nginx服务性能至关重要。接下来,我们将逐一解析这些配置项的意义及用法。 #### 二、基本配置 1. **`user`**: - **含义**: ...

    nginx负载均衡配置,宕机自动切换方式

    通过配置文件nginx.conf中的upstream指令块,用户可以定义服务器组和权重,使得nginx根据相应的算法将客户端请求均衡地分配到各个服务器上。 在传统的nginx负载均衡配置中,并未直接提供后端服务器健康检查的功能,...

    nginx配置

    `location`块是Nginx配置中最灵活的部分,根据URL匹配规则处理请求。它可以设置重定向、反向代理、缓存策略等: ```conf location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { ...

    Nginx负载均衡配置

    通过将请求的URL进行哈希处理,确定将其转发到后端的哪台服务器,适用于缓存服务器或静态服务器,使得相同URL的请求总是转发到同一服务器。 6. 公平策略(fair,第三方模块) 按后端服务器的响应时间来分配请求,...

    nginx页面跳转新方式

    为了实现页面跳转功能,首先需要在Nginx配置文件中添加代理转发配置。这一步骤主要是为了实现后端服务器的负载均衡。 ```nginx upstream my.net { ip_hash; server 192.168.3.32:8080; # 服务器A server 192.168...

    Nginx配置学习资料.pdf

    在进行Nginx配置时,需要了解配置指令的语法和作用,例如: ``` server { listen 80; server_name example.com; location / { root /var/www/example.com; index index.html index.htm; } } ``` 上述配置定义...

    nginx-1.8.0.tar.gz

    2. **反向代理配置**: 修改Nginx配置,设置反向代理到后端服务器集群。 3. **负载均衡**: 使用Nginx的负载均衡模块,如`upstream`,配置负载均衡策略。 4. **健康检查**: 可以通过配置健康检查,确保只将请求转发到...

    Nginx 配置详解.docx

    ### Nginx 配置详解 #### 一、Nginx 概述 Nginx 是一款由 Igor Sysoev 开发的高性能 Web 和反向代理服务器,最初是为了俄罗斯访问量排名第二的网站 Rambler.ru 而设计。自 2004 年发布以来,Nginx 已经通过开源...

    Nginx负载均衡与地址映射配置的完整配置

    在本文中,我们将深入探讨如何配置Nginx以实现这些功能,并结合提供的"nginx-1.11.11"压缩包,了解实际配置文件的结构。 首先,让我们了解Nginx的负载均衡配置。Nginx支持多种负载均衡策略,包括轮询(round-robin...

    虚拟人中台的nginx配置

    虚拟人中台可能有多个后端服务,`Nginx`可以通过反向代理将请求转发到不同的服务器。`proxy_pass`指令用于设置代理目标,例如: ```nginx location /api/ { proxy_pass http://backend_server; } ``` 这里的`...

    nginx负载均衡配置文档.pdf

    `location /`块中的`proxy_pass`指令将请求转发到这个后端组。通过这种方式,Nginx可以自动分发客户端请求到各个后端服务器,实现负载均衡。 `proxy_set_header`指令用于设置HTTP头,确保后端服务器能获取到原始...

    Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡.pdf

    Nginx作为一款高效的Web服务器和反向代理服务器,其负载均衡策略主要包括轮询(默认)、weight(权重)、ip_hash、fair(第三方)、url_hash(第三方)等。 1. 轮询(默认):Nginx会将所有请求按顺序逐一分配给...

    nginx-1.12.2和安装配置文档.zip

    - **反向代理**:Nginx 可以作为后端服务器的代理,将用户请求转发到正确的服务器上。 三、Nginx 负载均衡配置 在 `nginx.conf` 文件中,我们可以通过 `upstream` 模块定义一组服务器,然后在 `server` 块中使用 `...

Global site tag (gtag.js) - Google Analytics