如何安裝和配置Nginx Web服務(wù)器?
譯文【51CTO.com快譯】本文將幫助您在各種Linux發(fā)行版上安裝Nginx,您將了解重要的Nginx配置文件和目錄。
由于其性能和易用性,Nginx是最受歡迎的Web 服務(wù)器系統(tǒng)。它是一種免費(fèi)的開源高性能HTTP服務(wù)器系統(tǒng)。除了Web服務(wù)器功能外,Nginx還可以充當(dāng)反向代理和負(fù)載均衡系統(tǒng)。
以下步驟將向您展示如何在Ubuntu、Debian、CentOS、Rocky Linux和AlmaLinux之類的各種Linux發(fā)行版上安裝Nginx,并測試其功能。
此外,如果您想知道如何使用免費(fèi)的Let's Encrypt SSL證書來保護(hù)您的Nginx,建議閱讀這篇指南:《Let's Encrypt:使用Certbot獲取免費(fèi)的SSL證書》(https://linuxiac.com/lets-encrypt-free-ssl-certificate/)。
1. 安裝Nginx
開始之前,您應(yīng)該有一個(gè)擁有sudo權(quán)限的普通非root用戶。
1.1 在Ubuntu或Debian上安裝Nginx
Nginx在默認(rèn)的Ubuntu和Debian存儲(chǔ)庫中可找到,因此您可以使用apt包管理工具輕松安裝它。
不妨先確保您的系統(tǒng)是最新的:
- sudo apt update
之后,您可以安裝Nginx了:
- sudo apt install nginx
1.2 在CentOS 7上安裝Nginx
在CentOS 7上,Nginx包在EPEL(企業(yè)Linux的額外包)存儲(chǔ)庫中可找到。如果您還沒有安裝它,可以輸入該命令來安裝:
- sudo yum install epel-release
現(xiàn)在您可以繼續(xù)安裝Nginx:
- sudo yum install nginx
如果您看到該畫面,請按y,然后按回車鍵,接受EPEL GPG密鑰。
安裝完成后,啟用并啟動(dòng)Nginx服務(wù):
- sudo systemctl enable nginx
- sudo systemctl start nginx
最后,HTTP(80)端口和HTTPS(443)端口都需要打開。
- sudo firewall-cmd --permanent --zone=public --add-service=http
- sudo firewall-cmd --permanent --zone=public --add-service=https
- sudo firewall-cmd --reload
1.3 在CentOS 8、Rocky Linux或AlmaLinux上安裝Nginx
為了安裝Nginx,我們將使用dnf包管理器,它是CentOS 8、Rocky Linux和AlmaLinux上的默認(rèn)包管理器。
先更新所有可用的包:
- sudo dnf upgrade
更新完成后,運(yùn)行以下命令安裝Nginx:
- sudo dnf install nginx
安裝完成后,啟用并啟動(dòng)Nginx服務(wù):
- sudo systemctl enable nginx
- sudo systemctl start nginx
想允許防火墻上通過HTTP(80)和HTTPS(443)傳輸流量,執(zhí)行以下命令:
- sudo firewall-cmd --permanent --zone=public --add-service=http
- sudo firewall-cmd --permanent --zone=public --add-service=https
- sudo firewall-cmd --reload
2.檢查Nginx服務(wù)狀態(tài)
想確認(rèn)Nginx Web服務(wù)器正在運(yùn)行,執(zhí)行以下命令:
- sudo systemctl status nginx
從上面顯示的輸出中可以得出結(jié)論,Nginx服務(wù)已啟動(dòng)并在運(yùn)行。
此外,您可以訪問默認(rèn)的Nginx登錄頁面,通過導(dǎo)航到您服務(wù)器的IP地址來確認(rèn)Web服務(wù)器運(yùn)行正常。
如果您不知道如何查找服務(wù)器的IP地址,本文將幫助您找到地址。
這將顯示默認(rèn)的Nginx登錄頁面,表明一切正常。
3. Nginx配置文件和目錄
Nginx現(xiàn)已安裝,您應(yīng)該會(huì)注意一些重要的文件夾和位置。
3.1 服務(wù)器配置文件
- /etc/nginx:含有所有Nginx配置文件的主目錄。
- /etc/nginx/nginx.conf:主要的Nginx配置文件。
- /etc/nginx/sites-available:定義各個(gè)網(wǎng)站的目錄。請記住,Nginx不會(huì)使用在此目錄中找到的配置文件,除非它們鏈接到/etc/nginx/sites-enabled目錄。
- /etc/nginx/sites-enabled:由Nginx積極提供服務(wù)的網(wǎng)站列表。
想激活網(wǎng)站以便將它們鏈接到/etc/nginx/sites-enable目錄,使用如下所示的命令來創(chuàng)建網(wǎng)站配置的符號鏈接:
- sudo ln -s /etc/nginx/sites-available/mydomain.com.conf /etc/nginx/sites-enabled/
當(dāng)然,您需要將mydomain.com.conf換成VirtualHost .conf文件。
3.2 Nginx日志
Nginx日志文件(access.log和error.log)位于/var/log/nginx/目錄中。
- access.log:對您Web服務(wù)器的每個(gè)請求都記錄在該日志文件中。
- error.log:記錄Nginx 中生成的任何錯(cuò)誤的日志。您的服務(wù)器未按預(yù)期運(yùn)行時(shí),可以在這里排查故障。
3.3 默認(rèn)的公共Web目錄
默認(rèn)情況下,Nginx在其基本配置文件中設(shè)置了默認(rèn)文檔根目錄。創(chuàng)建虛擬主機(jī)或服務(wù)器塊時(shí),Web服務(wù)器會(huì)在這些配置文件中指定的文檔根目錄中查找網(wǎng)站文件。
- /var/www/html:在Ubuntu和Debian上,Nginx將文檔存儲(chǔ)在這里。
- /usr/share/nginx/html:在CentOS、Rocky Linux和Alma Linux上,默認(rèn)的Nginx網(wǎng)頁位于此處。
結(jié)語
本教程介紹了如何在各種Linux發(fā)行版上安裝Nginx,現(xiàn)在您可以決定想要為您的用戶提供什么樣的內(nèi)容。
原文標(biāo)題:How to Install Nginx Web Server on Linux,作者:Bobby Borisov
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】