Nginx初始化配置的方法
基本概念
nginx 最常的用途是提供反向代理服務,那麼什麼反向代理呢?正向代理相信許多大陸同胞都在這片神奇的土地上用過了,原理大致如下圖:
代理伺服器作為客戶端這邊的中介接受請求,隱藏掉真實的客戶,向伺服器取得資源。如果代理伺服器在長城外的話還能順便幫助我們實現翻越長城的目的。而反向代理顧名思義就是反過來代理伺服器作為伺服器的中介,隱藏掉真實提供服務的伺服器,原理大致如下圖:
這麼做當然不是為了實現翻越長城,而是為了實現安全和負載平衡等一系列的功能。所謂安全指客戶端的請求不會直接落到內網的伺服器上而是透過代理做了一層轉發,在這一層就可以實現安全過濾,流控,防 ddos 等一系列策略。而負載平衡指我們可以水平擴展後端真正提供服務的伺服器數量,代理依照規則轉發請求到各個伺服器,使得各個伺服器的負載接近平衡。
而 nginx 就是目前流行的這樣一個反向代理服務。
在ubuntu 下,可以捨去編譯安裝的過程,直接apt-get
複製程式碼 程式碼如下:
sudo apt-get install nginx
安裝好之後可以直接透過:
複製程式碼 程式碼如下:
sudo service nginx start
來啟動nginx 服務,nginx 預設設定了80 連接埠的轉發,我們可以再瀏覽器造訪http://locallhost 進行檢查。
初始設定
nginx 的預設設定檔位於
複製程式碼 程式碼如下:
/etc/nginx /nginx.conf
學習配置最好的方式,就是從例子入手,我們先不看其他的配置,直接看和nginx 預設頁相關的配置。在設定檔中有一行:
複製程式碼 程式碼如下:
include /etc/nginx/sites-enabled/*;
這一行載入了一個外部的設定文件,sites-enabled 資料夾下只有一個default 文件,這個外部的設定檔就是負責我們nginx 的預設代理。將設定好的內容縮水後,得到以下幾行:
複製程式碼 程式碼如下:
server {
server_name localhost;
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
## lo lo # try_files $uri $uri/ =404;
}
}
在這裡location 匹配/ 開始的所有請求,即localhost 下的/xxx 或/yyy 都要走下面的配置,除了這種簡單粗暴的匹配,nginx 也支持正則和完全相等及其他的精細匹配方式。而tryfiles意思是 nginx會按照接下來的順序去存取文件,將第一個匹配的返回。例如你去要求 localhost/test,他會去找 /test 文件,找不到再去找 /test/ 再找不到就回傳一個 404。此外我們還可以在location的配置裡用proxypass 實現反向代理和負載平衡,不過這個最簡單的配置並沒有涉及
其中root 是指將本地的一個資料夾作為所有url 請求的根路徑。例如使用者請求了一個 localhost/test,那麼 nginx 就會去需找 /usr/share/nginx/html 資料夾下的 test 檔案回傳。
而 index 是預設的存取頁面了,當我們造訪 localhost 時,他會自動依序尋找 root 檔案路徑下的 index.html 和 index.htm 將第一個找到的結果回傳。
location 進階配置
上面的配置只是將使用者的url 映射到本地的文件,並沒有實現傳說中的反向代理和負載平衡(當然nginx 做靜態文件的分發也是想到的厲害),下面我們就來進一步配置location 看看怎麼實現。
配置很簡單例如我要將所有的請求到轉移到真正提供服務的一台機器的8080 端口,只要這樣:
複製代碼 代碼如下:
location / {
proxy_pass 123.34.56.67:8080;
}
這樣所有的請求就都被反向代理到123.34.56.67 去了。這樣我們反向代理的功能是實現了,可是就能代理到一台伺服器上哪有什麼負載平衡呀?這就要用到 nginx 的 upstream 模組了。
複製碼 程式碼如下:
upstream backend {
ip_hash;
server backend1.example.com ;
server backend3.example.com;
server backend4.example.com;
}
location / {
proxy_pass http://backend;
}
以上是Nginx初始化配置的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

在雲服務器上配置 Nginx 域名的方法:創建 A 記錄,指向雲服務器的公共 IP 地址。在 Nginx 配置文件中添加虛擬主機塊,指定偵聽端口、域名和網站根目錄。重啟 Nginx 以應用更改。訪問域名測試配置。其他注意事項:安裝 SSL 證書啟用 HTTPS、確保防火牆允許 80 端口流量、等待 DNS 解析生效。

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

可以查詢 Nginx 版本的方法有:使用 nginx -v 命令;查看 nginx.conf 文件中的 version 指令;打開 Nginx 錯誤頁,查看頁面的標題。

啟動 Nginx 服務器需要按照不同操作系統採取不同的步驟:Linux/Unix 系統:安裝 Nginx 軟件包(例如使用 apt-get 或 yum)。使用 systemctl 啟動 Nginx 服務(例如 sudo systemctl start nginx)。 Windows 系統:下載並安裝 Windows 二進製文件。使用 nginx.exe 可執行文件啟動 Nginx(例如 nginx.exe -c conf\nginx.conf)。無論使用哪種操作系統,您都可以通過訪問服務器 IP

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。
