1,nginx 安装编译之前,需要安装一些依赖库

1 yum install -y  gcc openssl-devel pcre-devel zlib-devel

 

2,nginx安装很简单,默认情况下,经过编译安装的nginx包含了大部分可用模块。

1 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_perl_module

安装perl模块可能会出现一下报错

1 ./configure: error: perl module ExtUtils::Embed is required

即可解决

yum install -y perl-ExtUtils-Embed

在上面的configure选项中,--with-http_stub_status_module 可以启用nginx status功能,以监控nginx当前状态

nginx的配置文件是一个纯文本文件,它一般位于nginx安装目录的conf目录下,整个配置文件是以block的形式组织的,每个block一般以一个大括号“{}”来表示,block可分为几个层次,

配置与调试nginx

nginx安装完毕后,会产生相应的安装目录,其中,nginx.conf 为主配置文件

nginx的配置文件主要分4部分:main(全局设置),server(主机设置),upstream(负载均衡服务器设置)和location(URL匹配特定位置的设置)。

 

main指令将影响其它的所有配置,server指令则用于指定主机和端口,upstream指令则主要用于负载均衡,设置一系列后端服务器。location 指令则用于匹配网页位置。

四者关系如下

server继承main,location继承server,upstream既不会继承其它设置也不会被继承

user是主模块指令,指定nginx worker进程运行用户以及用户组,默认由nobody帐号运行

worker_processes是主模块指令,指定了nginx要开启的进程数,每个nginx进程平均消耗

10MB~12MB内存,根据经验,一般指定一个进程就足够了,如果是多核CPU,建议指定和CPU数量一样多的进程数即可

 

erro_log,是这个主模块指令,用来定义全局错误日志,日志输出级别为debug,info,notice,warn,error,crit可供选择,其中debug最为详细,crit则最少

pid是个主模块指令,用来指定进程的ID的存储文件位置。

worker_rlimit_nofile 用于绑定worker进程的CPU,Linux内核2.4以上可用

events指令用来设定nginx的工作模式及链接数上限。

user是个事件模块指令,用来指定nginxd gongz moshi .nginx支持的工作模式有select,poll,kqueue,epoll,rtsig和/dev/poll。其中select和poll都是标准的工作模式

kqueue和epoll,是高效工作模式。在Linux平台上epoll是首先

worker_connections 也是个事件模块指令,用于定义NGINX 每个进程的最大链接数,默认1024,最大client端连接数由worker_processes和worker_connections决定,即max_client=worker_processes*worker_connections 

在作为反向代理时变为:maxclients=worker_processes*worker_connections/4

进程的最大连接数受Linux系统进程的最大打开文件数限制,在执行系统命令ulimit -n 65536 后worker_connections的设置才能生效。

 

 END!