一、安装Nginx
准备工作:安装好gcc、 openssl-devel、 pcre-devel和zlib-devel软件库。
安装命令:
wget http://nginx.org/download/nginx-1.0.14.tar.gz
tar zxvf nginx-1.0.14.tar.gz
./configure --with-http_stub_status_module --prefix=/opt/nginx
cd nginx-1.0.14
make
make install
注:–with-http_stub_status_module 可以用来启用 Nginx 的 NginxStatus 功能,以监控 Nginx 的运行状态。
二、Nginx配置文件结构
2.1 按块详解:
2.1.1 全局块
1」配置运行Nginx服务器用户(组)
指令格式:
user user [group];
user:指定可以运行Nginx服务器的用户
group:可选项,可以运行Nginx服务器的用户组
如果user指令不配置或者配置为user nobody nobody,则默认所有用户都可以启动Nginx进程
2」worker process数配置
Nginx服务器实现并发处理服务的关键,指令格式:
worker_processes number | auto;
number:Nginx进程最多可以产生的worker process数
auto:Nginx进程将自动检测
按照上文中的配置清单的实验,我们给worker_processes配置的数目是:3,启动Nginx服务器后,我们可以后台看一下主机上的Nginx进程情况:
ps -aux | grep nginx
很明显,理解 worker_processes 这个指令的含义就很容易了
3」Nginx进程PID存放路径
Nginx进程是作为系统守护进程在运行,需要在某文件中保存当前运行程序的主进程号,Nginx支持该保存文件路径的自定义
指令格式:
pid file;
file:指定存放路径和文件名称如果不指定默认置于路径 logs/nginx.pid
4」错误日志的存放路径
指定格式:
error_log file | stderr;
file:日志输出到某个文件file
stderr:日志输出到标准错误输出
5」 配置文件的引入
指令格式:
include file;
该指令主要用于将其他的Nginx配置或者第三方模块的配置引用到当前的主配置文件中
#例子:
#include host.conf
2.1.2 events块
1」设置网络连接的序列化
指令格式:
accept_mutex on | off;
该指令默认为on状态,表示会对多个Nginx进程接收连接进行序列化,防止多个进程对连接的争抢。
2」是否允许同时接收多个网络连接
指令格式:
multi_accept on | off;
该指令默认为off状态,意指每个worker process 一次只能接收一个新到达的网络连接。若想让每个Nginx的workerprocess都有能力同时接收多个网络连接,则需要开启此配置
3」事件驱动模型的选择
指令格式:
use model;
model模型可选择项包括:select、poll、kqueue、epoll、rtsig等......
4」最大连接数的配置
指令格式:
worker_connections number;
number默认值为512,表示允许每一个worker process可以同时开启的最大连接数
2.1.3 HTTP块-全局
1」定义MIME-Type
指令格式:
include mime.types;
default_type mime-type;
MIME-Type指的是网络资源的媒体类型,也即前端请求的资源类型
include指令将mime.types文件包含进来
cat mime.types
来查看mime.types文件内容,我们发现其就是一个types结构,里面包含了各种浏览器能够识别的MIME类型以及对应类型的文件后缀名字,如下所示:
2」自定义服务日志