青草久久影院-青草久久伊人-青草久久久-青草久久精品亚洲综合专区-SM双性精跪趴灌憋尿调教H-SM脚奴调教丨踩踏贱奴

17站長網(wǎng)

17站長網(wǎng) 首頁 網(wǎng)站 服務器 查看內(nèi)容

Nginx的一些常用配置與技巧總結

2022-10-6 14:10| 查看: 1646 |來源: 互聯(lián)網(wǎng)

文章列舉了幾個Nginx常見的,實用的,有趣的配置,希望看過之后能說一句:學到了!一個站點配置多個域名 server { listen 80; server_name ops-coffe ...

前言

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

一個站點配置多個域名

server {
 listen 80;
 server_name ops-coffee.cn b.ops-coffee.cn;
}

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

一個服務配置多個站點

server {
 listen 80;
 server_name a.ops-coffee.cn;

 location / {
 root /home/project/pa;
 index index.html;
 }
}

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

 location / {
 root /home/project/pb;
 index index.html;
 }
}

server {
 listen 80;
 server_name c.ops-coffee.cn;

 location / {
 root /home/project/pc;
 index index.html;
 }
}

基于Nginx虛擬主機配置實現(xiàn),Nginx有三種類型的虛擬主機

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

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

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

nginx添加賬號密碼驗證

server {
 location / {
 auth_basic "please input user&passwd";
 auth_basic_user_file key/auth.key;
 }
}

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

# cat pwd.pl 
#!/usr/bin/perl
use strict;

my $pw=$ARGV[0] ;
print crypt($pw,$pw)."\n";

使用方法:

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

nginx開啟列目錄

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

server {
 location download {
  autoindex on;

  autoindex_exact_size off;
  autoindex_localtime on;
 }
}

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

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

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

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

配置默認站點

server {
 listen 80 default;
}

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

不允許通過IP訪問

server {
 listen  80 default;
 server_name _;

 return  404;
}

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

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

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

直接返回驗證文件

location = /XDFyle6tNA.txt {
 default_type text/plain;
 return 200 'd6296a84657eb275c05c31b10924f6ea';
}

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

nginx配置upstream反向代理

http {
 ...
 upstream tomcats {
  server 192.168.106.176 weight=1;
  server 192.168.106.177 weight=1;
 }

 server {
  location /ops-coffee/ { 
   proxy_pass http://tomcats;

   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
  }
 }

}

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

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

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

location /ops-coffee/ {
 proxy_pass http://192.168.106.135:8181;
}

http://domain/ops-coffee/ -->  http://192.168.106.135:8181/ops-coffee/
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部分將會被修改為該參數(shù)中的uri。

location /ops-coffee/ {
 proxy_pass http://192.168.106.135:8181/;
}

http://domain/ops-coffee/ -->  http://192.168.106.135:8181
http://domain/ops-coffee/action/abc -->  http://192.168.106.135:8181/action/abc

nginx upstream開啟keepalive

upstream tomcat {
 server ops-coffee.cn:8080;
 keepalive 1024;
}

server {
 location / {
  proxy_http_version 1.1;
  proxy_set_header Connection "";

  proxy_pass http://tomcat;
 }
}

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

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

proxy_http_version 1.1: 開啟keepalive要求HTTP協(xié)議版本為HTTP 1.1

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

404自動跳轉到首頁

server {
 location / {
  error_page 404 = @ops-coffee;
 }

 location @ops-coffee {
  rewrite .* / permanent;
 }
}

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

本文最后更新于 2022-10-6 14:10,某些文章具有時效性,若有錯誤或已失效,請在網(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號:w17tui,關注站長、創(chuàng)業(yè)、關注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業(yè)用途,如果損害了您的權利,請聯(lián)系我們及時修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質的創(chuàng)業(yè)信息和品牌營銷服務,與站長一起進步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨!

掃一掃,關注站長網(wǎng)微信

大家都在看

熱門排行

    最近更新

      返回頂部
      主站蜘蛛池模板: 欧美激情久久久久久久大片 | 亚洲欧美日韩中字视频三区 | 中文国产在线观看 | 日本邪恶全彩工囗囗番海贼王 | 高h np 强j 乱l 双性 | 紧致肉肉高h | 成 人 动漫3d 在线看 | asmr淫语| 国产成人精品在视频 | 久久精品日本免费线 | 桃色园社区| 亚洲人成电影网站 | 一本二卡三卡四卡乱码麻豆 | 亚洲伊人久久精品 | 亚洲精品久久99蜜芽尤物TV | 成年人视频在线免费看 | 欧美黑人巨大xxxxx | 呻吟翘臀后进爆白浆 | 啊…嗯啊好深男男高h文 | 亚洲幼女网 | 亚洲欧美成人无码久久久 | 出差无套内射小秘书 | WWW污污污抽搐喷潮COM | 久久精品国产在热亚洲 | 国产精品亚洲精品久久国语 | 国精一区二区AV在线观看网站 | 国产二级一片内射视频播放 | 夜色资源站国产www在线视频 | 色99蜜臀AV无码| 亚洲国产精麻豆 | 中文字幕完整高清版 | 久久夜色撩人精品国产 | 亚洲1区2区3区精华液 | caoporon超碰在线视频 | 亚洲欧洲日产国码久在线 | 国产日韩在线欧美视频 | 天天看学生视频 | 快播免费电影 | 亚洲中文字幕在线精品 | 午理论理影片被窝 | 中文字幕在线观看亚洲日韩 |