点赞
评论
收藏
分享
举报
Nginx使用教程(一)(下):Nginx编译参数详解
发表于2021-02-08 10:13

浏览 1.1k

从源代码编译应用程序时通常有三个步骤:配置,编译和安装。 配置步骤允许您选择一些在程序编译后无法编辑的选项,因为它对程序二进制文件有直接影响。 因此,这是一个非常重要的阶段,你需要仔细选择,如果你想避免后面的麻烦,如缺乏一个特定的模块或配置文件位于一个随机文件夹等。

简单安装

<br\>
如果由于某种原因,您不想使安装这么麻烦(例如用于测试目的或仅仅因为您以后会重新编译程序),则可以直接使用不带参数的configure命令。 执行以下三个命令来编译和安装Nginx的工作版本,从configure命令开始:

  1. [alex@example.com nginx-1.8.0]# ./configure

运行此命令需要比较长的时间来进行验证过程,以确保您的系统包含所有必需的组件。 如果配置过程失败,请再次检查安装依赖部分,因为它是错误的最常见原因。 有关命令失败原因的信息,您还可以参考objs/autoconf.err文件,其中提供了更详细的报告。 make命令将编译应用程序。 只要配置正确,此步骤不应出现任何错误。

  1. [alex@example.com nginx-1.8.0]# make
  2. [root@example.com nginx-1.8.0]# make install

这最后一步将编译文件以及其他资源复制到安装目录,默认是/usr/local/nginx

Path选项

<br\>

参数用途默认值
–prefix=…Nginx安装的基础目录/usr/local/nginx
–sbin-path=…Nginx二进制安装目录/sbin/nginx.
–conf-path=…主配置文件安装位置/conf/nginx.conf.
–error-log-path=…错误日志位置/logs/error.log.
–pid-path=…Nginx pid文件路径,可以在配置文件指定/logs/nginx.pid.
–lock-path=…锁文件位置/logs/nginx.lock.
–with-perl_
modules_path=…
Perl模块位置
–with-perl=…Perl二进制文件路径
–http-log-
path=…
访问日志路径,可以在配置文件指定/logs/access.log.
–http-client-
body-temp-path=…
存放由客户端请求生成的临时文件路径/client_body_temp.
–http-proxy-
temp-path=…
proxy产生的临时文件路径/proxy_temp.
–http-fastcgi-
temp-path=…
–http-uwsgi-
temp-path=…
–http-scgi-
temp-path=…
由HTTP,FastCGI, uWSGI和SCGI模块产生的临时文件路径/ fastcgi_temp, /uwsgi_temp, and/scgi_temp.

依赖选项

<br\>
依赖以库和二进制文件的形式出现。 现在,它们应该已经全部安装在您的系统上了。 但是,即使它们存在于您的系统上,也有可能出现配置脚本无法找到它们的情况。 原因可能有所不同,例如,如果它们安装在非标准目录中。
为了解决这些问题,您可以使用以下选项来指定依赖的路径(其他依赖相关选项已组合在一起):

编译选项描述
–with-cc=…指定C编译器的备用位置。
–with-cpp=…指定C预处理器的备用位置。
–with-cc-opt=…定义要传递到C编译器命令行的其他选项。
–with-ld-opt=…定义要传递到C链接器命令行的其他选项。
–with-cpu-opt=…在以下值中指定不同的目标处理器体系结构:pentium,pentiumpro,pentium3,pentium4,athlon,opteron,sparc32,sparc64和ppc64。
PCRE选项描述
–without-pcre禁用PCRE库的使用。 不建议使用此设置,因为它将删除对正则表达式的支持,从而禁用Rewrite模块。
–with-pcre强制使用PCRE库。
–with-pcre=…允许您指定PCRE库源代码的路径。
–with-pcre-opt=…构建PCRE库的其他选项。
–with-pcre-jit=…构建PCRE与JIT编译的支持。
MD5选项描述
–with-md5=…指定MD5库源的路径。
–with-md5-opt=…用于构建MD5库的其他选项。
–with-md5-asm为MD5库指定汇编源。
SHA1选项描述
–with-sha1=…指定SHA1库源的路径。
–with-sha1-opt=…构建SHA1库的其他选项。
–with-sha1-asm为SHA1库指定汇编器源。
zlib选项描述
–with-zlib=…指定zlib library源的路径。
–with-zlib-opt=…用于构建zlib库的其他选项。
–with-zlib-asm=…为zlib库指定汇编器源。
OpenSSL选项描述
–with-openssl=…指定OpenSSL库源的路径。
–with-openssl-opt=…用于构建OpenSSL库的其他选项。

模块选项

<br\>
在编译程序之前,需要指定要安装的模块。 有些是默认启用的,有些需要手动启用,如下表所示。

默认启用的模块

以下参数允许您禁用默认情况下启用的模块:
–without-http_charset_module
–without-http_gzip_module
–without-http_ssi_module
–without-http_userid_module
–without-http_access_module
–without-http_access_module
–without-http_autoindex_module
–without-http_geo_module
–without-http_map_module
–without-http_referer_module
–without-http_rewrite_module
–without-http_proxy_module
–without-http_fastcgi_module
–without-http_uwsgi_module
–without-http_scgi_module
–without-http_memcached_module
–without-http_limit_conn_module
–without-http_limit_req_module
–without-http_empty_gif_module
–without-http_browser_module
–without-http_upstream_ip_hash_module
–without-http_upstream_least_conn_module
–without-http_split_clients_module

默认禁用的模块

以下参数允许您启用默认禁用的模块:
–with-http_ssl_module
–with-http_realip_module
–with-http_addition_module
–with-http_xslt_module
–with-http_image_filter_module
–with-http_geoip_module
–with-http_sub_module
–with-http_dav_module
–with-http_flv_module
–with-http_mp4_module
–with-http_gzip_static_module
–with-http_random_index_module
–with-http_secure_link_module
–with-http_stub_status_module
–with-google_perftools_module
–with-http_degradation_module
–with-http_perl_module
–with-http_spdy_module
–with-http_gunzip_module
–with-http_auth_request_module

已修改于2023-03-04 02:26
创作不易,留下一份鼓励
守望

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
守望
这家伙很懒还未留下介绍~
89
文章
0
问答
17
粉丝
相关文章
Namenginx_ajp_module -supportAJPprotocolproxywithNginxSynopsishttp{ upstreamtomcats{ server127.0.0.1:8009; keepalive10; } server{ listen80; location/{ ajp_keep_connon; ajp_passtomcats; } } } DescriptionWiththismodule,NginxcanconnecttoAJPpo
点赞 0
浏览 1.1k
配置示例:http {     slowfs_cache_path  /tmp/cache levels=1:2 keys_zone=fastcache:10m;     slowfs_temp_path   /tmp/temp 1 2;     server {         location / {             root                /v
点赞 0
浏览 1.1k
原文作者:BrianEhlertofF5原文链接:Kubernetes网络入门-NGINX转载来源:NGINX官方网站  NodePort、LoadBalancer、Ingresscontroller(Ingress控制器)……,Kubernetes组件简直令人眼花缭乱。当我们与客户和社区讨论生产级Kubernetes部署时,他们经常会问的一个问题是:我需要Ingresscontroller吗?这个问题不能简单地用“是”或“否”来回答,我们要先了解将流量路由到pod的几种不同方式。本文介绍了Kubernetes网络的基础知识,可帮助您就是否以及何时需要Ingresscontroller做出明智的决策。Kubernetes提供了多种方法和层级用于将外部流量路由到pod——但它们各有不同。默认的模型是 kube-proxy,不过它既不是代理,也不是为实施流量负载均衡、控制API或监控service行为而设计。幸运的是,我们还可以使用其他方法来管理外部流量。但在展开讨论之前,我们先来快速回顾一下Ku
点赞 0
浏览 1.4k