Nginx學(xué)習(xí)筆記02 —— 認(rèn)識(shí)Nginx的配置文件

寫(xiě)在前面

在上一篇博客中,我們已經(jīng)在Linux系統(tǒng)中成功地安裝了Nginx,但是Nginx安裝完成之后,發(fā)生了什么?或者說(shuō)Nginx的相關(guān)配置文件在什么地方?我們?nèi)绻胍鶕?jù)實(shí)際需求修改Nginx配置,應(yīng)該修改哪些文件?

帶著這些疑問(wèn),我們開(kāi)始本篇文章的分享,主要跟大家分享如何找到Nginx的配置文件以及一些基本的配置規(guī)則。

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

在Linux系統(tǒng)中成功安裝Nginx之后,它并沒(méi)有給我們什么安裝信息提示,如果想要查看Nginx的相關(guān)文件,可以使用Linux一個(gè)rpm包管理工具命令,比如我們想要查看Nginx的相關(guān)文件,可以執(zhí)行以下命令:

rpm -ql nginx

在上述命令中,我們使用rpm包管理工具進(jìn)行查找,其中 -q 表示查詢, -l 表示返回查詢列表。這里查詢Nginx,返回的列表如下:

可以看到,返回的相關(guān)內(nèi)容還是非常多的,這里我們先關(guān)注紅框中的一些文件及文件夾,這是我們?cè)谂渲肗ginx過(guò)程中,經(jīng)常修改的內(nèi)容。

我們切換到 /etc/nginx 文件夾下,在這里有Nginx的主配置文件 /etc/nginx/nginx.conf ,里面的配置代碼沒(méi)有很多,我在這里全部列出來(lái),并對(duì)每一行做一個(gè)注釋。對(duì)里面的每一項(xiàng),我們沒(méi)有必要全部掌握,只需要簡(jiǎn)單了解即可。

user  nginx;    #運(yùn)行用戶,默認(rèn)即是nginx,可以不進(jìn)行設(shè)置
worker_processes  1;   #Nginx進(jìn)程,一般設(shè)置為和CPU核數(shù)一樣
error_log  /var/log/nginx/error.log warn;   #錯(cuò)誤日志存放目錄
pid        /var/run/nginx.pid;  #進(jìn)程pid存放位置

events {
    worker_connections  1024; # 單個(gè)后臺(tái)進(jìn)程的最大并發(fā)數(shù)
}


http {
    include       /etc/nginx/mime.types;   #文件擴(kuò)展名與類型映射表
    default_type  application/octet-stream;  #默認(rèn)文件類型
    
    #設(shè)置日志模式
    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訪問(wèn)日志存放位置

    sendfile        on;   #開(kāi)啟高效傳輸模式
    #tcp_nopush     on;    #減少網(wǎng)絡(luò)報(bào)文段的數(shù)量

    keepalive_timeout  65;  #保持連接的時(shí)間,也叫超時(shí)時(shí)間

    #gzip  on;  #開(kāi)啟gzip壓縮

    include /etc/nginx/conf.d/*.conf; #包含的子配置項(xiàng)位置和文件
}

作為一個(gè)Nginx小白,這個(gè)文件中的配置我們幾乎不需要做任何修改,大致了解每一項(xiàng)配置的功能就可以了。不過(guò)我們要注意一下文件的最后一行,這一行通過(guò)include語(yǔ)法,引入了Nginx的子配置項(xiàng)和配置文件。

二、Nginx的基本配置文件

這些子配置項(xiàng)是我們要重點(diǎn)關(guān)注的,也是我們后面要具體修改的文件。在默認(rèn)狀態(tài)下,Nginx把這些子配置項(xiàng)全部放在了 /etc/nginx/conf.d/ 文件夾中,我們最好遵守這一默認(rèn)規(guī)則,后期如果要增加新的配置文件,也要放在該文件夾下。

現(xiàn)在我們切換到 /etc/nginx/conf.d/ 文件夾中,可以看到這里目前只有一個(gè)配置文件 default.conf ,這里我把該文件中的代碼列出來(lái),并作出解釋:

server {
    listen       80;        # 配置監(jiān)聽(tīng)端口
    server_name  localhost;     # 配置域名

    location / {
        root   /usr/share/nginx/html;   # 服務(wù)默認(rèn)啟動(dòng)目錄,可以理解為網(wǎng)站代碼存放的目錄
        index  index.html index.htm;    # 默認(rèn)訪問(wèn)的文件
    }
    
    # 配置404 403 錯(cuò)誤狀態(tài)碼,一旦出現(xiàn)這些狀態(tài)碼,頁(yè)面跳轉(zhuǎn)到 /404x.html
    # location 配置/404x.html 文件所在的文件夾
    error_page   404 403  /404.html;    
    location = /404.html {
        root   /usr/share/nginx/html;   
    }

    # 配置5** 錯(cuò)誤狀態(tài)碼,一旦出現(xiàn)這些狀態(tài)碼,頁(yè)面跳轉(zhuǎn)到 /50x.html
    # location 配置/50x.html 文件所在的文件夾
    error_page   500 502 503 504  /50x.html;    
    location = /50x.html {
        root   /usr/share/nginx/html;   
    }
}

在這個(gè)默認(rèn)的配置文件中,我們可以指定Nginx服務(wù)監(jiān)聽(tīng)的端口,一般情況下,都是監(jiān)聽(tīng)80端口。然后最重要的就是location選項(xiàng),即:

location / {
    root   /usr/share/nginx/html;   # 服務(wù)默認(rèn)啟動(dòng)目錄,可以理解為網(wǎng)站代碼存放的目錄
    index  index.html index.htm;    # 默認(rèn)訪問(wèn)的文件
}

這是Nginx啟動(dòng)服務(wù)的根目錄配合選項(xiàng),如果你是想要搭建一個(gè)網(wǎng)站,那么根據(jù)上面的配置,你網(wǎng)站的代碼都是放在 /usr/share/nginx/html 目錄下,當(dāng)你打開(kāi)你的網(wǎng)頁(yè)的時(shí)候,會(huì)默認(rèn)查找根目錄下的 index.html 文件,如果找不到這個(gè)文件,那就默認(rèn)查找 index.htm 這個(gè)文件。如果這里指定的文件都沒(méi)有找到,那么Nginx會(huì)報(bào) 403 錯(cuò)誤。

報(bào)了403錯(cuò)誤之后,你的網(wǎng)站會(huì)顯示什么呢?這個(gè)時(shí)候我們要注意到Nginx的error_page配置選項(xiàng):

# 配置404 403 錯(cuò)誤狀態(tài)碼,一旦出現(xiàn)這些狀態(tài)碼,頁(yè)面跳轉(zhuǎn)到 /404x.html
# location 配置/404x.html 文件所在的文件夾
error_page   404 403  /404.html;    
    location = /404.html {
    root   /usr/share/nginx/html;   
}

如果指定的文件找不到,Nginx報(bào)403錯(cuò)誤的時(shí)候,根據(jù)上面的配置,網(wǎng)站就會(huì)到 /usr/share/nginx/html 文件夾下,查找404.html文件,將該文件的內(nèi)容顯示在網(wǎng)頁(yè)上。

需要我們注意的是,配置錯(cuò)誤頁(yè)面的時(shí)候,我們不僅可以指定網(wǎng)站內(nèi)部的一些頁(yè)面,還可以指定其他的一些網(wǎng)站,比如:我們規(guī)定,當(dāng)Nginx服務(wù)報(bào)404錯(cuò)誤的時(shí)候,跳轉(zhuǎn)到 www.baidu.com 頁(yè)面,那么可以這樣配置:

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

寫(xiě)在最后

這就是本篇博客的全部?jī)?nèi)容,主要是跟大家分享Nginx配置文件所存放的位置以及一些基本的配置規(guī)則,在后續(xù)的文章中,會(huì)進(jìn)一步分享如何更詳細(xì)的配置Nginx。

歡迎大家繼續(xù)關(guān)注!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容