小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

nginx.從路人到入門

 印度阿三17 2019-11-19

nginx 提供各種各樣的服務(wù)器功能,本文記錄 nginx 最基礎(chǔ)的操作:

  • 開(kāi)啟、停止、重載配置

  • 靜態(tài)文件服務(wù)器

  • 反向代理

本文操作系統(tǒng)環(huán)境為 ubuntu18

安裝

官方安裝指導(dǎo)

開(kāi)啟、停止、重載配置

sudo nginx # 開(kāi)啟
sudo nginx -s stop # 快速停止
sudo nginx -s quit # 優(yōu)雅停止
sudo nginx -s reload # 重載配置
  • 停止 nginx 運(yùn)行有兩種方式,區(qū)別在于,“快速停止”會(huì)立刻停止 nginx;而 “優(yōu)雅停止” 會(huì)等待已收到請(qǐng)求處理完畢再退出。也就是說(shuō),如果現(xiàn)在發(fā)出優(yōu)雅停止命令,nginx 不會(huì)立刻停止運(yùn)行,而是先看看,現(xiàn)在已收到的請(qǐng)求處理完沒(méi)有,如果有的話,就會(huì)等待已收到的請(qǐng)求處理完再退出,當(dāng)然這種情況下,如果有新的請(qǐng)求,是不會(huì)處理的。

  • 重載配置是在 nginx 運(yùn)行期間改變 nginx 的“行為”,nginx 的行為定義在配置文件里,修改配置文件并保存后,這些配置不會(huì)立刻生效,必須重啟或者使用重載配置命令。

配置文件

想讓 nginx 干什么事,要通過(guò)配置文件來(lái)說(shuō)明,碼者當(dāng)前使用的 ubuntu18,配置文件在 /etc/nginx/nginx.conf
為了不使接下來(lái)的配置受老配置或者默認(rèn)配置的影響,碼者建議刪除這個(gè)配置文件的所有內(nèi)容,從零開(kāi)始。(生產(chǎn)環(huán)境慎用)

靜態(tài)文件服務(wù)器

怎么做

比如我想把home/gy/static這個(gè)目錄下的文件作為靜態(tài)文件供別人訪問(wèn),我可以這么做

  • 創(chuàng)建目錄 home/gy/static,并在這個(gè)目錄里放一個(gè)圖片或者h(yuǎn)tml文件(這里我先放一個(gè) test.html)

  • 告訴 nginx,我的靜態(tài)文件放在 /home/gy/static目錄下。也就是,修改配置文件為以下內(nèi)容:

events {}
http {
  server {
    root /home/gy/static;
  }
}
  • 重載配置sudo nginx -s reload

  • 試一下,在瀏覽器里訪問(wèn)localhost/static/test.html

如果使用遠(yuǎn)程主機(jī),應(yīng)該用 ip 地址替換 localhost,如果 404 了,檢查一下防火墻 80 端口和云服務(wù)器安全組規(guī)則

一點(diǎn)解釋

  • 對(duì)于任何功能強(qiáng)大、可定制性強(qiáng)的工具,其配置文件一般都非常復(fù)雜,完全理解配置文件是需要花費(fèi)巨大精力且沒(méi)有必要的。大多數(shù)情況下,我們只需要根據(jù)我們自己的需求去了解部分功能的配置,所以重要的不是為什么(比如:為什么第一行必須有一個(gè) events?),而是怎么辦(比如:我需要做哪些事才能配置一個(gè)靜態(tài)文件服務(wù)器)。

  • 第一行 events {}定義一些事件相關(guān)的內(nèi)容,本文不涉及,所以 events 里沒(méi)有任何內(nèi)容,但是如果沒(méi)有這一行代碼的話,這個(gè)配置就不完整,是不可以被使用的,所以加了這么一行配置

  • 第二行到最后,用來(lái)定義 “http 相關(guān)的” -> “服務(wù)器內(nèi)容”,這里只需要指定一個(gè)服務(wù)器的根目錄就行

目錄導(dǎo)航

通常情況下靜態(tài)文件服務(wù)器只提供文件的獲取,但是 nginx 提供了類似 web文件瀏覽器 的功能,就是可以訪問(wèn)一個(gè)目錄,結(jié)果就是得到這個(gè)目錄下有哪些文件、文件夾,如下圖

在這里插入圖片描述

只需要在 root 下一行添加autoindex on;就可以了。如果當(dāng)前的 nginx 只是用來(lái)托管一個(gè)靜態(tài)網(wǎng)站或者圖片,那么這個(gè)功能是不需要的。

修改配置后記得重載配置

反向代理

關(guān)于代理和反向代理的意義,建議看這個(gè)例子

為什么需要反向代理呢?當(dāng)然,有無(wú)數(shù)需要反向代理的情況。比較常見(jiàn)的一種情況是:多個(gè) web 應(yīng)用部署在同一個(gè)服務(wù)器上,而這些 web 應(yīng)用都需要 80 端口。這時(shí)候,我們需要用 nginx 來(lái)導(dǎo)流,把以 /a 開(kāi)頭的請(qǐng)求轉(zhuǎn)發(fā)到 a 應(yīng)用里,把以 /b 開(kāi)頭的請(qǐng)求轉(zhuǎn)發(fā)到 b 應(yīng)用里

events {}
http {
  server {
    location /a {
      proxy_pass http://localhost:8081;
    }
    location /b {
      proxy_pass http://localhost:8082;
    }
  }
}

這時(shí),請(qǐng)求 http://localhost/a/resource就會(huì)轉(zhuǎn)發(fā)到

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多