Nginx学习笔记02 —— 认识Nginx的配置文件

2020-03-15  本文已影响0人  振礼硕晨

写在前面

在上一篇博客中,我们已经在Linux系统中成功地安装了Nginx,但是Nginx安装完成之后,发生了什么?或者说Nginx的相关配置文件在什么地方?我们如果想要根据实际需求修改Nginx配置,应该修改哪些文件?

带着这些疑问,我们开始本篇文章的分享,主要跟大家分享如何找到Nginx的配置文件以及一些基本的配置规则。

一、Nginx的配置文件在哪些地方

在Linux系统中成功安装Nginx之后,它并没有给我们什么安装信息提示,如果想要查看Nginx的相关文件,可以使用Linux一个rpm包管理工具命令,比如我们想要查看Nginx的相关文件,可以执行以下命令:

rpm -ql nginx

在上述命令中,我们使用rpm包管理工具进行查找,其中 -q 表示查询, -l 表示返回查询列表。这里查询Nginx,返回的列表如下:

可以看到,返回的相关内容还是非常多的,这里我们先关注红框中的一些文件及文件夹,这是我们在配置Nginx过程中,经常修改的内容。

我们切换到 /etc/nginx 文件夹下,在这里有Nginx的主配置文件 /etc/nginx/nginx.conf ,里面的配置代码没有很多,我在这里全部列出来,并对每一行做一个注释。对里面的每一项,我们没有必要全部掌握,只需要简单了解即可。

user  nginx;    #运行用户,默认即是nginx,可以不进行设置
worker_processes  1;   #Nginx进程,一般设置为和CPU核数一样
error_log  /var/log/nginx/error.log warn;   #错误日志存放目录
pid        /var/run/nginx.pid;  #进程pid存放位置

events {
    worker_connections  1024; # 单个后台进程的最大并发数
}


http {
    include       /etc/nginx/mime.types;   #文件扩展名与类型映射表
    default_type  application/octet-stream;  #默认文件类型
    
    #设置日志模式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;   #nginx访问日志存放位置

    sendfile        on;   #开启高效传输模式
    #tcp_nopush     on;    #减少网络报文段的数量

    keepalive_timeout  65;  #保持连接的时间,也叫超时时间

    #gzip  on;  #开启gzip压缩

    include /etc/nginx/conf.d/*.conf; #包含的子配置项位置和文件
}

作为一个Nginx小白,这个文件中的配置我们几乎不需要做任何修改,大致了解每一项配置的功能就可以了。不过我们要注意一下文件的最后一行,这一行通过include语法,引入了Nginx的子配置项和配置文件。

二、Nginx的基本配置文件

这些子配置项是我们要重点关注的,也是我们后面要具体修改的文件。在默认状态下,Nginx把这些子配置项全部放在了 /etc/nginx/conf.d/ 文件夹中,我们最好遵守这一默认规则,后期如果要增加新的配置文件,也要放在该文件夹下。

现在我们切换到 /etc/nginx/conf.d/ 文件夹中,可以看到这里目前只有一个配置文件 default.conf ,这里我把该文件中的代码列出来,并作出解释:

server {
    listen       80;        # 配置监听端口
    server_name  localhost;     # 配置域名

    location / {
        root   /usr/share/nginx/html;   # 服务默认启动目录,可以理解为网站代码存放的目录
        index  index.html index.htm;    # 默认访问的文件
    }
    
    # 配置404 403 错误状态码,一旦出现这些状态码,页面跳转到 /404x.html
    # location 配置/404x.html 文件所在的文件夹
    error_page   404 403  /404.html;    
    location = /404.html {
        root   /usr/share/nginx/html;   
    }

    # 配置5** 错误状态码,一旦出现这些状态码,页面跳转到 /50x.html
    # location 配置/50x.html 文件所在的文件夹
    error_page   500 502 503 504  /50x.html;    
    location = /50x.html {
        root   /usr/share/nginx/html;   
    }
}

在这个默认的配置文件中,我们可以指定Nginx服务监听的端口,一般情况下,都是监听80端口。然后最重要的就是location选项,即:

location / {
    root   /usr/share/nginx/html;   # 服务默认启动目录,可以理解为网站代码存放的目录
    index  index.html index.htm;    # 默认访问的文件
}

这是Nginx启动服务的根目录配合选项,如果你是想要搭建一个网站,那么根据上面的配置,你网站的代码都是放在 /usr/share/nginx/html 目录下,当你打开你的网页的时候,会默认查找根目录下的 index.html 文件,如果找不到这个文件,那就默认查找 index.htm 这个文件。如果这里指定的文件都没有找到,那么Nginx会报 403 错误。

报了403错误之后,你的网站会显示什么呢?这个时候我们要注意到Nginx的error_page配置选项:

# 配置404 403 错误状态码,一旦出现这些状态码,页面跳转到 /404x.html
# location 配置/404x.html 文件所在的文件夹
error_page   404 403  /404.html;    
    location = /404.html {
    root   /usr/share/nginx/html;   
}

如果指定的文件找不到,Nginx报403错误的时候,根据上面的配置,网站就会到 /usr/share/nginx/html 文件夹下,查找404.html文件,将该文件的内容显示在网页上。

需要我们注意的是,配置错误页面的时候,我们不仅可以指定网站内部的一些页面,还可以指定其他的一些网站,比如:我们规定,当Nginx服务报404错误的时候,跳转到 www.baidu.com 页面,那么可以这样配置:

error_page   404 403  https://www.baidu.com/;

写在最后

这就是本篇博客的全部内容,主要是跟大家分享Nginx配置文件所存放的位置以及一些基本的配置规则,在后续的文章中,会进一步分享如何更详细的配置Nginx。

欢迎大家继续关注!

上一篇下一篇

猜你喜欢

热点阅读