最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx的一些常用配置與技巧總結(jié)

 更新時(shí)間:2019年05月29日 09:13:06   作者:37丫37  
這篇文章主要給大家總結(jié)介紹了關(guān)于Nginx的一些常用配置與技巧的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

文章列舉了幾個(gè)Nginx常見(jiàn)的,實(shí)用的,有趣的配置,希望看過(guò)之后能說(shuō)一句:學(xué)到了!

一個(gè)站點(diǎn)配置多個(gè)域名

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

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

一個(gè)服務(wù)配置多個(gè)站點(diǎn)

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虛擬主機(jī)配置實(shí)現(xiàn),Nginx有三種類(lèi)型的虛擬主機(jī)

基于IP的虛擬主機(jī): 需要你的服務(wù)器上有多個(gè)地址,每個(gè)站點(diǎn)對(duì)應(yīng)不同的地址,這種方式使用的比較少

基于端口的虛擬主機(jī): 每個(gè)站點(diǎn)對(duì)應(yīng)不同的端口,訪(fǎng)問(wèn)的時(shí)候使用ip:port的方式訪(fǎng)問(wèn),可以修改listen的端口來(lái)使用

基于域名的虛擬主機(jī): 使用最廣的方式,上邊例子中就是用了基于域名的虛擬主機(jī),前提條件是你有多個(gè)域名分別對(duì)應(yīng)每個(gè)站點(diǎn),server_name填寫(xiě)不同的域名即可

nginx添加賬號(hào)密碼驗(yàn)證

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

有很多服務(wù)通過(guò)nginx訪(fǎng)問(wèn),但本身沒(méi)有提供賬號(hào)認(rèn)證的功能,就可以通過(guò)nginx提供的authbase賬號(hào)密碼認(rèn)證來(lái)實(shí)現(xiàn),可以用以下腳本來(lái)生成賬號(hào)的密碼

# 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開(kāi)啟列目錄

當(dāng)你想讓nginx作為文件下載服務(wù)器存在時(shí),需要開(kāi)啟nginx列目錄

server {
 location download {
  autoindex on;

  autoindex_exact_size off;
  autoindex_localtime on;
 }
}

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

autoindex_localtime: 為off(默認(rèn))時(shí)顯示的文件時(shí)間為GMT時(shí)間;改為on后,顯示的文件時(shí)間為服務(wù)器時(shí)間

默認(rèn)當(dāng)訪(fǎng)問(wèn)列出的txt等文件時(shí)會(huì)在瀏覽器上顯示文件的內(nèi)容,如果你想讓瀏覽器直接下載,加上下邊的配置

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

配置默認(rèn)站點(diǎn)

server {
 listen 80 default;
}

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

不允許通過(guò)IP訪(fǎng)問(wèn)

server {
 listen  80 default;
 server_name _;

 return  404;
}

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

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

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

直接返回驗(yàn)證文件

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

很多時(shí)候微信等程序都需要我們放一個(gè)txt的文件到項(xiàng)目里以驗(yàn)證項(xiàng)目歸屬,我們可以直接通過(guò)上邊這種方式修改nginx即可,無(wú)需真正的把文件給放到服務(wù)器上

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;
  }
 }

}

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

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

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

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.  目標(biāo)地址中帶uri(proxy_pass http://tomcats/,/也是uri),此時(shí)新的目標(biāo)url中,匹配的uri部分將會(huì)被修改為該參數(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開(kāi)啟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在項(xiàng)目中大多數(shù)情況下會(huì)作為反向代理使用,例如nginx后接tomcat,nginx后接php等,這時(shí)我們開(kāi)啟nginx和后端服務(wù)之間的keepalive能夠減少頻繁創(chuàng)建TCP連接造成的資源消耗,配置如上

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

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

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

404自動(dòng)跳轉(zhuǎn)到首頁(yè)

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

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

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

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Nginx反向代理出現(xiàn)502?Bad?Gateway問(wèn)題解決

    Nginx反向代理出現(xiàn)502?Bad?Gateway問(wèn)題解決

    在配置Nginx反向代理時(shí)遇到502 Bad Gateway錯(cuò)誤,經(jīng)過(guò)排查發(fā)現(xiàn)是SSL握手問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • nginx-ingress-controller部署配置詳解

    nginx-ingress-controller部署配置詳解

    這篇文章主要為大家介紹了nginx ingress controller的部署配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • nginx配置history模式的使用小結(jié)

    nginx配置history模式的使用小結(jié)

    本文詳細(xì)介紹了在Nginx服務(wù)器中配置history模式的方法,具體通過(guò)使用try_files指令來(lái)實(shí)現(xiàn),這種配置方式主要適用于單頁(yè)應(yīng)用,可以確保無(wú)論訪(fǎng)問(wèn)什么URL,服務(wù)器總是返回同一個(gè)HTML文件,然后由前端路由來(lái)處理不同的頁(yè)面顯示
    2024-10-10
  • nginx禁止某個(gè)IP訪(fǎng)問(wèn)站點(diǎn)的設(shè)置方法

    nginx禁止某個(gè)IP訪(fǎng)問(wèn)站點(diǎn)的設(shè)置方法

    近期發(fā)現(xiàn)博客遭到某些人的惡意灌水,頻繁地利用發(fā)帖機(jī)器人發(fā)表評(píng)論,給博客的管理帶來(lái)諸多不便,搜索了一下資料,可以利用nginx的ngx_http_access_module 模塊設(shè)置允許/禁止哪些ip或ip段訪(fǎng)問(wèn)站點(diǎn)。
    2010-12-12
  • 詳解Nginx proxy_pass的一個(gè)/斜杠引發(fā)的血案

    詳解Nginx proxy_pass的一個(gè)/斜杠引發(fā)的血案

    這篇文章主要介紹了詳解Nginx proxy_pass的一個(gè)/斜杠引發(fā)的血案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Nginx安裝配置詳解

    Nginx安裝配置詳解

    Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù)。本文詳細(xì)講解了Nginx安裝與配置的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • nginx中的location路徑配置(實(shí)路徑和虛路徑)

    nginx中的location路徑配置(實(shí)路徑和虛路徑)

    這篇文章主要介紹了nginx中的location路徑配置(實(shí)路徑和虛路徑),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 簡(jiǎn)介Nginx服務(wù)器的Websockets配置方法

    簡(jiǎn)介Nginx服務(wù)器的Websockets配置方法

    這篇文章主要介紹了簡(jiǎn)介Nginx服務(wù)器的Websockets配置方法,是使用Nginx服務(wù)器的網(wǎng)管的必備知識(shí)XD~需要的朋友可以參考下
    2015-06-06
  • 使用Nginx和pm2部署Next.js項(xiàng)目

    使用Nginx和pm2部署Next.js項(xiàng)目

    本文主要介紹了使用Nginx和pm2部署Next.js項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Nginx反向代理至go-fastdfs案例講解

    Nginx反向代理至go-fastdfs案例講解

    這篇文章主要介紹了Nginx反向代理至go-fastdfs案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

五河县| 惠东县| 巩留县| 石渠县| 光泽县| 金溪县| 嘉祥县| 新宁县| 浮梁县| 孟州市| 宜黄县| 瑞安市| 海城市| 山阴县| 类乌齐县| 伊通| 吴旗县| 石渠县| 昌乐县| 禄劝| 曲松县| 古蔺县| 黄浦区| 永靖县| 稻城县| 阳曲县| 四会市| 建阳市| 开远市| 全南县| 卫辉市| 旅游| 淮北市| 甘泉县| 广丰县| 河源市| 柞水县| 嘉定区| 确山县| 宝鸡市| 阜城县|