下載並啟動
下載地址:http://nginx.org/en/download.html
雙擊即可啟動
測試啟動:http://localhost/
部署網站
新增該條配置即可
server {
listen 8088;
server_name 名字;
location / {
root 檔案目錄;
index index.html index.htm;
}
}
關閉、開始、重啟
在cmd下操作,進入目錄路徑
nginx -s stop; // 停止
nginx -s quit // 有序停止
nginx -s reload // 重啟
Vue404重定向配置
server {
listen 80;
server_name www.xxx.com;
location / {
index /data/dist/index.html;
try_files $uri $uri/ /index.html;
}
}
配置域名轉發
location /api/ {
proxy_pass http://backend-api-server/; //配置轉發地址,這個地址也可以是本地部署的網站
proxy_set_header Host $host; // 配置轉發請求頭
proxy_set_header X-Real-IP $remote_addr; // 配置轉發請求頭
}
配置二級域名轉發
重點語法
http://backend-api-server/
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
示例:
server {
listen 80;
server_name a.baidu.cn;
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name b.baidu.cn;
location / {
proxy_pass http://127.0.0.1:8002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 8001;
server_name a.baidu.cn;
location / {
root C:/nginx-web/three.js-158/examples/;
index index.html;
}
}
server {
listen 8002;
server_name b.baidu.cn;
location / {
root C:/nginx-web/Cesium-1.111/;
index index.html;
}
}
原理
每個服務都需要佔用一個埠號來啟動服務,監聽對應的二級域名server_name,然後使用轉發即可
location / {
server_name a.baidu.com;
proxy_pass http://127.0.0.1:8002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
啟用gzip
Gzip 是一種通用的檔案壓縮演算法,用於減小檔案大小以提高網路傳輸效率。在 Web 開發中,Gzip 壓縮常用於減小靜態檔案(如 HTML、CSS、JavaScript 等)的大小,從而加快頁面載入速度。
http {
gzip on;
gzip_comp_level 5;
gzip_types text/plain text/html text/css application/javascript image/svg+xml;
}
- gzip on 啟用 Gzip 壓縮功能。
- gzip_comp_level 設定壓縮級別,範圍從 1 到 9,數字越大壓縮比越高,但同時也消耗更多的 CPU 資源。
- gzip_types 設定需要進行壓縮的 MIME 型別。
負載均衡
- 定義伺服器列表,用的
upstream
進行定義,upstream
是一個用於定義一組後端伺服器的指令。它通常用於配置反向代理和負載均衡。upstream
指令允許你列出多個伺服器,併為每個伺服器指定其地址和埠。這些伺服器可以是本地伺服器,也可以是遠端伺服器。
upstream backend {
server backend1.example.com:8080;
server backend2.example.com:8080;
server backend3.example.com:8080;
}
- 配置負載均衡演算法
upstream backend {
least_conn;
server backend1.example.com:8080;
server backend2.example.com:8080;
server backend3.example.com:8080;
}
least_conn
參數列示使用最少連線演算法,將請求轉發給連線數最少的伺服器。
問題
- 轉換字串,windows下路徑字串是\,要轉換成/,否則會被轉義出錯
- 每條語句都要加上;來結尾,否則會報錯;