介紹Nginx是世界上最受歡迎的網(wǎng)絡(luò)服務(wù)器之一,負(fù)責(zé)托管互聯(lián)網(wǎng)上一些規(guī)模最大,流量最高的網(wǎng)站。在大多數(shù)情況下,它比Apache更具資源友好性,可以用作Web服務(wù)器或反向代理。 在本教程中,我們將討論如何在Debian 9服務(wù)器上安裝Nginx。 準(zhǔn)備在開(kāi)始本教程之前,您應(yīng)該有一個(gè)在服務(wù)器上配置了sudo權(quán)限的常規(guī)非root用戶和一個(gè)活動(dòng)防火墻。您可以按照Debian 9的初始服務(wù)器設(shè)置教程了解如何設(shè)置它們。 沒(méi)有服務(wù)器的同學(xué)可以在這里購(gòu)買,不過(guò)我個(gè)人更推薦您使用免費(fèi)的騰訊云開(kāi)發(fā)者實(shí)驗(yàn)室進(jìn)行試驗(yàn),學(xué)會(huì)安裝后再購(gòu)買服務(wù)器。 如果您有可用的帳戶,請(qǐng)以非root用戶身份登錄以開(kāi)始。 第1步 - 安裝Nginx因?yàn)镹ginx在Debian的默認(rèn)存儲(chǔ)庫(kù)中可用,所以可以使用 由于這是我們?cè)诖藭?huì)話中與 sudo apt update sudo apt install nginx 接受該過(guò)程后, 第2步 - 調(diào)整防火墻在測(cè)試Nginx之前,需要調(diào)整防火墻軟件以允許訪問(wèn)服務(wù)。 通過(guò)鍵入以下內(nèi)容列出 sudo ufw app list 您應(yīng)該獲得應(yīng)用程序配置文件的列表: Available applications: ... Nginx Full Nginx HTTP Nginx HTTPS ... 如您所見(jiàn),Nginx有三種配置文件:
建議您啟用限制性最強(qiáng)的配置文件,該配置文件仍允許您配置的流量。由于我們尚未在本教程中為我們的服務(wù)器配置SSL,因此我們只需要允許端口 您可以輸入以下命令啟用此功能 sudo ufw allow 'Nginx HTTP' 您可以鍵入以下內(nèi)容來(lái)驗(yàn)證更改: sudo ufw status 您應(yīng)該在顯示的輸出中看到允許的HTTP流量: Status: active ? To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6) 第3步 - 檢查Web服務(wù)器在安裝過(guò)程結(jié)束時(shí),Debian 9啟動(dòng)了Nginx。Web服務(wù)器應(yīng)該已經(jīng)啟動(dòng)并運(yùn)行。 我們可以通過(guò)鍵入以下內(nèi)容來(lái)檢查 systemctl status nginx ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2018-09-04 18:15:57 UTC; 3min 28s ago Docs: man:nginx(8) Process: 2402 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 2399 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 2404 (nginx) Tasks: 2 (limit: 4915) CGroup: /system.slice/nginx.service ├─2404 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2405 nginx: worker process 如您所見(jiàn),該服務(wù)似乎已成功啟動(dòng)。但是,測(cè)試它的最佳方法是從Nginx實(shí)際請(qǐng)求頁(yè)面。 您可以通過(guò)導(dǎo)航到服務(wù)器的IP地址來(lái)訪問(wèn)默認(rèn)的Nginx登錄頁(yè)面以確認(rèn)軟件正常運(yùn)行。如果您不知道服務(wù)器的IP地址,請(qǐng)嘗試在服務(wù)器的命令提示符下鍵入: ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' 你會(huì)得到幾行。您可以在Web瀏覽器中依次嘗試以查看它們是否有效。 獲得服務(wù)器的IP地址后,將其輸入瀏覽器的地址欄: http://your_server_ip 您應(yīng)該會(huì)看到默認(rèn)的Nginx登錄頁(yè)面: 此頁(yè)面包含在Nginx中,以向您顯示服務(wù)器正在正常運(yùn)行。 第4步 - 管理Nginx進(jìn)程現(xiàn)在您已啟動(dòng)并運(yùn)行Web服務(wù)器,讓我們回顧一些基本的管理命令。 要停止Web服務(wù)器,請(qǐng)鍵入: sudo systemctl stop nginx 要在Web服務(wù)器停止時(shí)啟動(dòng)它,請(qǐng)鍵入: sudo systemctl start nginx 要停止然后再次啟動(dòng)該服務(wù),請(qǐng)鍵入: sudo systemctl restart nginx 如果您只是進(jìn)行配置更改,Nginx通??梢栽诓粊G棄連接的情況下重新加載。為此,請(qǐng)鍵入: sudo systemctl reload nginx 默認(rèn)情況下,Nginx配置為在服務(wù)器引導(dǎo)時(shí)自動(dòng)啟動(dòng)。如果這不是您想要的,您可以通過(guò)鍵入以下內(nèi)容來(lái)禁用此行為: sudo systemctl disable nginx 要重新啟用服務(wù)以在啟動(dòng)時(shí)啟動(dòng),您可以鍵入: sudo systemctl enable nginx 第5步 - 設(shè)置服務(wù)器塊使用Nginx Web服務(wù)器時(shí),服務(wù)器塊(類似于Apache中的虛擬主機(jī))可用于封裝配置詳細(xì)信息并從單個(gè)服務(wù)器托管多個(gè)域。我們將設(shè)置一個(gè)名為的域名,但您應(yīng)將其替換為您自己的域名。 Debian 9上的Nginx默認(rèn)啟用一個(gè)服務(wù)器塊,配置為從 按如下所示為創(chuàng)建目錄,使用 sudo mkdir -p /var/www//html 接下來(lái),使用 sudo chown -R $USER:$USER /var/www//html 如果您尚未修改您的 sudo chmod -R 755 /var/www/ 接下來(lái),使用網(wǎng)頁(yè) nano /var/www//html/index.html 在里面,添加以下示例HTML: <html> <head> <title>Welcome to Example.com!</title> </head> <body> <h1>Success! The server block is working!</h1> </body> </html> 完成后保存并關(guān)閉文件。 為了讓Nginx提供此內(nèi)容,必須使用正確的指令創(chuàng)建服務(wù)器塊。不要直接修改默認(rèn)配置文件,而是在 sudo nano /etc/nginx/sites-available/ 粘貼在以下配置塊中,類似于默認(rèn)配置塊,但為我們的新目錄和域名更新: server { listen 80; listen [::]:80; ? root /var/www//html; index index.html index.htm index.nginx-debian.html; ? server_name www.; ? location / { try_files $uri $uri/ =404; } } 請(qǐng)注意,我們已將 接下來(lái),讓我們通過(guò)創(chuàng)建從 sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/ 現(xiàn)在啟用了兩個(gè)服務(wù)器塊,并將其配置為根據(jù)請(qǐng)求
為避免添加其他服務(wù)器名稱可能導(dǎo)致的哈希桶內(nèi)存問(wèn)題,需要調(diào)整 sudo nano /etc/nginx/nginx.conf 找到 ... http { ... server_names_hash_bucket_size 64; ... } ... 完成后保存并關(guān)閉文件。 接下來(lái),測(cè)試以確保您的任何Nginx文件中沒(méi)有語(yǔ)法錯(cuò)誤: sudo nginx -t 如果沒(méi)有任何問(wèn)題,您將看到以下輸出: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 配置測(cè)試通過(guò)后,重新啟動(dòng)Nginx以啟用更改: sudo systemctl restart nginx Nginx現(xiàn)在應(yīng)該為您的域名服務(wù)。你可以通過(guò)導(dǎo)航到 第6步 - 熟悉重要的Nginx文件和目錄既然您已經(jīng)知道如何管理Nginx服務(wù)本身,那么您應(yīng)該花幾分鐘時(shí)間熟悉一些重要的目錄和文件。 內(nèi)容
服務(wù)器配置
服務(wù)器日志
結(jié)論現(xiàn)在您已安裝了Web服務(wù)器,您可以選擇多種類型的內(nèi)容,以及可用于為用戶創(chuàng)建更豐富體驗(yàn)的技術(shù)。 想要了解更多關(guān)于安裝Nginx的相關(guān)教程,請(qǐng)前往騰訊云+社區(qū)學(xué)習(xí)更多知識(shí)。
|
|