本文主要记录一次从源码安装Nginx过程,参考的是Nginx官网。
安装过程比较简单,就是下载源码包,下载依赖包,打包编译安装就完事了。
安装
- 安装依赖包
因为下面的安装过程会打包编译https模块,依赖于openssl,所以需要安装这个依赖,否则会出现yum -y install gcc automake autoconf libtool make yum -y install openssl openssl-devel
./configure: error: SSL modules require the OpenSSL library.
的异常。 - 下载源码包
直接从官网下载安装包即可 - 下载依赖包
需要的依赖pcre
和zlib
,从各自的官网下载即可:PCRE,下载地址,zlib,下载地址。 - 配置
# 进入nginx源码目录中 cd /path/to/nginx-source-directory ./configure \ --sbin-path=/usr/local/nginx/sbin/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --pid-path=/usr/local/nginx/nginx.pid \ --with-http_ssl_module -\ -with-pcre=../pcre-8.41 \ --with-zlib=../zlib-1.2.11
- 编译
# 进入nginx源码目录中 cd /path/to/nginx-source-directory make
- 安装
# 进入nginx源码目录中 cd /path/to/nginx-source-directory make install
到这里Nginx就安装完成了,下面给出一些nginx配置的建议。
建议
nginx安装完之后,就需要进行一些配置,下面是我的一些建议。
目录结构
在
conf
目录中,创建vhosts
和upstreams
目录,两个目录分别存储server
和upstream
的定义。在nginx.conf
中添加下面的代码引入配置:include upstreams/*.conf; include vhosts/*.conf;
文件命名
在
vhosts
定义文件格式为*.vhost.conf
,如果监听服务是域名,以域名倒置格式命名,比如:cn.howardliu.www.vhost.conf
,这样的好处是,相同一级域名,不同二级域名的配置文件,在文件列表展示的时候,会在一起,比较好区分隔离。upstreams
定义文件格式为*.upstream.conf
,以服务模块名进行区分,好处是能够在一个文件中定义相同服务模块的内容,进行服务或模块隔离,或者以服务.模块.upstream.conf
的格式,但是这样的坏处是,比较散,文件比较多。建议显示生命链接超时时间
在
nginx.conf
的http
中定义超时时间,下面是我测试环境的一个定义,需要根据自己的情况:fastcgi_connect_timeout 300; fastcgi_read_timeout 300; fastcgi_send_timeout 300; proxy_connect_timeout 300s; proxy_read_timeout 300s; proxy_send_timeout 300s;
个人主页: https://www.howardliu.cn
个人博文: 源码安装NGINX
CSDN主页: http://blog.csdn.net/liuxinghao
CSDN博文: 源码安装NGINX