一、nginx自定义路径和模块安装[源码目录结构、自定义configure配置路径和模块]

一、源码目录结构

  • auto:存放的是编译相关的脚本

  • CHANGES:版本变更记录

  • CHANGES.ru:俄罗斯文的版本变更记录

  • conf:nginx默认的配置文件

  • configure(重要):nginx软件的自动脚本程序,很重要,下面重点讲这个作用:

    • 检测环境及根据环境检测结果生成C代码

    • 生成编译代码需要的Makefile文件

  • contrib:存放的是几个特殊的脚本文件,其中README中对脚本有着详细的说明

  • html:存放的是Nginx自带的两个html页面,访问Nginx的首页和错误页面

  • LICENSE:许可证的相关描述文件

  • man:nginx的man手册

    扫描二维码关注公众号,回复: 15674294 查看本文章
  • README:Nginx的阅读指南

  • src:Nginx的源代码

  • objs(重要):执行./configure之后该文件会被自动创建并且写入./configure生成的中间文件,之后的make会使得生成的nginx二进制文件(nginx的核心)也放置于此

二、自定义configure配置路径和模块

1.路径

解释:可通过将下面参数在源码安装nginx执行./configure + 下面参数实现自定义路径,./configure --help查看可以添加的命令

  --prefix=PATH                     (默认位置/usr/local/nginx)存放nginx安装文件的位置(不一定存放核心二进制文件(取决于--sbin-path),其里面一般html、动态模块软链等等)
  --sbin-path=PATH                  (默认位置/usr/local/nginx/sbin/nginx)二进制的核心可执行文件(名为nginx)
  --modules-path=PATH               (默认位置/usr/local/nginx/modules)一般存放动态模块的so文件(相当于window的dll文件)
  --conf-path=PATH                  (默认位置/usr/local/nginx/conf/nginx.conf)nginx的关键配置文件
  --error-log-path=PATH             (默认位置/usr/local/nginx/logs/error.log)错误日志
  --http-log-path=PATH              (默认位置/usr/local/nginx/logs/access.log)访问日志
  --pid-path=PATH                   (默认位置/usr/local/nginx/logs/nginx.pid)正在运行的nginx进程号
  --lock-path=PATH                  (默认位置/usr/local/nginx/logs/nginx.lock)nginx锁
  
  --add-module=PATH                  加入的第三方模块的路径
  --add-dynamic-module=PATH          动态加入的第三方模块的路径

  --http-client-body-temp-path=PATH  
  --http-proxy-temp-path=PATH        
  --http-fastcgi-temp-path=PATH      
  --http-uwsgi-temp-path=PATH        
  --http-scgi-temp-path=PATH         

2.模块

2.1 初步介绍

解释:之前本专栏的一篇文章在源码编译安装时,提到了这个,下面的示例可以看到有很多东西,可以通过./configure --help查看可以添加的命令,其中可以根据里面指令安装某些模块

示例:./configure --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-KTLRnK/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-compat --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module

2.2 自定义模块安装

解释:值得注意的是,nginx默认安装了40多个模块构成nginx的基本功能,即使./configure什么参数也没有也会被安装上(如下)(可通过./configure后面加参数取消某模块的默认安装);同时存在某些模块并不在默认安装里面但也是很重要的(nginx提供,但默认不安装,需要通过./configure后面添加参数进行安装)例如--with-mail_ssl_module,第三方模块安装:https://blog.csdn.net/weixin_46765649/article/details/128018659

  • HTTP
  • HTTP_CACHE
  • HTTP_CHARSET
  • HTTP_GZIP
  • HTTP_SSI
  • HTTP_ACCESS
  • HTTP_AUTH_BASIC
  • HTTP_MIRROR
  • HTTP_USERID
  • HTTP_AUTOINDEX
  • HTTP_GEO
  • HTTP_MAP
  • HTTP_SPLIT_CLIENTS
  • HTTP_REFERER
  • HTTP_REWRITE
  • HTTP_PROXY
  • HTTP_FASTCGI
  • HTTP_UWSGI
  • HTTP_SCGI
  • HTTP_GRPC
  • HTTP_MEMCACHED
  • HTTP_LIMIT_CONN
  • HTTP_LIMIT_REQ
  • HTTP_EMPTY_GIF
  • HTTP_BROWSER
  • HTTP_UPSTREAM_HASH
  • HTTP_UPSTREAM_IP_HASH
  • HTTP_UPSTREAM_LEAST_CONN
  • HTTP_UPSTREAM_RANDOM
  • HTTP_UPSTREAM_KEEPALIVE
  • HTTP_UPSTREAM_ZONE
  • MAIL_POP3
  • MAIL_IMAP
  • MAIL_SMTP
  • STREAM_LIMIT_CONN
  • STREAM_ACCESS
  • STREAM_GEO
  • STREAM_MAP
  • STREAM_SPLIT_CLIENTS
  • STREAM_RETURN
  • STREAM_UPSTREAM_HASH
  • STREAM_UPSTREAM_LEAST_CONN
  • STREAM_UPSTREAM_RANDOM
  • STREAM_UPSTREAM_ZONE

猜你喜欢

转载自blog.csdn.net/weixin_46765649/article/details/128045791
今日推荐