【一、Nginx的目录结构及配置文件】

1.Nginx目录结构

[root@zjh nginx]# tree
.
├── client_body_temp
├── conf                          //主要放置Nginx的主配置文件
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types               //媒体类型,返回什么格式的文件.html .jpg等是让浏览器进行解析的
│   ├── mime.types.default
│   ├── nginx.conf                //主要是这个,他会引用其他的配置文件,一般对他进行修改
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp                    //后缀是temp的是启动后才有的,安装完Nginx是没有的
├── html                            //默认情况下的网页和静态资源
│   ├── 50x.html
│   └── index.html
├── logs                           //记录日志
│   ├── access.log                 //用户访问日志(时间、地点、任务、请求参数等)
│   ├── error.log                  //系统错误日志(404等)
│   └── nginx.pid                  //记录Nginx的主进程号
├── proxy_temp
├── sbin                            //只有一个Nginx的主程序
│   └── nginx
├── scgi_temp
└── uwsgi_temp

2.Nginx 运行原理

在这里插入图片描述

用户访问Nginx的步骤:

  1. 用户发起请求,Nginx主目录下有/sbin/nginx,运行可执行文件

  2. 此时会开启Master主进程,他会把配置文件读取进来,对配置文件进行校验,如果没有错误就开启子进程(worker)

  3. 子进程启动,直接处理用户请求,解析用户请求,看是否能找到用户请求

  4. 解析后就会读取/conf/nginx.conf目录,然后请求html,加载html页面

    注意Nginx在运行的过程中会开启俩个进程,一个是Master主进程,一个是子进程

    主进程:协调各个子进程之间的关系

    子进程:主要处理用户的请求

    总结:Nginx是多进程同时运行的模式,是由主进程fork出来的子进程,多个进程同时完成用户的请求,主进程用于协调子进程(例如配置文件改了,他会重新加载,会把当前的子进程杀掉,此时新的进程读取新的配置文件)

3.Nginx 基本配置

#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;              //每个进程可以创建1024个连接
}


http {
    include       mime.types;               //将另一个文件,引入到主配置文件
    default_type  application/octet-stream; //默认类型(在mime.types没有的类型)
                                            //#默认文件类型,如果mime.types预先定义的类型没匹配上,默认使用二进制流的方式传输


    sendfile        on;                     //数据0拷贝,直接从你的电脑通过无线拷贝到我的电脑,不需要借助u盘
    
  
    keepalive_timeout  65;                  //保持连接,时间超时



    server {                               //一个server代表一个主机,nginx可以配置多个主机
        listen       80;                   //默认服务器端口是80,通过端口后来区分不同的主机
        server_name  localhost;            //配置域名或主机名

      
   #http://baidu.com/xxo/index.html   为URL
   #/xxo/index.html                   为URI(资源)
   
   
        location / {                       //重点内容(域名后面的子目录,类似于URI)
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;  //发生服务器内部错误
        location = /50x.html {                  //不同的错误码会转向不同的html下
            root   html;
        }

      

}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小呆鸟_coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值