国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - Nginx的一些常用配置與技巧總結

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

2020-01-08 15:0737丫37 Nginx

這篇文章主要給大家總結介紹了關于Nginx的一些常用配置與技巧的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Nginx具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

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

一個站點配置多個域名

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

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

一個服務配置多個站點

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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虛擬主機配置實現,Nginx有三種類型的虛擬主機

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

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

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

nginx添加賬號密碼驗證

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

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

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

使用方法:

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

nginx開啟列目錄

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

?
1
2
3
4
5
6
7
8
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等文件時會在瀏覽器上顯示文件的內容,如果你想讓瀏覽器直接下載,加上下邊的配置

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

配置默認站點

?
1
2
3
server {
 listen 80 default;
}

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

不允許通過IP訪問

?
1
2
3
4
5
6
server {
 listen  80 default;
 server_name _;
 
 return  404;
}

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

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

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

直接返回驗證文件

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

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

nginx配置upstream反向代理

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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/的區別:

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

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

?
1
2
3
4
5
6
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部分將會被修改為該參數中的uri。

?
1
2
3
4
5
6
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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在項目中大多數情況下會作為反向代理使用,例如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自動跳轉到首頁

?
1
2
3
4
5
6
7
8
9
server {
 location / {
  error_page 404 = @ops-coffee;
 }
 
 location @ops-coffee {
  rewrite .* / permanent;
 }
}

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。

原文鏈接:https://mp.weixin.qq.com/s/JyUnN_OtQ2NtXcH0mtCJUg

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产欧美一二三区在线粉嫩 | 伊人99 | 三区免费视频 | 久久一区 | 91在线公开视频 | 黄色二区 | 成年网站 | 人人射人人舔 | 亚洲精品在线看 | 婷婷激情五月 | 在线色av | 黄色在线观看网址 | 日韩av一区二区在线观看 | 美色阁av| 成人免费福利 | 国产精品成av人在线视午夜片 | 噜噜噜噜狠狠狠7777视频 | 91视频网页| 久久综合久 | 91精品国产高清一区二区三区 | 日韩成人在线观看 | 天天摸天天操 | 日韩一区二区三区在线看 | 久久精品中文 | 久久久精品影院 | 瑟瑟视频在线观看 | 中文字幕日韩av | 国产精品久久久久久久午夜片 | 夜夜骚av| 91.成人天堂一区 | 国产一区二区三区在线观看网站 | 韩国一区二区视频 | 亚洲精品乱码久久久久久蜜糖图片 | 天天干天天爽 | 成人午夜网站 | 日比视频网站 | 亚洲视频一区 | 国产毛片毛片 | 日韩欧美一区二区三区免费观看 | 欧美精品久久久久久久久老牛影院 | 亚洲欧美视频 |