1. 程式人生 > >第一次使用,試試水(nginx解讀)

第一次使用,試試水(nginx解讀)

  • Nginx是一種輕量級的Web伺服器,同時也是反向代理伺服器及郵件代理伺服器,初由俄文開發為瞭解決訪問量併發問題並於04釋出.應用於BSD-like協議,其特點是佔有記憶體小,併發能力強,中國大陸使用此網站使用者有:百度、京東、新浪、網易、騰訊、淘寶等,理論併發量在5w/s.

  • 反向代理:使用者傳送請求時,nginx進行攔截,代替使用者訪問資料庫,最終將結果返回給使用者的過程。這裡通俗的舉個例子個人覺得可以這麼理解:比如說我家要造房子,木材水泥油漆都是自己家原先準備好的但是在建造的過程中發現現有的資源滿足不了目前的需求,那麼我就需要派一個瞭解行情的人去市場上購買,注意這個人就是“nginx“了,他去別人那裡買好材料拿到自己家用,反向代理實現的就是過程,由使用者的請求到後臺去查詢資源再將結果返回客戶端。

  • 下面是一段實現反向代理的配置conf檔案:

    server {
    listen 80;
    server_name localhost;
    client_max_body_size 1024M;
    location / {
    proxy_pass http://localhost:8080;
    proxy_set_header Host h o s t

    : host: server_port;
    }
    }

                      *這裡載入localhost自動轉入訪問localhost:8080是實現反向代理
          `注意`:Nginx是支援熱啟動的,修改完conf檔案後一定要重啟 nginx -s reload  ,否則不起作用哦
    
  • 由代理的過程可以進一步剖析底層的機制:這裡我們需要理解的是為什麼Nginx能實現攔截請求的功能,server程式碼塊有個listen監聽埠號,(本地伺服器的預設埠是3000. Roots執行在1111埠。SSL在443埠。網際網路的預設埠是80)。
    **server_name主要用來匹配url地址。任意請求通過nginx時,它會檢視url並尋找 server_name 片段,同時可以配置多個server,這個功能使得它可以託管無數的站點。
    **root是用來定義存放檔案的位置mkdir/檔名