首页 > 系统相关 >CentOS 7 nginx 安装 sticky模块

CentOS 7 nginx 安装 sticky模块

时间:2024-07-05 16:31:36浏览次数:18  
标签:CentOS -- module devel nginx peer sticky

一、安装准备

         首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装

yum install gcc-c++ 

 

 

安装下面命令的目的是确保系统上安装了这些库和开发包,以便在编译和安装一些需要使用这些库的软件时,可以顺利进行。

  yum install pcre pcre-devel

 

    pcre 是 Perl Compatible Regular Expressions 的缩写,即 Perl 兼容的正则表达式库。

    pcre-devel 是用于开发的 pcre 库,包含头文件和静态库,可以帮助开发者编译和链接使用 pcre 的程序。

 

  yum install zlib zlib-devel

 

    zlib 是一个数据压缩库,广泛用于许多软件中,特别是在 web 服务器和应用中用于压缩和解压缩数据。

    zlib-devel 是 zlib 的开发包,包含了头文件和静态库,用于开发者编译和链接使用 zlib 的程序。

 

  yum install openssl openssl-devel

 

    openssl 是一个开放源代码的加密库,实现了 SSL 和 TLS 协议,用于安全地传输数据。

    openssl-devel 是 OpenSSL 的开发包,包含了开发所需的头文件和静态库,用于开发者编译和链接使用 OpenSSL 的程序。

 

yum install pcre pcre-devel  
yum install zlib zlib-devel  
yum install openssl openssl--devel

 

二、安装Nginx

安装之前,最好检查一下是否已经安装有nginx

find -name nginx


如果系统已经安装了nginx,那么就先卸载  注意:如果有之前配置好的 配置文件 请进行备份

yum remove nginx


首先进入/usr/local/src目录

cd /usr/local/src


下载nginx-sticky插件(正常是无法访问,方法你应该懂,不做负载均衡可以省略此步)

https://code.google.com/archive/p/nginx-sticky-module/downloads

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/nginx-sticky-module/nginx-sticky-module-1.1.tar.gz

也可以先下载到本地电脑上,然后上传到服务器,ip换成你服务器的地址

scp E:\test\nginx-sticky-module-1.1.tar.gz [email protected]:/usr/local/src

解压

tar -xzvf nginx-sticky-module-1.1.tar.gz


从官网下载最新版的nginx,我这里使用1.20.1版本

wget http://nginx.org/download/nginx-1.20.1.tar.gz


解压nginx压缩包

tar -zxvf nginx-1.20.1.tar.gz


会产生一个nginx-1.20.1 目录,这时进入nginx-1.20.1目录

cd nginx-1.20.1

接下来安装,使用--prefix参数指定nginx安装的目录(/usr/local/nginx),

编译make、安装make install

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=../nginx-sticky-module-1.1
make 
make install     

 

由于版本的问题编译时大概率会出现错误:

进入nginx-sticky-module-1.1目录

1.根据资料 把ngx_http_sticky_misc.c 的281行修改如下

原

digest->len = ngx_sock_ntop(in, digest->data, len, 1);
改后

digest->len = ngx_sock_ntop(in, sizeof(struct sockaddr_in), digest->data, len, 1);

2.对ngx_http_sticky_module.c文件也进行修改

修改两个地方

第6行添加:

#include <nginx.h>

 

第330行左右(iphp->rrp.current = iphp->selected_peer;)修改为:

#if defined(nginx_version) && nginx_version >= 1009000

  iphp->rrp.current = peer;

#else

  iphp->rrp.current = iphp->selected_peer;

#endif

修改后参考

/* we have a valid peer, tell the upstream module to use it */
if (peer && selected_peer >= 0) {
  ngx_log_debug(NGX_LOG_DEBUG_HTTP, pc->log, 0, "[sticky/get_sticky_peer] peer found at index %i", selected_peer);
#if defined(nginx_version) && nginx_version >= 1009000
  iphp->rrp.current = peer;
#else
  iphp->rrp.current = iphp->selected_peer;
#endif

 

修改完成后重新编译make、安装make install

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=../nginx-sticky-module-1.1
make 
make install     

 

 

 

 

 

 

 

标签:CentOS,--,module,devel,nginx,peer,sticky
From: https://www.cnblogs.com/ankeyliu/p/18286096

相关文章

  • nginx优先级匹配规则
    一、常用的Nginx正则表达式二、rewrite和location的功能三、location匹配规则1.location的三类匹配2.location常用的匹配规则3.location优先级4.location示例5.优先级总结6.location的三个匹配规则定义四、rewrite功能1.rewrite功能2.rewrite执行顺序和语法格式1......
  • centos git 如何升级 版本
    今天突然centos服务器的git不正常了。error:RPcfailed;result=22,HTTPcode=422fatal:Theremoteendhungupunexpectedly在CentOS上升级Git版本,可以通过多种方法实现,包括使用Yum包管理器、源码编译安装等。以下是详细的步骤说明:一、使用Yum包管理器升级(如果官方仓库中有......
  • linux(CentOS)搭建MySQL数据库--详细版
    1、MySQL数据库去mysql官网下载需要安装的mysql版本,我这里用的是mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz将该压缩包放到/usr/local/mysql_store目录下,mysql_store目录需要自己手动创建,cd/usr/localmkdirmysql_store然后解压该压缩包,输入如下指令:tar-zxvfmy......
  • Linux(Centos7)安装Docker 社区(ce)版
    安装准备查看Linux系统版本是否为centos7cat/etc/os-release确保系统内核为3版本以上uname-a安装Docker如之前安装过请卸载yumremovedocker\docker-client\docker-client-latest\docker-common\......
  • Docker 构建nginx镜像
     步骤:(1)创建一个目录,把构建Nginx的Dockerfile文件保存到此目录。创建一个名为nginxDockerfile的目录。mkdirnginxDockerfile(2)进入刚才创建好的目录。cdnginxDockerfile(3)创建Dockerfile文件。vimdockerfile 文件内容如下FROMcentosMAINTAINERxpxRUNyum......
  • nginx+tomcat+二级域名+https
    1.添加域名解析在腾讯云或者阿里云中添加域名解析,解析到具体得ip​​2.购买SSL证书在腾讯云或者阿里云中购买相应的SSL,基本上每个SSL只能解析一个HTTPS,所以如果你有多个二级域名设置HTTPS的话,需要申请多个SSL3.安装多个tomcat3.1下载tomcat安装包放入服务器中从网上下载t......
  • Nginx的安装
    一、前言在上一篇博客中,讲述了在服务器上安装多个tomcat,现在这篇博客要讲是安装nginx二、配置Nginx的安装环境安装Nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yuminstallgcc-c++,安装完gcc后,才可以进行下一步的安装三、编译安装1.解压......
  • Nginx设置二级域名映射到不同的Tomcat
    一、前言在之前的博客中,已经安装好了多个tomcat和nginx,本篇博客将介绍如何设置不同的二级域名转发到不同的tomcat上二、配置服务器端我使用的是腾讯云服务器,只需要在云解析中配置相关域名信息即可三、配置nginx进入nginx的配置文件中cd/usr/local/nginx/confvimnginx.c......
  • 关于nginx HTTP安全响应问题
    目录一、背景二、http基本安全配置2.1host头攻击漏洞2.2httpmethod请求方式攻击漏洞2.3点劫持漏洞(X-Frame-Options)2.4X-Download-Options响应头缺失2.5Content-Security-Policy响应头缺失2.6Strict-Transport-Security响应头缺失2.7X-Permitted-Cross-Domain-Po......
  • Nginx主要应用场景(必读)
    本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,这里是根据个人使用过和了解到过总结出来的。所以还请见谅,同时欢迎留言交流。Nginx能做什么?反向代理负载均衡HTTP服务器(包含动静分离)正向代理以上......