基本就分为以下几块:
main
events {
....
}
http {
....
upstream myproject {
.....
}
server {
....
location {
....
}
}
server {
....
location {
....
}
}
....
}
nginx配置文件主要分为六个区域:
main(全局设置)、events(nginx工作模式)、http(http设置)、
sever(主机设置)、location(URL匹配)、upstream(负载均衡服务器设置)。
1. main模块
- worker_rlimit_nofile 用于指定一个nginx进程可以打开的最多文件描述符数目,这里是65535,需要使用命令
ulimit -n 65535
来设置。
2. events 模块
events {
use epoll; #linux平台
worker_connections 1024;
}
- use用来指定Nginx的工作模式。Nginx支持的工作模式有select、poll、kqueue、epoll、rtsig和/dev/poll。其中select和poll都是标准的工作模式,kqueue和epoll是高效的工作模式,不同的是epoll用在Linux平台上,而kqueue用在BSD系统中,因为Mac基于BSD,所以Mac也得用这个模式,对于Linux系统,epoll工作模式是首选。
- worker_connections用于定义Nginx每个进程的最大连接数,即接收前端的最大请求数,默认是1024。最大客户端连接数由worker_processes和worker_connections决定,即Max_clients=worker_processes*worker_connections,在作为反向代理时,Max_clients变为:Max_clients = worker_processes * worker_connections/4。
进程的最大连接数受Linux系统进程的最大打开文件数限制,在执行操作系统命令ulimit -n 65536
后worker_connections的设置才能生效。
3. server 模块
- root 表示在这整个server虚拟主机内,全部的root web根目录,注意要和locate {}下面定义的区分开来
- index 全局定义访问的默认首页地址。注意要和locate {}下面定义的区分开来。
4. location 模块
location / {
root /Users/yangyi/www;
index index.php index.html index.htm;
}
- location /表示匹配访问根目录。 还有一种方式就是正则匹配,开启正则匹配这样:location ~ 后面加个~。
- root指令用于指定访问根目录时,虚拟主机的web目录,这个目录可以是相对路径(相对路径是相对于nginx的安装目录)。也可以是绝对路径。
- index用于设定我们只输入域名后访问的默认首页地址,有个先后顺序:index.php index.html index.htm,如果没有开启目录浏览权限,又找不到这些默认首页,就会报403错误。
5. upstream 模块
upstream iyangyi.com{
ip_hash;
server 192.168.12.1:80;
server 192.168.12.2:80 down;
server 192.168.12.3:8080 max_fails=3 fail_timeout=20s;
server 192.168.12.4:8080;
}
网友评论