centos8 默认nginx路径_CentOS 8系统安装Nginx Web服务器及常见配置过程
Nginx是一種快速、輕量級(jí)的Web服務(wù)器,優(yōu)勢(shì)是Nginx的配置文件非常簡(jiǎn)單易用。它是Apache Web服務(wù)器的絕佳替代品。在本文中,惠主機(jī)將簡(jiǎn)單介紹如何在CentOS 8上安裝Nginx Web服務(wù)器和常見(jiàn)基本配置過(guò)程。
安裝Nginx
Nginx在CentOS 8的官方軟件包存儲(chǔ)庫(kù)中可用。因此,它非常易于安裝。
首先,按照下面命令更新DNF軟件包存儲(chǔ)庫(kù)緩存:
$sudo?dnf makecache
現(xiàn)在,使用以下命令安裝Nginx:
$ sudo dnf install nginx
請(qǐng)按Y鍵確認(rèn)安裝,然后按鍵。
這時(shí)候Nginx將會(huì)被安裝:
管理Nginx服務(wù)
默認(rèn)情況下,nginx服務(wù)應(yīng)處于非活動(dòng)狀態(tài)(未運(yùn)行)并被禁用(不會(huì)在啟動(dòng)時(shí)自動(dòng)啟動(dòng))。
$ sudo systemctl status nginx
所以,可以按以下方式啟動(dòng)nginx服務(wù):
$sudo?systemctl start nginx
這時(shí)可以看到nginx服務(wù)已經(jīng)在運(yùn)行。
$ sudo systemctl status nginx
現(xiàn)在,將nginx服務(wù)添加到系統(tǒng)啟動(dòng)中,命令如下:
$ sudo systemctl enable nginx
配置防火墻
記住必須將防火墻配置為允許訪問(wèn)HTTP端口80和HTTPS端口443,以便從網(wǎng)絡(luò)上的其他計(jì)算機(jī)訪問(wèn)Nginx Web服務(wù)器。
可以使用以下命令允許訪問(wèn)HTTP和HTTPS端口:
$sudo?firewall-cmd?–add-service?=?{?http,https?}–permanent
現(xiàn)在,要使更改生效,請(qǐng)運(yùn)行以下命令:
$sudo?firewall-cmd?–reload
測(cè)試Web服務(wù)器
必須知道Nginx Web服務(wù)器的IP地址或域名才能訪問(wèn)它,可以使用以下命令找到Nginx Web服務(wù)器的IP地址:
$ ip a
在本文中,IP地址為192.168.20.175,對(duì)你來(lái)說(shuō)會(huì)有所不同。因此,請(qǐng)確保將IP地址替換成你自己的。
現(xiàn)在,從Web瀏覽器訪問(wèn)http://192.168.20.175(替換成你自己的IP),應(yīng)該看到以下頁(yè)面,這意味著Nginx Web服務(wù)器正在工作。
配置Nginx配置文件
Nginx Web服務(wù)器配置文件位于/ etc / nginx /目錄中。
$tree?/etc/nginx
/etc/nginx/nginx.conf是主要的Nginx配置文件。
Nginx Web服務(wù)器的默認(rèn)Web根目錄為/ usr / share / nginx / html /。因此,這是你應(yīng)該保留網(wǎng)站文件的地方。
Web服務(wù)器的基本設(shè)置
下面將簡(jiǎn)單介紹如何設(shè)置基本的Nginx Web服務(wù)器。
首先,使用以下命令備份原始Nginx配置文件:
$sudo?mv?-v?/etc/nginx/nginx.conf?/etc/nginx/nginx.conf.original
現(xiàn)在,創(chuàng)建一個(gè)新的Nginx配置文件,如下所示:
$sudo?nano?/etc/nginx/nginx.conf
接下來(lái)在/etc/nginx/nginx.conf文件中鍵入以下內(nèi)容并保存該文件。
user nginx nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name example.com www.example.com;
root /usr/share/nginx/html;
index index.html;
access_log /var/log/nginx/access.log;
}
}
在這里,用戶選項(xiàng)用于將Nginx運(yùn)行用戶和組分別設(shè)置為nginx。
error_log中選項(xiàng)用于設(shè)置錯(cuò)誤日志文件路徑/var/log/nginx/error.log。這是與Nginx服務(wù)器相關(guān)的錯(cuò)誤將被存儲(chǔ)的地方。
Nginx服務(wù)器的主要配置在http部分的server部分中定義。如果需要,可以在http部分中定義多個(gè)服務(wù)器部分。
在服務(wù)器部分:
listen選項(xiàng)用于將Nginx配置為偵聽(tīng)Web請(qǐng)求的端口80(HTTP端口)。
server_name選項(xiàng)用于為Nginx Web服務(wù)器設(shè)置一個(gè)或多個(gè)域名。如果您的DNS設(shè)置正確,則可以使用這些域名訪問(wèn)Nginx Web服務(wù)器。
access_log用于將訪問(wèn)日志文件路徑設(shè)置為/var/log/nginx/access.log。當(dāng)有人嘗試訪問(wèn)Nginx Web服務(wù)器時(shí),訪問(wèn)信息(即IP地址,URL,HTTP狀態(tài)代碼)將被記錄到該文件中。
該位置選項(xiàng)用于設(shè)置Nginx的Web服務(wù)器的根目錄。
在這里,根目錄是/ usr / share / nginx / html /。
這是應(yīng)保存所有網(wǎng)站文件的位置。該指數(shù)選項(xiàng)設(shè)置的index.html作為默認(rèn)的文件,如果沒(méi)有要求特定的文件服務(wù)。例如,如果您訪問(wèn)http://192.168.20.175/myfile.html,則您的Nginx將返回myfile.html文件。但是,如果您訪問(wèn)http://192.168.20.175/,那么Nginx將向您發(fā)送index.html文件,因?yàn)闆](méi)有請(qǐng)求任何特定文件。
現(xiàn)在,如下所示從/ usr / share / nginx / html /目錄(網(wǎng)絡(luò)根目錄)中刪除所有文件:
$sudo?rm?-rfv?/usr/share/nginx/html/*
現(xiàn)在,在/ usr / share / nginx / html /目錄中創(chuàng)建一個(gè)新的index.html文件,如下所示:
現(xiàn)在,在index.html文件中鍵入以下行并保存文件。
Hello world
??2020 LinuxHint.com
現(xiàn)在,重新啟動(dòng)nginx服務(wù),如下所示:
$sudo?systemctl restart nginx
現(xiàn)在,從Web瀏覽器訪問(wèn)http://192.168.20.175,您應(yīng)該看到以下頁(yè)面。恭喜!您已經(jīng)設(shè)置了第一臺(tái)Nginx Web服務(wù)器。
配置錯(cuò)誤頁(yè)面
可以在Nginx中配置錯(cuò)誤頁(yè)面。例如,如果頁(yè)面/文件/目錄不可用,則HTTP狀態(tài)代碼404將返回到瀏覽器。您可以為HTTP狀態(tài)代碼404設(shè)置自定義HTML錯(cuò)誤頁(yè)面,該頁(yè)面將返回到瀏覽器。
為此,請(qǐng)?jiān)趎ginx.conf文件的server部分中添加以內(nèi)容。
server?{
…
error_page?404?/404.html;
…
}
現(xiàn)在,在Nginx Web根目錄/ usr / share / nginx / html /中創(chuàng)建文件404.html,如下所示:
$ sudo nano /usr/share/nginx/html/404.html
現(xiàn)在,在404.html中鍵入以下行并保存文件。
Error 404
Page not found
? 2020 LinuxHint.com
現(xiàn)在,重新啟動(dòng)nginx服務(wù),如下所示:
$ sudo systemctl restart nginx
啟動(dòng)之后嘗試訪問(wèn)不存在的路徑(http://192.168.20.175/nopage.html),您應(yīng)該看到以下錯(cuò)誤頁(yè)面。
如果404.html文件位于不同的文件系統(tǒng)路徑中(例如/ usr / share / nginx / html / errors /目錄),則可以將URL?/404.html映射到它,如下所示:
server {
…
error_page 404 /404.html;
location /404.html {
root /usr/share/nginx/html/errors;
}
…
}
創(chuàng)建一個(gè)新目錄? / usr / share / nginx / html / errors /,如下所示:
$ sudo mkdir /usr/share/nginx/html/errors
現(xiàn)在,在目錄/ usr / share / nginx / html / errors /中創(chuàng)建一個(gè)新文件404.html,如下所示:
$ sudo nano /usr/share/nginx/html/errors/404.html
在404.html文件中鍵入以下內(nèi)容并保存文件。
PAGE NOT FOUND
GO BACK HOME
現(xiàn)在,重新啟動(dòng)nginx服務(wù),如下所示:
$ sudo systemctl restart nginx
嘗試訪問(wèn)不存在的路徑(http://192.168.20.175/nopage.html),您應(yīng)該看到更新過(guò)的錯(cuò)誤頁(yè)面。
配置日志
在Nginx中,error_log和access_log選項(xiàng)用于記錄錯(cuò)誤消息和訪問(wèn)信息。
error_log和access_log選項(xiàng)的格式為:
error_log /path/to/error/log/file [optional:custom-log-name];
access_log /path/to/access/log/file [optional:custom-log-name];
您可以定義自己的錯(cuò)誤日志并根據(jù)需要訪問(wèn)日志格式。
為此,請(qǐng)使用http部分中的log_format選項(xiàng)來(lái)定義您的自定義日志格式,如下所示。
http {
…
log_format simple ‘[$time_iso8601] $request_method $request_uri ‘
‘[$status] ($request_time) -> $bytes_sent bytes’;
…
server {
…
access_log /var/log/nginx/access.log simple;
…
}
}
此處,日志格式名稱為simple。一些nginx變量用于定義自定義日志格式,可以自己找一些資料看看。
自定義日志格式應(yīng)使用單引號(hào)引起來(lái)。日志格式可以單行或多行定義。我已經(jīng)在本文中展示了如何在多行中定義日志格式。單行日志格式不會(huì)有任何麻煩!
定義了簡(jiǎn)單的日志格式后,access_log選項(xiàng)用于告訴Nginx將其用作訪問(wèn)日志。
同樣,您可以使用error_log選項(xiàng)設(shè)置自定義錯(cuò)誤日志格式。
在本文中,我僅為訪問(wèn)日志配置了自定義日志格式。
現(xiàn)在,重新啟動(dòng)nginx服務(wù),如下所示:
$sudo?systemctl restart nginx
現(xiàn)在可以按以下方式監(jiān)視訪問(wèn)日志文件:
$sudo?tail?-f?/var/log/nginx/access.log
同時(shí)還可以按以下方式監(jiān)視錯(cuò)誤日志文件:
$ sudo tail -f /var/log/nginx/error.log
如果需要,可以同時(shí)監(jiān)視訪問(wèn)日志和錯(cuò)誤日志文件,如下所示:
$sudo?tail?-f?/var/log/nginx/{error,access}.log
正如所見(jiàn)的,正在使用新的訪問(wèn)日志格式。
拒絕訪問(wèn)某些路徑
你可以使用正則表達(dá)式來(lái)匹配某些URI路徑,并在Nginx中拒絕對(duì)其進(jìn)行訪問(wèn)。
假設(shè)你的網(wǎng)站是由Git管理的,并且您想拒絕訪問(wèn)Web根目錄下的.git /目錄。
為此,請(qǐng)?jiān)?etc/nging/nginx.conf文件的server部分中輸入以下行:
server {
…
location ~ \.git {
deny all;
}
…
}
設(shè)置之后,拒絕訪問(wèn)任何包含.git的路徑。
配置壓縮文件
對(duì)于網(wǎng)站來(lái)說(shuō),可以先壓縮Web內(nèi)容,然后再使用gzip將其發(fā)送到瀏覽器,以節(jié)省Nginx Web服務(wù)器的帶寬使用量。
我在/ usr / share / nginx / html / images /目錄中有一些JPEG圖像。
這時(shí)候可以使用URI路徑/ images訪問(wèn)這些圖像。
要僅對(duì)URI路徑/ images中的JPEG圖像啟用gzip壓縮,請(qǐng)?jiān)?etc/nginx/nginx.conf文件的server部分中輸入以下行。
server {
…
location /images {
gzip on;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types image/jpeg;
}
…
}
在這里,gzip_comp_level用于設(shè)置壓縮級(jí)別。可以是1到9之間的任何數(shù)字。級(jí)別越高,壓縮文件將越小。
僅當(dāng)文件大小大于gzip_min_length時(shí),才會(huì)壓縮該文件。在此示例中,我將其設(shè)置為大約100 KB。因此,小于100 KB的JPEG文件不會(huì)被gzip壓縮。
該??gzip_types用于設(shè)置將要壓縮的文件的MIME類型。
您可以從文件擴(kuò)展名中找到mime類型,如下所示:
$grep?jpg?/?etc?/?nginx?/?mime.types
如您所見(jiàn),對(duì)于.jpg或.jpeg文件擴(kuò)展名,mime類型為image / jpeg。
您可以使用gzip_types選項(xiàng)設(shè)置一種或多種mime類型。
如果要設(shè)置多個(gè)MIME類型,請(qǐng)確保使用空格將它們分開(kāi),如下所示:
gzip_types image/jpeg image/png image/gif;
現(xiàn)在,重新啟動(dòng)nginx服務(wù),如下所示:
$sudo?systemctl restart nginx
如您所見(jiàn),當(dāng)需要時(shí),Nginx將gzip壓縮圖像文件發(fā)送到瀏覽器。
如下面的屏幕截圖所示,gzip壓縮文件小于原始文件。
$sudo?tail?-f?/var/log/nginx/access.log
這樣就說(shuō)明Gzip壓縮已經(jīng)設(shè)置成功。
總結(jié):
以上這些就是CentOS 8上安裝和配置Nginx Web服務(wù)器的方式,當(dāng)然除此之外,還有啟用HTTPS、將HTTP請(qǐng)求重定向到HTTPS等配置內(nèi)容,本文就不在贅述,有需要的小伙伴可以自行找些資料看看。
總結(jié)
以上是生活随笔為你收集整理的centos8 默认nginx路径_CentOS 8系统安装Nginx Web服务器及常见配置过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 尴尬溢出屏幕 迪士尼乐园求婚被员工打断驱
- 下一篇: 神舟十四号发射成功 中国空间站正式全面建