注册 登录
  • 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Nginx编译安装详解

Nginx 彭东稳 7599次浏览 已收录 0个评论

一、安装Nginx依赖

1)安装依赖pcre库

PCRE(Perl Compatible Regular Expressions,Perl 兼容正则表达式) 是一个函数库,目前为很多软件所使用,该库支持正则表达式。它由RegEx演化而来,实际上,Perl 正则表达式也是源自于RegEx。如果我们在配置文件nginx.conf里使用了正则表达式, 那么在编译Nginx时就必须把PCRE库编译进Nginx,因为Nginx的HTTP模块要靠它来解析正则表达式。当然,如果你确认不会使用正则表达式,就不必安装它。其yum安装方式如下:

pcre-devel是使用PCRE做二次开发时所需要的开发库,包括头文件等,这也是编译Nginx所必须使用的。

2)安装zlib库

zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf里配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,那么,在编译时就必须把zlib编译进Nginx。其yum安装方式如下:

3)openSSL开发库

如果我们的服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么就需要拥有OpenSSL了。另外, 如果我们想使用MD5、SHA1等散列函数,那么也需要安装它。其yum安装方式如下:

4)安装编译工具

会安装GCC编译器,GCC(GNU Compiler Collection)可用来编译C语言程序,Nginx是C语言写的,需要使用编译器进行编译。

上面所列的4个库只是完成Web服务器最基本功能所必需的。

Nginx是高度自由化的Web服务器,它的功能是由许多模块来支持的。 而这些模块可根据我们的使用需求来定制, 如果某些模块不需要使用则完全不必理会它。同样,如果使用了某个模块,而这个模块使用了一些类似zlib或OpenSSL等的第三方库,那么就必须先安装这些软件。

二、编译安装Nginx

创建Ningx用户

安装Nginx

开始编译Nginx,编译选项的说明后面介绍,下面使用的编译选项基本是官方使用的编译选项,Nginx编译选项

三、启动,停止和重新加载配置

安装完成后就可以直接启动Nginx服务了,要启动nginx的,运行可执行文件即可。

接下来可以往nginx的默认数据根目录添加一个数据,然后访问试试看;

访问是没有问题的,证明我们的nginx已经可以正常工作了。一旦nginx的启动后,你就可以访问nginx服务器的地址了。它可以通过调用可执行控制参数“-s”来关闭、重载配置文件,使用以下语法:

快速关闭服务,使用-s接收stop信号

正常关闭服务,使用-s接收quit信号

重载配置文件,使用-s接收reload信号,一旦master进程接收到的reload信号会重新加载配置,它会检查新的配置文件的语法的正确性,并尝试应用新的配置。如果没有错误,master进程开始新的worker进程,并将消息发送到老的worker进程,要求它们关闭。否则,master进程将回滚更改过的配置,并继续与旧的配置一起工作。旧的工作进程,在接收到关闭、停止命令之前,会继续接收新的连接,并继续服务于当前请求。

有关发送信号到nginx的更多信息,请参阅官方控制Nginx

四、Nginx常用编译选项说明

Nginx 模块必须在编译时就进行选择,目前不支持在运行时进行模块选择。在编译时,可以使用 ./configure --help查看编译帮助,会提供相关的编译选项。需要注意的一点就是大部分编译选项都有默认值,可以指定也可以不指定。另外编译选项一般以 --with开头的都是默认不会编译的,你需要用到什么功能就可以指定其编译选项;另外以 --without开头的选项表示这些模块都是默认会编译的,如果手动指定使用以 --without开头的选项表示你将会关闭此功能模块,慎用。

1)Nginx在编译时,运行期间与路径相关的各种参数

2)一些权限、http、mail及依赖库模块

五、默认启用的选项(等同于默认启用的模块)

待续。。。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (3)or分享 (0)
关于作者:

您必须 登录 才能发表评论!