成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Nginx 最實用的配置技巧,用到過才是老司機

開發 架構
文章列舉了幾個Nginx常見的,實用的,有趣的配置,希望看過之后能說一句:學到了!

 [[266457]]

文章列舉了幾個Nginx常見的,實用的,有趣的配置,希望看過之后能說一句:學到了!

一個站點配置多個域名

  1. server { 
  2.     listen       80; 
  3.     server_name  ops-coffee.cn b.ops-coffee.cn; 

server_name 后跟多個域名即可,多個域名之間用空格分隔

一個服務配置多個站點

  1. server { 
  2.     listen       80; 
  3.     server_name  a.ops-coffee.cn; 
  4.  
  5.     location / { 
  6.         root /home/project/pa; 
  7.         index index.html; 
  8.     } 
  9.  
  10. server { 
  11.     listen       80; 
  12.     server_name  ops-coffee.cn b.ops-coffee.cn; 
  13.  
  14.     location / { 
  15.         root /home/project/pb; 
  16.         index index.html; 
  17.     } 
  18.  
  19. server { 
  20.     listen       80; 
  21.     server_name  c.ops-coffee.cn; 
  22.  
  23.     location / { 
  24.         root /home/project/pc; 
  25.         index index.html; 
  26.     } 

基于Nginx虛擬主機配置實現,Nginx有三種類型的虛擬主機

基于IP的虛擬主機: 需要你的服務器上有多個地址,每個站點對應不同的地址,這種方式使用的比較少

基于端口的虛擬主機: 每個站點對應不同的端口,訪問的時候使用ip:port的方式訪問,可以修改listen的端口來使用

基于域名的虛擬主機: 使用最廣的方式,上邊例子中就是用了基于域名的虛擬主機,前提條件是你有多個域名分別對應每個站點,server_name填寫不同的域名即可

nginx添加賬號密碼驗證

  1. server { 
  2.     location / { 
  3.         auth_basic "please input user&passwd"
  4.         auth_basic_user_file key/auth.key
  5.     } 

有很多服務通過nginx訪問,但本身沒有提供賬號認證的功能,就可以通過nginx提供的authbase賬號密碼認證來實現,可以用以下腳本來生成賬號的密碼

  1. # cat pwd.pl  
  2. #!/usr/bin/perl 
  3. use strict; 
  4.  
  5. my $pw=$ARGV[0] ; 
  6. print crypt($pw,$pw)."\n"

使用方法:

  1. # perl pwd.pl ops-coffee.cn 
  2. opf8BImqCAXww 
  3. # echo "admin:opf8BImqCAXww" > key/auth.key 

nginx開啟列目錄

當你想讓nginx作為文件下載服務器存在時,需要開啟nginx列目錄

  1. server { 
  2.     location download { 
  3.         autoindex on
  4.  
  5.         autoindex_exact_size off
  6.         autoindex_localtime on
  7.     } 

autoindex_exact_size: 為on(默認)時顯示文件的確切大小,單位是byte;改為off顯示文件大概大小,單位KB或MB或GB

autoindex_localtime: 為off(默認)時顯示的文件時間為GMT時間;改為on后,顯示的文件時間為服務器時間

默認當訪問列出的txt等文件時會在瀏覽器上顯示文件的內容,如果你想讓瀏覽器直接下載,加上下邊的配置

  1. if ($request_filename ~* ^.*?\.(txt|pdf|jpg|png)$) { 
  2.     add_header Content-Disposition 'attachment'

配置默認站點

  1. server { 
  2.     listen 80 default

當一個nginx服務上創建了多個虛擬主機時默認會從上到下查找,如果匹配不到虛擬主機則會返回***個虛擬主機的內容,如果你想指定一個默認站點時,可以將這個站點的虛擬主機放在配置文件中***個虛擬主機的位置,或者在這個站點的虛擬主機上配置listen default

不允許通過IP訪問

  1. server { 
  2.     listen       80 default
  3.     server_name  _; 
  4.  
  5.     return      404; 

可能有一些未備案的域名或者你不希望的域名將服務器地址指向了你的服務器,這時候就會對你的站點造成一定的影響,需要禁止IP或未配置的域名訪問,我們利用上邊所說的default規則,將默認流量都轉到404去

上邊這個方法比較粗暴,當然你也可以配置下所有未配置的地址訪問時直接301重定向到你的網站去,也能為你的網站帶來一定的流量

  1. server { 
  2.     rewrite ^/(.*)$ https://ops-coffee.cn/$1    permanent; 

直接返回驗證文件

  1. location = /XDFyle6tNA.txt { 
  2.     default_type text/plain; 
  3.     return 200 'd6296a84657eb275c05c31b10924f6ea'

很多時候微信等程序都需要我們放一個txt的文件到項目里以驗證項目歸屬,我們可以直接通過上邊這種方式修改nginx即可,無需真正的把文件給放到服務器上

nginx配置upstream反向代理

  1. http { 
  2.     ... 
  3.     upstream tomcats { 
  4.         server 192.168.106.176 weight=1; 
  5.         server 192.168.106.177 weight=1; 
  6.     } 
  7.  
  8.     server { 
  9.         location /ops-coffee/ {  
  10.             proxy_pass http://tomcats;  
  11.  
  12.             proxy_set_header Host $host; 
  13.             proxy_set_header X-Real-IP $remote_addr; 
  14.             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
  15.             proxy_set_header X-Forwarded-Proto $scheme; 
  16.         } 
  17.     } 
  18.  

稍不注意可能會落入一個proxy_pass加杠不加杠的陷阱,這里詳細說下proxy_pass http://tomcats與proxy_pass http://tomcats/的區別:

雖然只是一個/的區別但結果確千差萬別。分為以下兩種情況:

1. 目標地址中不帶uri(proxy_pass http://tomcats)。此時新的目標url中,匹配的uri部分不做修改,原來是什么就是什么。

  1. location /ops-coffee/ { 
  2.     proxy_pass  http://192.168.106.135:8181; 
  3.  
  4. http://domain/ops-coffee/   -->     http://192.168.106.135:8181/ops-coffee/ 
  5. http://domain/ops-coffee/action/abc   -->     http://192.168.106.135:8181/ops-coffee/action/abc 

2. 目標地址中帶uri(proxy_pass http://tomcats/,/也是uri),此時新的目標url中,匹配的uri部分將會被修改為該參數中的uri。

  1. location /ops-coffee/ { 
  2.     proxy_pass  http://192.168.106.135:8181/; 
  3.  
  4. http://domain/ops-coffee/   -->     http://192.168.106.135:8181 
  5. http://domain/ops-coffee/action/abc   -->     http://192.168.106.135:8181/action/abc 

nginx upstream開啟keepalive

  1. upstream tomcat { 
  2.     server ops-coffee.cn:8080; 
  3.     keepalive 1024; 
  4.  
  5. server { 
  6.     location / { 
  7.         proxy_http_version 1.1; 
  8.         proxy_set_header Connection ""
  9.  
  10.         proxy_pass http://tomcat; 
  11.     } 

nginx在項目中大多數情況下會作為反向代理使用,例如nginx后接tomcat,nginx后接php等,這時我們開啟nginx和后端服務之間的keepalive能夠減少頻繁創建TCP連接造成的資源消耗,配置如上

keepalive: 指定每個nginxworker可以保持的***連接數量為1024,默認不設置,即nginx作為client時keepalive未生效

proxy_http_version 1.1: 開啟keepalive要求HTTP協議版本為HTTP 1.1

proxy_set_header Connection "": 為了兼容老的協議以及防止http頭中有Connection close導致的keepalive失效,這里需要及時清掉HTTP頭部的Connection

404自動跳轉到首頁

server { location / { error_page 404 = @ops-coffee; } location @ops-coffee { rewrite .* / permanent; }}

網站出現404頁面不是特別友好,我們可以通過上邊的配置在出現404之后給自動跳轉到首頁去

責任編輯:武曉燕 來源: 運維咖啡吧
相關推薦

2021-11-17 09:17:27

電腦技巧PC電腦

2017-05-24 10:58:28

linux系統技巧

2020-08-25 23:06:33

開發技能代碼

2020-06-09 15:07:29

網絡監控網線

2023-04-26 00:34:36

Python技巧程序員

2021-11-15 10:02:16

Python命令技巧

2009-02-20 09:13:57

寬帶路由器產品

2009-07-03 16:45:25

JSP實用教程

2018-03-28 11:03:23

Nginx負載均衡運維

2020-06-28 09:42:03

開發者技能工具

2019-02-15 15:50:10

工程師軟件測試開發

2017-10-18 13:28:27

語言Python開發錯誤

2025-06-03 09:06:20

2010-08-18 16:04:01

寬帶路由器

2017-03-13 08:50:35

科技新聞早報

2018-10-09 09:42:27

MySQL優化單表

2018-09-28 15:06:41

MySQL優化指南數據庫

2017-11-21 09:10:54

Linux命令行技巧

2024-06-04 09:48:14

自動駕駛模型

2020-11-09 14:15:23

代碼菜鳥老司機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区免费 | 欧美日韩一区二区在线播放 | 亚洲不卡在线视频 | 久久丝袜 | 欧美黄色片 | 精品无码久久久久久国产 | 午夜欧美| 久久久久久久久久久一区二区 | 国产精品一区二区福利视频 | 黄色片在线免费看 | 国产亚洲欧美在线视频 | 91人人爽 | 久久久久久国产精品免费免费 | 欧美黄色一级毛片 | 国产大片一区 | 日韩中文字幕一区二区 | 亚洲精品久久久9婷婷中文字幕 | 免费在线播放黄色 | 玖玖玖av| 夜夜精品浪潮av一区二区三区 | 国产日韩欧美中文 | 久久精品欧美一区二区三区麻豆 | 欧美一区在线看 | aacc678成免费人电影网站 | 一区在线观看 | 久久久久久综合 | 欧美电影大全 | 午夜视频在线视频 | 国产精品亚洲片在线播放 | 欧美激情国产日韩精品一区18 | 亚洲天堂999 | 欧美激情综合色综合啪啪五月 | 欧美日韩国产一区二区三区 | 九九热久久免费视频 | 亚洲综合无码一区二区 | 亚洲福利 | 性色网站 | 黑人巨大精品 | 中文字幕高清视频 | 成人欧美一区二区三区视频xxx | 中文字幕在线播放第一页 |