nginx源码安装、升级

205 阅读1分钟

一、Nginx安装

`$ cd nginx-1.12.0

$ ./configure  --prefix=/data/qst/nginx      #指定安装目录

$ make      # 编译

$ make install  # 安装`

将ngixn安装至 /data/qst/nginx目录

二、Nginx升级或引入第三方库

上传源码包 以nginx-1.25.0.tar.gz为例:

1、解压:
tar xf nginx-1.25.0.tar.gz
cd nginx-1.25.0

2、编译
以原有nginx编译参数为准 可通过nginx -V 查询
例: --prefix=/data/qst/nginx

./configure --prefix=/data/qst/nginx --with-http_stub_status_module --with-pcre --with-http_sub_module --add-module=/data/qst/headers-more-nginx-module-0.34

make             #注意 仅make 

cd objs

此目录下会生成二进制nginx 文件

使用此nginx 文件替换原有 nginx目录下 sbin/nginx 
关闭nginx           nginx -s stop
重命名原nginx       mv sbin/nginx    sbin/nginx_old
替换原有nginx       mv objs/nginx   sbin/nginx
重新开启nginx            sbin/nginx

注意:

1、headers-more-nginx-module-0.34

可以隐藏Server:nginx 头信息

Nginx 对应 server下配置 more_clear_headers 'Server';

2、--with-http_sub_module 可以批量给前端添加属性 Nginx 对应 server下配置

   set $cspNonce '2726c7f26c';
    sub_filter_once off;
    sub_filter_types *;
    sub_filter *CSP_NONCE* $cspNonce;
    sub_filter '<script' '<script nonce=$cspNonce ';
    sub_filter '<link' '<link nonce="$cspNonce" ';
    
用于处理“Content-Security-Policy”头中缺少“Object-Src”或“Default-src”策略或相应策略不安全漏洞

以上两个漏洞修复方案 针对于windows版本的nginx 可以使用cygwin64