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