一、nginx自定义路径和模块安装[源码目录结构、自定义configure配置路径和模块]
admin
2024-02-16 07:24:25
0

一、源码目录结构

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

  • CHANGES:版本变更记录

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

  • conf:nginx默认的配置文件

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

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

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

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

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

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

  • man:nginx的man手册

  • 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

相关内容

热门资讯

女朋友快生日了我不在她身边想说... 女朋友快生日了我不在她身边想说几句浪漫点得祝福语,请各位帮忙...亲爱的,距离永远阻挡不了我对你爱,...
我18岁了,想献血,请问献血有... 我18岁了,想献血,请问献血有什么规定?无传染性疾病
即便心再痛,也愿意因为爱而停下... 即便心再痛,也愿意因为爱而停下来等待前任回头的星座有哪些?摩羯座,金牛座还有白羊座就这个星座他是非常...
第一个字是从的成语大全,从字开... 第一个字是从的成语大全,从字开头的四字词语 第一个字是从的成语大全 从容应对、 从容自若、 从天...
谁能给我紫藤萝瀑布课后练习第1... 谁能给我紫藤萝瀑布课后练习第1题的答案!自己写。原先,焦虑和悲痛“一直压在我心上”,在繁花盛开的藤萝...
冷笑话的定义是什么? 冷笑话的定义是什么?怎么样的话才算冷笑话?不好笑的笑话吧.定义1:就是讲的人挺平静的,基本上面无表情...
感觉自己失去了目标,现在不知道... 感觉自己失去了目标,现在不知道该怎么生存下去了。人生中没有一帆风顺,现成的路可走,总会遇到一些困难,...
我都24了,还没有男朋友,我真... 我都24了,还没有男朋友,我真的很慌。怎么办?身边也没有男生说喜欢我你愿意网恋吗缘分 不要宅在家里那...
我有一个朋友,我们总是出去玩,... 我有一个朋友,我们总是出去玩,喝酒。但是他每次出来都要炫耀他赚了多少钱,我觉得他很爱炫,我就不想和炫...
林永健拍过什么电视剧 林永健拍过什么电视剧金婚喜耕田的故事城里城外马文的战争
斑马s6有必要学吗 斑马s6有必要学吗有。1、激发兴趣:通过有趣的故事、游戏和其他互动活动,斑马儿童英语S6可以激发孩子...
甜蜜乐章 撮合不了子奇和慕容啊... 甜蜜乐章 撮合不了子奇和慕容啊~~~~!必须是金曲奖的最佳演唱人,不然触发不了
暮光之城3 暮光之城3现在没有出呢!有也是骗人的!起码要国内上映之后吧!我和你一样期待呢!
学生会查寝收走了东西,要用什么... 学生会查寝收走了东西,要用什么法律武器把收走的东西要回来?和学校讲法律,劝你还是别这么冲动了。拿到明...
信任无价主要讲了一个什么故事 信任无价主要讲了一个什么故事主要讲了:一位女老师通过绝食的办法,让那位偷了快译通的学生自己主动交出。
什么叫奴隶社会 什么叫奴隶社会 奴隶社会:从公元前21世纪夏朝建立开始,到公元前221年秦王嬴政统一中国结束。[1...
中级经济师人力资源专业怎么才能... 中级经济师人力资源专业怎么才能考过啊?只是看指定的那两本书《经济基础》和《人力资源管理》,然后再把上...
为什么海里都是水啊 为什么海里都是水啊海里没水 海就不叫海了不难怎么叫海水 嘿嘿。海里没水 海就不叫海了
14岁两个女生,一米深的河里手... 14岁两个女生,一米深的河里手绑手溺亡,疑点重重,怎么回事?这个是因为她们忍受不了家里面的重男轻女,...
帮解几道五年级数学题!急急急~... 帮解几道五年级数学题!急急急~快快快!(要解)52=2*2*13