Nginx使用教程(一):Nginx编译参数详解
从源代码编译应用程序时通常有三个步骤:配置,编译和安装。 配置步骤允许您选择一些在程序编译后无法编辑的选项,因为它对程序二进制文件有直接影响。 因此,这是一个非常重要的阶段,你需要仔细选择,如果你想避免后面的麻烦,如缺乏一个特定的模块或配置文件位于一个随机文件夹等。
简单安装
<br\>
如果由于某种原因,您不想使安装这么麻烦(例如用于测试目的或仅仅因为您以后会重新编译程序),则可以直接使用不带参数的configure命令。 执行以下三个命令来编译和安装Nginx的工作版本,从configure命令开始:
- [alex@example.com nginx-1.8.0]# ./configure
运行此命令需要比较长的时间来进行验证过程,以确保您的系统包含所有必需的组件。 如果配置过程失败,请再次检查安装依赖部分,因为它是错误的最常见原因。 有关命令失败原因的信息,您还可以参考objs/autoconf.err文件,其中提供了更详细的报告。 make命令将编译应用程序。 只要配置正确,此步骤不应出现任何错误。
- [alex@example.com nginx-1.8.0]# make
- [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
Nginx使用教程(一):Nginx编译参数详解的更多相关文章
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- 【转】 linux 安装nginx及编译参数详解
版权声明:本文为博主原创文章,未经博主允许不得转载. 从官网下载一个nginx 的tar.gz 版. 安装方式使用make 安装 第一步:解压 tar -zxvf nginx-1.7.4.tar.g ...
- Windows下Nginx Virtual Host多站点配置详解
Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 window ...
- Nginx 常用全局变量 及Rewrite规则详解
每次都很容易忘记Nginx的变量,下面列出来了一些常用 $remote_addr //获取客户端ip $binary_remote_addr //客户端ip(二进制) $remote_port //客 ...
- Nginx+Tomcat的服务器端环境配置详解
这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让ngi ...
- nginx源码分析线程池详解
nginx源码分析线程池详解 一.前言 nginx是采用多进程模型,master和worker之间主要通过pipe管道的方式进行通信,多进程的优势就在于各个进程互不影响.但是经常会有人问道,n ...
- Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...
- 七牛云存储Python SDK使用教程 - 上传策略详解
文 七牛云存储Python SDK使用教程 - 上传策略详解 七牛云存储 python-sdk 七牛云存储教程 jemygraw 2015年01月04日发布 推荐 1 推荐 收藏 2 收藏,2.7k ...
- [js高手之路] es6系列教程 - 对象功能扩展详解
第一:字面量对象的方法,支持缩写形式 //es6之前,这么写 var User = { name : 'ghostwu', showName : function(){ return this.nam ...
- Android ADB命令教程二——ADB命令详解
Android ADB命令教程二——ADB命令详解 转载▼ 原文链接:http://www.tbk.ren/article/249.html 我们使用 adb -h 来看看,adb命令里面 ...
随机推荐
- 自己动手实现java数据结构(三) 栈
1.栈的介绍 在许多算法设计中都需要一种"先进后出(First Input Last Output)"的数据结构,因而一种被称为"栈"的数据结构被抽象了出来. ...
- vue-cli keep-alive用法以及activated,deactivated
keep-alive用法 <keep-alive>是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM. include: 字符串或正则表达式.只有匹配的组件会被 ...
- Python机器学习笔记 Logistic Regression
Logistic回归公式推导和代码实现 1,引言 logistic回归是机器学习中最常用最经典的分类方法之一,有人称之为逻辑回归或者逻辑斯蒂回归.虽然他称为回归模型,但是却处理的是分类问题,这主要是因 ...
- Jmeter JDBC Request 查询语句中有汉字查询结果为空的解决方法
搜索接口我会校验返回值,查询JDBC Request 查询语句有中文字的时候查询会有问题. 解决方法很简单,在JDBC Connection Configuration的Database URL里加一 ...
- vmware--查看链接克隆依赖关系
我们都知道,虚拟机克隆有完全克隆和链接克隆两种克隆方式.当根据模版去链接克隆出很多机器时,时间一长或者把克隆后的机器改名了,我们就忘记了哪台机器是克隆出来的,哪台是直接装的.如果不小心把模版机器给删除 ...
- SQL Server 2012使用Offset/Fetch Next实现分页
在Sql Server 2012之前,实现分页主要是使用ROW_NUMBER(),在SQL Server2012,可以使用Offset ...Rows Fetch Next ... Rows onl ...
- JAVAEmail工具错误java.lang.ClassNotFoundException: javax.activation.DataSource
JDK9以上或JDK6以下使用mail.jar包不加JAF的activation.jar包会抛出该错误!JDK6以上不需要加该jar包: 参考原文 https://stackoverflow.com/ ...
- C#编译错误 CS0009:未能打开元数据文件
C#编译错误 CS0009:未能打开元数据文件 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS0009: 未能 ...
- 在C#中的构造函数和解析函数
构造函数 class A() { A() {Console.write("构造函数");} } 当你在程序种出现 A a=new A();的时候 程序自动执行 构造函数 A() { ...
- PHP7.27: MySqlhelper class
https://github.com/ThingEngineer/PHP-MySQLi-Database-Class https://github.com/wildantea/php-pdo-mysq ...