Nginx之配置

位置

配置文件 nginx.conf 在 /usr/local/nginx/conf/ 目录下
在这里插入图片描述

结构图形

main
worker_processes...
events
worker_connections...
http
include,default_type...
多个server
server
listen,server_name...
多个location
location
root,index...

大致内容如下,已去除注释部分

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    #access_log  logs/access.log  main;
    
    sendfile        on;
    #tcp_nopush     on;
    
    keepalive_timeout  65;
    #gzip  on;

    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

Nginx中文文档

main 全局配置

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
user username groupname;
用于设置master进程启动后,fork出的worker进程运行在那个用户和用户组下。
当按照"user username;"设置时,用户组名与用户名相同。
默认是nobody

在这里插入图片描述

worker_processes 1;
worker进程个数
error_log  logs/error.log error;
错误日志存储文件。
日志输出级别有debug、info、notice、warn、error、crit可供选择,
其中,debug输出日志最为最详细,而crit输出日志最少。
pid       logs/nginx.pid;
进程id存储文件

在这里插入图片描述

events

events {
    worker_connections  1024;
}
use epoll;
use是个事件模块指令,用来指定Nginx的工作模式。
Nginx支持的工作模式有select、poll、kqueue、epoll、rtsig和/dev/poll。
其中select和poll都是标准的工作模式,kqueue和epoll是高效的工作模式,不同的是epoll用在Linux平台上,而kqueue用在BSD系统中。对于Linux系统,epoll工作模式是首选。
worker_connections  1024;
worker_connections也是个事件模块指令,用于定义Nginx每个进程的最大连接数,默认是1024。
最大客户端连接数由worker_processes和worker_connections决定,即Max_client=worker_processes*worker_connections。
在作为反向代理时,
max_clients变为:max_clients = worker_processes * worker_connections/4

http

http {
    include       mime.types;
    default_type  application/octet-stream;
    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;
    
    keepalive_timeout  65;
    #gzip  on;
    ...
}
include       mime.types;
include是个主模块指令,实现对配置文件所包含的文件的设定,可以减少主配置文件的复杂度。类似于Apache中的include方法。
default_type  application/octet-stream;
default_type属于HTTP核心模块指令,这里设定默认类型为二进制流,也就是当文件类型未定义时使用这种方式,
例如在没有配置PHP环境时,Nginx是不予解析的,此时,用浏览器访问PHP文件就会出现下载窗口。
sendfile on; 
开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,减少用户空间到内核空间的上下文切换。
对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。
开启 tcp_nopush on; 和tcp_nodelay on; 防止网络阻塞。
keepalive_timeout 65;
长连接超时时间,单位是秒。
长连接请求大量小文件的时候,可以减少重建连接的开销,但假如有大文件上传,65s内没上传完成会导致失败。
如果设置时间过长,用户又多,长时间保持连接会占用大量资源。
gzip on;
开启gzip压缩输出

server

server对应虚拟主机

server {
        listen       80;
        server_name  localhost;
        
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
		...
}
listen 80; 
监听端口
server_name localhost; 
用来指定IP地址或者域名,多个域名之间用空格分开

server_name 匹配规则
首先选择完全匹配的 如:www.test.com
其次选择通配符在前面的 如:*.test.com
然后选择通配符在后面的 如:www.test.*
最后选择正在表达式才匹配的 如:~^\.test\.com$
charset koi8-r;
设置网页的默认编码格式
access_log
用来指定此虚拟主机的访问日志存放路径,最后的main用于指定访问日志的输出格式。

location

 location / {
     root   html;
     index  index.html index.htm;
 }
root html;
用于指定虚拟主机的网页根目录,这个目录可以是相对路径,也可以是绝对路径。
index  index.html index.htm;
定义路径下默认访问的文件名
多个文件顺序查找,找到立即返回并结束,否则查找下一个,以此类推。

启动nginx后,在浏览器上访问 ip:80
在这里插入图片描述
浏览器访问192.168.8.129:80/
server 监听到80,location 匹配到 /
查找 html目录下index.html页面返回
在这里插入图片描述
创建测试页面index2.html、index3.html
在这里插入图片描述
内容大致一样
在这里插入图片描述

./sbin/nginx -s reload

如有修改过配置内容,执行该命令进行加载新内容,不需要重启niginx
在这里插入图片描述

location 匹配规则

= 精确匹配
^~ 匹配固定字符串,不匹配正则表达式
~ 区分大小写的正则匹配
~* 不区分大小写的正则匹配
/ 通用匹配,所有的URL都是以此为开头

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值