Linux:Nginx 安装及配置
Nginx 支持目前几乎所有主流的服务器系统,它的包管理安装和系统有关系,如 Ubuntu 下可以使用sudo apt-get install nginx进行安装,在 Centos 下可以使用 sudo yum install nginx 进行安装,这种安装方式虽然很方便,不用考虑依赖等问题,但对定制模块和插件不太友好。下面以 Centos 为例,用源码安装 Nginx。
一、安装依赖
yum -y install wget gcc gcc-c++ autoconf automake make zlib zlib-devel pcre-devel pcre
二、下载源码并安装
wget https://nginx.org/download/nginx-1.12.2.tar.gz
1.使用默认安装
# cd nginx-1.12.2
# ./configure
# make && make install
虽然这样 Nginx 也安装完成了,但默认配置太简单了。Nginx 提供了很多自定义初始环境,与 ./configure 命令配合使用即可,常见的参数说明如下:
–-prefix=path:定义Nginx的存放目录。默认目录为/usr/local/nginx。
–-conf-path=path:设置配置文件路径。默认为/usr/local/nginx/conf/nginx.conf,也可以在 Nginx 服务启动时通过参数 -c 指定文件路径。
--with-threads:开启 Nginx 线程池功能,主要是为了提升 Nginx 读取硬盘的性能。一般情况下主机有几核处理器在启动Nginx时就会创建几个Worker工作进程。
--with-file-aio:Linux 2.6.22以上版本中启用异步IO
--with-http_gzip_static_module:启用 ngx_http_gzip_module 压缩模块,一般用来压缩响应信息,以节约带宽。
--with-stream_realip_module:获取客户端真实 IP。
--with-stream_ssl_module:启用 HTTPS 支持。
--without-http_gzip_module:禁用 ngx_http_gzip_module 。
注意:
[1].如果需要,可以始终使用不同的配置文件启动nginx,方法是在命令行参数中指定它 。默认情况下,该文件已命名 。 -c fileprefix/conf/nginx.conf。
[2].--without-http_[module_name] 可以禁用在编译时不需要的模块。
[3].Nginx 是一个开源软件,有大量的第三方模块来扩展其使用范围,在自定义初始环境时,使用 --add-module=PATH 添加第三方包(PATH 就是包的路径)。
2.Nginx 服务的使用
[1].开启nginx进程
/usr/local/nginx/sbin/nginx
[2].重启或关闭进程:
/usr/local/nginx/sbin/nginx -s reload
/usr/local/nginx/sbin/nginx -s stop
三、实例:支持HTTPS
支持 HTTPS 是提高网站安全性的必要技术手段之一,可以使用系统已有的 OpenSSL 的 lib 包来激活 Nginx 支持 HTTPS。如下
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module
# make && make install
由于 OpenSSL 在 2014 年曝出安全性问题,这种方式已经不太安全了。所以应该到 OpenSSL 官网下载较新的稳定版本,解压后编译进 Nginx 中,如下:
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/path/openssl-1.0.20
# make && make install
如果其他 lib 包需要通过源码编译安装,也可用类似方式,如 PCRE 的 lib 包,需要执行 --with-pcre=DIR 命令,而 zlib 的 lib 包则要执行 -with-zlib=DIR 命令。