日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx的这些妙用,你肯定有不知道的!

發布時間:2025/3/16 Nginx 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx的这些妙用,你肯定有不知道的! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將從反向代理、文件壓縮、地址重寫三方面來講解Nginx在Docker環境下的使用技巧!

? ?

在Docker環境下的安裝

下載nginx的docker鏡像

docker pull nginx:1.10

從容器中拷貝nginx配置

  • 先運行一次容器(為了拷貝配置文件):

docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -d nginx:1.10
  • 將容器內的配置文件拷貝到指定目錄:

docker container cp nginx:/etc/nginx /mydata/nginx/
  • 修改文件名稱:

mv nginx conf
  • 終止并刪除容器:

docker stop nginx docker rm nginx

使用docker命令啟動

docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -v /mydata/nginx/conf:/etc/nginx \ -d nginx:1.10


??

反向代理

反向代理就是當請求訪問你的代理服務器時,代理服務器會對你的請求進行轉發,可以轉發到靜態的資源路徑上去,也可以轉發到動態的服務接口上去。下面我們以對域名進行代理為例,來講講如何進行靜態代理和動態代理。

靜態代理

靜態代理就是將請求代理到不同的靜態資源路徑上去,這里我們將對docs.macrozheng.com的請求代理到我的文檔項目中,對mall.macrozheng.com的請求代理到mall的前端項目中。

  • 首先我們修改下本機的host文件:

192.168.6.132 docs.macrozheng.com 192.168.6.132 mall.macrozheng.com
  • 然后將我們的文檔項目和mall前端項目上傳到nginx的html目錄中去,并進行解壓操作:

  • 在/mydata/nginx/conf/conf.d文件夾中添加配置文件docs.conf對文檔項目進行反向代理:

server {listen 80;server_name docs.macrozheng.com; #修改域名location / {root /usr/share/nginx/html/docs; #代理到docs文件夾中index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}}
  • 在/mydata/nginx/conf/conf.d文件夾中添加配置文件mall.conf對mall的前端項目進行反向代理:

server {listen 80;server_name mall.macrozheng.com; #修改域名location / {root /usr/share/nginx/html/mall; #代理到mall文件夾中index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}}
  • 重啟nginx服務:

docker restart nginx
  • 通過docs.macrozheng.com即可訪問到我們的文檔項目了:

  • 通過mall.macrozheng.com即可訪問到mall的前端項目了:

動態代理

動態代理就是把代理服務器的請求轉發到另一個服務上去,這里我們將對api.macrozheng.com的請求代理到mall-admin的后臺服務上去。

  • 首先我們修改下本機的host文件,添加如下規則:

192.168.6.132 api.macrozheng.com
  • 在/mydata/nginx/conf/conf.d文件夾中添加配置文件api.conf對將請求代理到遠程的mall-admin服務上去:

server {listen 80;server_name api.macrozheng.com; #修改域名location / {proxy_pass http://120.27.63.9:8080; #修改為代理服務地址index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}}
  • 重啟動nginx服務后,通過api.macrozheng.com/swagger-ui.html即可訪問到mall-admin的API文檔頁面了:


??

文件壓縮

如果我們租用了一個帶寬很低的服務器,網站訪問速度會很慢,這時我們可以通過讓nginx開啟GZIP壓縮來提高網站的訪問速度。這里我們以mall的前端項目為例來演示下它的提速效果。

  • 首先我們對nginx進行限速操作,限制每個連接的訪問速度為128K來建立一個比較慢的訪問場景;

  • 修改mall.conf配置文件,進行限速操作:

server {listen 80;server_name mall.macrozheng.com;limit_rate 128k; #限制網速為128Klocation / {root /usr/share/nginx/html/mall;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}}
  • 對mall的前端項目mall.macrozheng.com進行訪問,我們可以發現網站中有個js文件比較大,需要加載12s:

  • nginx返回請求頭信息如下:

  • 修改/mydata/nginx/conf目錄下的nginx.conf配置文件,開啟GZIP壓縮;

http {gzip on; #開啟gzipgzip_disable "msie6"; #IE6不使用gzipgzip_vary on; #設置為on會在Header里增加 "Vary: Accept-Encoding"gzip_proxied any; #代理結果數據的壓縮gzip_comp_level 6; #gzip壓縮比(1~9),越小壓縮效果越差,但是越大處理越慢,所以一般取中間值gzip_buffers 16 8k; #獲取多少內存用于緩存壓縮結果gzip_http_version 1.1; #識別http協議的版本gzip_min_length 1k; #設置允許壓縮的頁面最小字節數,超過1k的文件會被壓縮gzip_types application/javascript text/css; #對特定的MIME類型生效,js和css文件會被壓縮include /etc/nginx/conf.d/*.conf; }
  • 再次對mall的前端項目mall.macrozheng.com進行訪問,我們可以發現js文件已經被壓縮,加載時間縮短到3.88s,提速3倍左右:

  • nginx返回請求頭中添加了Content-Encoding: gzip的信息:


?

地址重寫

有的時候我們的網站更換了域名,但還有用戶在使用老的域名訪問,這時可以通過nginx的地址重寫來讓用戶跳轉到新的域名進行訪問。

  • 比如說原來我們用的docs.macrozheng.com這個域名不用了,現在改成www.macrozheng.com了來訪問文檔項目了;

  • 修改docs.conf配置文件,將地址帶參數重寫到新地址:

server {listen 80;server_name docs.macrozheng.com;rewrite "^/(.*)$" http://www.macrozheng.com/$1; #地址重寫到新地址location / {root /usr/share/nginx/html/docs;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}}
  • 此時訪問舊域名docs.macrozheng.com會直接跳轉到www.macrozheng.com去。

有道無術,術可成;有術無道,止于術

歡迎大家關注Java之道公眾號

好文章,我在看??

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的Nginx的这些妙用,你肯定有不知道的!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。