Nginx的配置文件结构

Nginx的配置文件nginx.conf位于其安装目录的conf目录下。
nginx.conf由多个块组成,最外面的块是main,main包含Events和HTTP,HTTP包含upstream和多个Server,Server又包含多个location

main(全局设置)、server(主机设置)、upstream(负载均衡服务器设置)和 location(URL匹配特定位置的设置)。

  • main块设置的指令将影响其他所有设置;

  • server块的指令主要用于指定主机和端口;

  • upstream指令主要用于负载均衡,设置一系列的后端服务器;

  • location块用于匹配网页位置。
    这四者之间的关系式:server继承main,location继承server,upstream既不会继承其他设置也不会被继承。
    在这四个部分当中,每个部分都包含若干指令,这些指令主要包含Nginx的主模块指令、事件模块指令、HTTP核心模块指令,同时每个部分还可以使用其他HTTP模块指令,例如Http SSL模块、HttpGzip Static模块和Http Addition模块等。

  • user nobody nobody; #主模块指令,指定Nginx Worker进程运行用户以及用户组,默认由nobody账号运行

  • worker_processes 2; #主模块指令,指定了Nginx要开启的进程数。每个Nginx进程平均耗费10M~12M内存。建议指定和CPU的数量一致即可。Nginx服务器实现并发处理服务的关键

  • error_log logs/error.log notice; #主模块指令,用来定义全局错误日志文件。日志输出级别有debug、info、notice、warn、error、crit可供选择,其中,debug输出日志最为最详细,而crit输出日志最少

  • pid logs/nginx.pid; #主模块指令,用来指定进程pid的存储文件位置

  • worker_rlimit_nofile 65535;指定进程可以打开的最多文件描述数目,理论值应该是最多打开文件数(ulimit -n )与nginx进程数相除,但是Nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致

  • events{ # events事件指令是设定Nginx的工作模式及连接数上限

  • use epoll; # 事件模块指令,用来指定Nginx的工作模式,epoll是高效的工作模式

  • worker_connections 65536; # 事件模块指令,用于定义Nginx每个进程的最大连接数,默认是1024

  • }
    server 块是对虚拟主机的配置,server标志定义虚拟主机开始,
    A、listen用于指定虚拟主机的服务端口,
    B、server_name 用来指定IP地址或域名,多个域名之间用空格分开。
    C、index用于设定访问的默认首页地址.。
    D、root指令用于指定虚拟主机的网页根目录,这个目录可以是相对路径,也可以是绝对路径。
    E、charset用于设置网页的默认编码格式。
    F、access_log 用来指定虚拟主机的访问日志存放路径,最后的main 用于指定访问日志的输出格式。5.location块
    URL地址匹配是进行Nginx配置中最灵活的部分。 location支持正则表达式匹配,也支持条件判断匹配,用户可以通过location指令实现Nginx对动、静态网页进行过滤处理。使用location URL匹配配置还可以实现反向代理,用于实现PHP动态解析或者负载负载均衡
    a、location配置
    b、请求根目录配置
    c、更改location的URI
    d、网站默认首页配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值