nginx簡介-安裝與配置_第1頁
nginx簡介-安裝與配置_第2頁
nginx簡介-安裝與配置_第3頁
nginx簡介-安裝與配置_第4頁
nginx簡介-安裝與配置_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Nginx署20212團(tuán)隊(duì)名稱(可選CopyrightByCattsoftAllRights修改記 概 專業(yè)術(shù) 目 安裝前的準(zhǔn) Nginx安裝所需文 Nginx安裝步 Nginx啟動(dòng)、停 配置及應(yīng) Nginx基本配置格 Nginx全局配 Event模塊配 HTTP模塊配 日 使用include文 Nginx配置文件檢測方 Nginx配置文件樣 Nginx小 Nginx標(biāo)準(zhǔn)模 Nginx可選模 Nginx郵件模 反向反向初印 反向的作 反向使用實(shí) 應(yīng)用場 基于主機(jī)的控 應(yīng)用場 Nginx的session保 應(yīng)用場 https加密web應(yīng)用場 負(fù)載均 應(yīng)用場 緩存的使 Nginx緩存應(yīng)用場 為某個(gè)特定路徑限 應(yīng)用場 限制搜索引擎的速 應(yīng)用場 簡單的防盜鏈配 應(yīng)用場 URL重 應(yīng)用場 應(yīng)用場 Nginx下如何自定義404頁 應(yīng)用場 日志管 應(yīng)用場 虛擬主機(jī)登陸驗(yàn) 通過htpasswd命令生成用戶名及對應(yīng)數(shù)據(jù)庫文 通過htpasswd命令生成用戶名及對應(yīng)數(shù)據(jù)庫文 應(yīng)用場 平滑重啟nginx服 應(yīng)用場 日志切 應(yīng)用場 配置示 參數(shù)介 效果測 測試說 測試效 常用命 配置示 常見錯(cuò)誤處 附 參考資 修改記1年月日220166日3年月日45概Nginx("enginex")是一個(gè)高性能的HTTP和反向服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器。Nginx是由IgorSysoev為俄羅斯量第二的Rambler.ru0.1.02004104日。其將源代碼以類BSD證的形式發(fā)布,因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。201161日,nginx1.0.4發(fā)布。Nginx是一款輕量級的Web服務(wù)器/反向服務(wù)器及電子郵(IMAP/POP3)服務(wù)器并在一個(gè)BSD-like協(xié)議下由俄羅斯的程序設(shè)計(jì)師IgorSysoev所開發(fā),供大型的及搜索引擎Rambler(俄文:Рамблер)使用。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,陸使用nginx用戶有:、新浪、網(wǎng)NginxNginx可以在大多數(shù)UnixlikeOS上編譯運(yùn)行,并有Windows移植版。Nginx1.4.02013424日發(fā)布,一般情況下,對于新建站點(diǎn),建議使用穩(wěn)定版作為生產(chǎn)版本,已有站點(diǎn)的升級急迫性不高。Nginx的源代碼使用2-clauseBSD-likelicense。Nginx是一個(gè)很強(qiáng)大的高性能Web和反向服務(wù)器它具有很多非常優(yōu)越國是做虛擬主機(jī)生意的們經(jīng)常選擇的軟件平臺之一。能夠支持高達(dá)50,000Nginx為我們選擇了epollandkqueue專業(yè)術(shù)正向、反向、 服務(wù)器與反向服務(wù)器的區(qū) 目nginx軟件安裝,為更好更快促進(jìn)安裝效率和安裝標(biāo)安裝適用適用于IT運(yùn)行中心生產(chǎn)環(huán)境下Linux、Windows操作系統(tǒng)上的Nginx1.9.14安裝前的準(zhǔn)查看操作系統(tǒng)版catLinuxLinuxversion2.6.18-164.el5(mockbuild@x86- )version4.1.2 (RedHat4.1.2-46))#1SMPTueAug1815:51:48EDT$ 安裝方法Nginx3gzip模塊需要zlib庫(:)zlib-rewrite模塊需要pcre庫(ssl功能需要openssl庫(: 注意:如果用源碼安裝的話,后面nginx--with-yumyinstallzlibzlib-developensslopenssl--develpcreyumygroupinstall"DevelopmentTools"DevelopmentLibraries"此命令可以接下來采用從官網(wǎng)安裝包的方式來安裝NginxNginx4nginx- (用于在Internet上提供性傳輸 (為了重寫rewrite)4)zlib-1.2.8.tar.gz (為了gzip壓縮)其中,nginx-1.11.1.tar.gz軟件 路徑可參考下圖4.2.1所示4.2.13Mainlineversion:MainlineNginx目前主力在做的版本,可以說是開發(fā)Stableversion:穩(wěn)定版,生產(chǎn)環(huán)境上建議使用的版本Legacyversions:nginx地址 路徑可參考下圖4.2.2所示我們?nèi)掌诘能浖penssl地址pcre-8.38.tar.gz軟件 路徑可參考下圖4.2.3所示pcre地址zlib軟件 路徑可參考下圖4.2.4所示點(diǎn)擊圖4.2.4中的紅框所示的zlib軟件zlib地址Nginx接下來,分別安裝openssl、pcre、zlib、nginx這幾個(gè)軟件。我們可 是/home/app/nginx。如下圖4.2.5所示:安裝指令1: (進(jìn)入openssl安裝包所在 指令2: 指令3: tar-xzvfopenssl-1.0.1t.tar.gz (解壓openssl軟件)指令 cdopenssl- (進(jìn)入解壓后的openssl軟件文夾指令 ./configure&&make&&make (配置、編譯、裝安裝指令1:cd/home/app/nginx(進(jìn)入pcre安裝包所在)指令2:ls 指令3:tar-xzvfpcre-8.38.tar.gz(解壓pcre軟件)指令4:cdpcre- (進(jìn)入解壓后的pcre軟件文件夾指令5:./configure&&make&&makeinstall(配置、編譯、裝安裝指令1:cd/home/app/nginx(進(jìn)入zlib安裝包所在)指令2:ls 指令3:tar-xzvfzlib-1.2.8.tar.gz(解壓zlib軟件)指令4:cdzlib- (進(jìn)入解壓后的zlib軟件文件夾指令5:./configure&&make&&makeinstall(配置、編譯、裝安裝nginx:(3個(gè)版本,根據(jù)目的來選擇其中一個(gè)指令1: (進(jìn)入nginx安裝包所在 指令2: 指令3: tar-xzvf (解壓nginx軟件)指令4: (進(jìn)入解壓后的nginx軟件文件夾)指令5:./configure--prefix=/home/app/nginx pcre=/home/app/nginx/pcre-8.38(此處有空格) 指令6; (編譯指令7:makeinstall 加入ssl后的參考:configurearguments:--prefix=/home/app/nginx--with-openssl=/home/app/nginx/openssl-1.0.1t--with-pcre=/home/app/nginx/pcre-8.38--with-zlib=/home/app/nginx/zlib-1.2.7--with-http_stub_status_module--with-5“./configure--prefix=/home/app/nginxnginx的 ,如果不指 ,nginx的 會默認(rèn)安裝5openssl、pcre、zlibnginx3至此,nginxNginxnginxsbin:/home/app/nginx指令1:cd/home/app/nginx (進(jìn)入sbin文件夾所在的 指令2:ls (查看指令1 指令3:cd (進(jìn)入 指令 (查看 下的內(nèi)容指令 (啟動(dòng)當(dāng)啟動(dòng)后遇到下圖4.2.6所示的問題時(shí),說明80端口被占用,啟動(dòng)失敗, ,是看不到nginx登錄成功的頁面提示的。指令1:fuser-ntcp80 (檢查80端口被什么程序占用)指令2:kill-91904 指令3:./nginx 以上的3句指令操作如下圖4.2.7所示:此時(shí),在瀏覽器中輸入虛擬機(jī)對應(yīng)的IP地址,如下界面(4.2.8,nginxgroupadd-ruseradd-r-gnginx-s/bin/false-M#注意\./configure--sbin-path=/usr/local/nginx/nginx--conf-path=/usr/local/nginx/nginx.conf--pid-path=/usr/local/nginx/nginx.pid--with-http_ssl_module--with-pcre=../pcre-8.21 #--with-zlib=../zlib-1.2.8 #--with-openssl=../openssl-1.0.1--with-http_stub_status_modulenginxNginxStatus功能,用來Nginx--user=nginx注:編譯好的nginx/usr/local/nginx/nginxV(具體路徑以安裝的為主)查看編譯時(shí)候的參數(shù)啟動(dòng)/usr/local/nginx/nginx#/usr/local/nginx/nginxc/usr/local/nginx/nginx.conf#停止服sudokill`cat服務(wù)控制瀏覽器中輸入localhost安裝方法通過yum源來安裝,如yum源不可用,可參考以下安裝可用yum源先安裝nginx的yumrpm-yuminfoyuminstallservicenginx

找 配置及應(yīng)NginxNginx配置指本文的前提是你使用“4.2安裝方法一”來安裝nginx,如果你使用其它方nginxnginx就是一個(gè)二進(jìn)制文件,它通過讀入一個(gè)配置文件nginx.confnginx.confinclude包含若干子配置文件)來我們唯一修改的文件就是nginx.onfx不同模塊的所有設(shè)置。你應(yīng)該能夠在服務(wù)器的/home/app/nginx/nginx-1.11.1/(本文指定該下存放ngingx.conf文件)中找到nginx.conf。首先,談?wù)撘恍┤謓ginx使用嵌套的花括號語法來定義選項(xiàng)。安裝完成后nginx的主配置文件/usr/local/nginx/nginx.conf.default。其它子配置文件同樣有一個(gè).default結(jié)尾的備份配置文件。.default的作用是當(dāng)你修改配置文件錯(cuò)誤的時(shí)候,你可以快速回到1cp/usr/local/nginx/nginx.conf/usr/local/nginx/nginx.conf-每次修改完nginx.conf都要重新加載配置文件。1/usr/local/nginx/nginx-t1kill-HUP`cat若想要查看配置文件的全部內(nèi)容,可參考“5.1.6NginxNginx基本的Nginx配置文件由若分組成。每一部分都是通過下列方法定義的 }NginxNginx1:cd/home/app/nginx/nginx-1.11.1(nginx.conf所在目指令2:ls (查看執(zhí)行指令1后 指令3:vi (打開配置文件在nginx.conf文件中,Nginx中有少數(shù)幾個(gè)高級參數(shù)配置在模塊部分之上,所示: ”號開頭的行均是注釋,nginx不會解析。默認(rèn)的配置文件有許 指令是以一個(gè)變量名開頭(例如,worker_processes或pid),然后包含一個(gè)參數(shù)(例如,1或logs/nginx.pid)或者多個(gè)參數(shù)(例如,"logs/error.lognotice") 雖然nginx不解析空白符(例如tab,空格,和換行符),但是良好的縮進(jìn)能提高你長期運(yùn)行配置文件的效率。良好的縮進(jìn)使配置文件讀起來更流暢,nginx.conf文件中,Nginx中有少數(shù)的幾個(gè)高級配置在模塊部分之上,如。

userworkerworkerpid用于設(shè)置記錄主進(jìn)程ID注意:userpid一般按默認(rèn)設(shè)置——我們一般不用改這些內(nèi)容,因?yàn)楦膚orker_processes:定義了nginx對外提供web服務(wù)時(shí)的worder進(jìn)程數(shù)。最優(yōu)值取決于許多因素,包括(但不限于)CPU核的數(shù)量、數(shù)據(jù)的硬盤數(shù)量及負(fù)載模式。不能確定的時(shí)候,將其設(shè)置為可用的CPU內(nèi)核數(shù)將是一個(gè)好的開worker_rlimit_nofile:workerNginx“ulimit-a”的文件,所以把這個(gè)值設(shè)高,這樣nginx就不會有“toomanyopenfiles”問題了。Eventeventsnginx5.1.3

worker_connections:workerworker_rlimit_nofile,我們可以將這個(gè)值設(shè)得很高。socket(~64K),所以設(shè)置不multi_acceptnginxuseLinux2.6+,你應(yīng)該使用epoll。如果你使用*BSD,你應(yīng)該使用kqueue。想知道有關(guān)事件輪詢?可參考百科吧(注意,想了解一切的話可能需要neckbeard和操作系(NginxHTTPHTTP模塊控制著nginxhttp處理的所有特性因?yàn)檫@里只有很少的配http。"http這部分內(nèi)容的開始"include"語句包含/usr/loca/nginx/mime.types文件到nginx.conf文件include語句所在位置。include對ningx.conf文件的可讀性不能過多使用include,如果太多遞歸地include文件會產(chǎn)生,所以需要include你可以去掉log_format指令前的注釋并修改這幾行設(shè)置的變量為你想記錄的gzip指令告訴nginx使用gzip壓縮的方式來降低帶寬使用和加快傳輸速度。gzipgzip:nginxsendfile:sendfile()發(fā)揮作用。sendfile()TCPsocket之間互相拷貝數(shù)據(jù)(或任意兩個(gè)文件描述符)。Pre-sendfile是傳送數(shù)據(jù)之前在用戶空間申請數(shù)據(jù)緩沖區(qū)。之后用read()將數(shù)據(jù)從文件拷貝到這個(gè)緩沖區(qū),write()將緩沖區(qū)數(shù)據(jù)寫入網(wǎng)絡(luò)。sendfile()OS因?yàn)檫@種拷貝是在內(nèi)核完成的,sendfile()要比組合read()和write()以及打開關(guān)閉丟棄緩沖更加有效(有關(guān)于sendfile)。tcp_nopush:nginxtcp_nodelaynginxHTTP

access_log:設(shè)置nginx是否將日志。關(guān)閉這個(gè)選項(xiàng)可以讓磁IO(aka,YOLO)error_log:nginxHTTP

keepalive_timeout:給客戶端分配keep-alive超時(shí)時(shí)間。服務(wù)器將在這個(gè)超時(shí)時(shí)間過后關(guān)閉。它設(shè)置低些可以讓ngnix持續(xù)工作的時(shí)間client_header_timeout和client_body_timeout設(shè)置請求頭和請求體(各reset_timeout_connection:nginxsend_timeout指定客戶端的響應(yīng)超時(shí)時(shí)間。這個(gè)設(shè)置不會用于整個(gè)轉(zhuǎn)發(fā)器,而是在兩次客戶端操作之間。如果在這段時(shí)間內(nèi),客戶端沒有任何數(shù)據(jù),nginxlimit_conn_zon:設(shè)置用于保存各種key(比如當(dāng)前連接數(shù))的共享內(nèi)存的參數(shù)。5m就是5兆字節(jié),這個(gè)值應(yīng)該被設(shè)置的足夠大以(32K*5)32byte狀態(tài)或者(16K*5)64byte狀態(tài)。limit_conn:用于為給定的key設(shè)置最大連接數(shù)。這里key是addr,我們設(shè)置100,也就是說我們允許每一個(gè)IP100個(gè)連接。includeNginx的配置文件中,include

include:只是一個(gè)在當(dāng)前文件中包含另一個(gè)文件內(nèi)容的指令。這里我們使用它來加載稍后會用到的一系列的MIME類型。default_type:MIME-typeCharset:nginx壓縮資源之前,如何查找gzip所

gzip:用于告訴nginx采用gzip壓縮的形式發(fā)送數(shù)據(jù)。這將會減少我們發(fā)送的gzip_disable:用于指定的客戶端禁用gzip功能。我們設(shè)置成IE6或者更低版gzip_stati:用于告訴nginx在壓縮資源之前,先查找是否有預(yù)先gzip處理過的使用最高壓縮比,這樣nginx就不用再壓縮這些文件了(想要更詳盡的gzip_static的信息,這里)。gzip_proxied:允許或者壓縮基于請求和響應(yīng)的響應(yīng)流。我們設(shè)置gzip_min_length:設(shè)置對數(shù)據(jù)啟用壓縮的最少字節(jié)數(shù)。如果一個(gè)請求小于1000字節(jié),我們最好不要壓縮它,因?yàn)閴嚎s這些小的數(shù)據(jù)會降低處理此請求的p_level1-9之間的任意數(shù)值,94,這是一個(gè)比較折中的設(shè)置。gzip_type:設(shè)置需要壓縮的數(shù)據(jù)格式。上面例子中已經(jīng)有一些了,你也可以再添加的格式

open_file_cache:open_file_cache_valid:在open_file_cache中指定檢測正確信息的間隔時(shí)open_file_cache_min_uses:定義了open_file_cache中指令參數(shù)不活動(dòng)時(shí)間open_file_cache_errors:指定了當(dāng)搜索一個(gè)文件時(shí)是否緩存錯(cuò)誤信息,也包server據(jù)server_nameHttp它們都包含在http部分里。定義一個(gè)IP地址/端組合,或UNIX域的套接字路徑,格式如下:listenaddress[:port];listenport;listenserver}server

80default;location/ } location/{ index.html}}#2個(gè)虛擬主機(jī),上面一個(gè)是默認(rèn)虛擬主機(jī)(也可以不設(shè)置為默認(rèn),看情

listen:端口。端口一般都為http端口,server_name:當(dāng)前服務(wù)的。用于定義的地址可以有多個(gè),用空格隔開:例如server_name ,root:用于定義服務(wù)器的默認(rèn) index:Nginx接下來我們介紹下檢查nginx配置文件是否正確的方法,如何檢查nginx配置是否正確呢?用nginx-t命令就好了。Nginx安裝后只有一個(gè)程序文件,本身并不提供各種管理程序,它是使用參數(shù)和系統(tǒng)信號機(jī)制對Nginx進(jìn)程本身進(jìn)行控制的。Nginx格式:/usr/local/nginx/sbin/nginx-1)-c<path_to_config>:使用指定的配置文件而不是 下nginx.conf,1:#cd(進(jìn)入nginx的sbin)2:#./nginx-(檢測配置文件語法問題3)-v:顯示nginx指令1:#cd/home/app/nginx/sbin (進(jìn)入nginx的sbin所在 指令2:#./nginx-v 4)-V:顯示nginx的版本號以及編譯環(huán)境信息以及編譯時(shí)的參數(shù)。指令1:#cd/home/app/nginx/sbin (進(jìn)入nginx的sbin所在 指令2:#./nginx-V 檢測新的conf

測試當(dāng)前nginx.conf文件是否正確,使用命令:#/home/app/nginx/sbin/nginx-t-c/home/app/nginx/nginx-1.11.1/nginx.conf confNginx是一個(gè)配置文件樣本,它包含了之前討論的絕大部分。具體配

#userwww-worker_processes#全局錯(cuò)誤日志及PIDerror_log/var/log/nginx/error.log; events{ #epoll是多路復(fù)用IO(I/OMultiplexing)中的式,worker_connections1024;#單個(gè)workerprocess進(jìn)程的最大并發(fā)#multi_accept}http#設(shè)定mime類型,類型由mime.type文件定義 default_typeapplication/octet-stream; #sendfilenginxsendfile函數(shù)(zerocopy方式)來輸出文#必須設(shè)為on,如果用來進(jìn)行等應(yīng)用磁盤IO重負(fù)載應(yīng)用,可設(shè)置為off,以平衡磁盤與網(wǎng)絡(luò)I/O處理速度,降低系統(tǒng)的uptime. #keepalive_timeoutkeepalive_timeout65; gzipgzip_disable"MSIE[1- large_client_header_buffers44k;include/etc/nginx/conf.d/*.conf;include/etc/nginx/sites-enabled/*;upstreammysvrserver:3128server:80server:80}server .access.loglocation indexindex.phpindex.html fastcgi_paramSCRIPT_FILENAME$

include}# 500502503504/50x.html;location=/50x.html{ }location~^/(images|javascript|js|css|flash|media|static)/{root/var/www/virtual/htdocs;#30天,靜態(tài)文件不怎么更新,過期可以設(shè)大一點(diǎn),如果頻繁更新,則可expires}#PHP請求全部轉(zhuǎn)發(fā)到FastCGI處理.使用FastCGI默認(rèn)配置.location~\.php${rootfastcgi_pass:9000;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAMEincludefastcgi_params;}location/NginxStatus{ auth_basic_user_fileconf/htpasswd;}#.htxxx文location~/\.ht{denyall;}}}NginxNginx的配置文件。模塊化的本質(zhì)很值得思考,從某種意義上講,Nginx本身也是模塊化的。全局的配置區(qū)段負(fù)責(zé)各個(gè)方面,對Nginx來說就是一個(gè)整體。Nginx負(fù)責(zé)的每種協(xié)議單獨(dú)成為一部分。我們可以通過指定協(xié)議(http協(xié)議或mail協(xié)議)配置內(nèi)的server,來定義如何處理每個(gè)請IPhttplocations來匹URIlocations可以嵌套使用,也可以按其他順序使用,一遍可以Nginx基本配置的總Nginx模塊Nginx模塊必須在編譯時(shí)就進(jìn)行選擇,目前不支持在運(yùn)行時(shí)進(jìn)行模塊選擇。在編譯時(shí),可以通過命令./configure--help運(yùn)行所提供的配置來查看所有支持的編譯選項(xiàng)列表(包含可選模塊)。模塊概覽可參考“5.2模塊概覽”下的相Nginx模名 說配置epoll、kqueue、select、pollNginx這些模塊是默認(rèn)均被編譯進(jìn)去的,除非通過configure名說版禁用選基于客戶端IPHttp求。AuthBasicHTTP認(rèn)證Auto生翻譯"User-Agent"字符串。對WebEmpty在內(nèi)存中生成一個(gè)高1素、寬1像素的GIF,并對提供對FastCGI通過IP支持使用Gzip可以設(shè)定任意的HTTPLimit大數(shù)。從1.1.8薦用,建議使用LimitConnLimit可以定支持Memcached基于RefererHTTP支持SCGI議Split(ip_hashdirectiveonly)User用標(biāo)。支持uWSGIX-類X-SendfileNginxconfigure名說版啟用選的請求返回204或404狀態(tài)碼。Embedded允許在配置文件中使用Perl支持Flash(FlashStreaming根據(jù)來自MaxMind的GeoIP二Perftools支持性能工具Image支持使用Libgd對進(jìn)行變換允許對mp4流進(jìn)行尋址。Random Real允許將nginx作為后端服務(wù)器。Secure支持HTTPS/SSLStub支持WebDAV允許對頁面使用XSLT進(jìn)行后處Nginx名 說 配置參使Nginx能夠處理/IMAP、POP3、SMTP協(xié)議使用Nginx為郵件服務(wù)進(jìn)行認(rèn)證使Nginx能夠IMAP、POP3、SMTP協(xié)議該模塊可以讓POP3/IMAP/SMTP使用SSL/TLSNginx的應(yīng)用實(shí)下圖是Nginx架構(gòu)的企業(yè)級應(yīng)用 參考應(yīng)用場景(以下場景,均可用到HALBNginx實(shí)現(xiàn)反向Nginx企業(yè)級需求場景客戶端靜態(tài)的請求,由nginx反向給后端的Apache服務(wù)器客戶端動(dòng)態(tài)的請求,由nginx反向給后端的php-fpm(fastCGI)服務(wù)器,而且做負(fù)載均衡,如果需要數(shù)據(jù)庫,則由php-fpm連接mysql;nginx服務(wù)器IP規(guī)劃和所需軟件安企業(yè)級規(guī)劃需要解決的問題1)HA加入到heartbeat中,用heartbeat的 2)怎么實(shí)現(xiàn)LB負(fù)載均衡集群?思路:利用nginx的upstream模塊,配置實(shí)現(xiàn)應(yīng)用層的負(fù)載均衡。3)nginx怎么把客戶的靜態(tài)請求提交給后端的Apache服務(wù)器聯(lián)系?思路:利用nginx的反向給后端的Apache服務(wù)器。nginxphp-fpmfastCGIphp-fpmmysql思路:mysql能讓php-fpm服務(wù)器連接數(shù)據(jù)庫反向初印反 :web服務(wù)器 反向(ReverseProxy)方式是指服務(wù)器接收internet上的客戶端請自于服務(wù)器自身,此時(shí)從上圖可以看出:反向服務(wù)器位于機(jī)房,Web服務(wù)器接Http請求,對請求進(jìn)行轉(zhuǎn)發(fā)。反向的作①保護(hù)安全:任何來自Internet的請求都必須先經(jīng)過服務(wù)器。如下②通過配置緩存功能加速WebWebWeb..3反向使用實(shí)反向使用實(shí)例可參考“5.3Nginx的應(yīng)用實(shí)例”下的其他小節(jié)例子應(yīng)用場景一強(qiáng)安全所有internet上的請求,DNS解析后的ip都是反向的,然后由反向代理再去向內(nèi)網(wǎng)服務(wù)器發(fā)請求,這樣可以隱藏真實(shí)服務(wù)器的ip,防止外界的。應(yīng)用場景二存靜態(tài)文應(yīng)用場景三載均像nginx這樣的反向是可以用來作第七層負(fù)載均衡通過對url進(jìn)行處基于主機(jī)的控allow[address|CIDR|all] address|CIDR|alllocation/ index.htmlindex.htm;allow/24;deny}enginx所在的虛擬機(jī)對應(yīng)的IP是:8,當(dāng)我們配好某個(gè)端口時(shí)(本例新增了一個(gè)81端口,默認(rèn)的是80端口),如下圖所此時(shí),我們?nèi)粼跒g覽器地址欄里輸入,則會看到所示內(nèi)容:我們接著在地址欄輸入則會看到下圖所示雖然頁面報(bào)404,但是沒有限制(forbidden),置于為什么不到將會在“5.3.11實(shí)現(xiàn)跳轉(zhuǎn)中介紹”。應(yīng)用場景一:限制某些IP當(dāng)允許某個(gè) ,需要在nginx.conf配置配文件中添加,具體如下allowallowdeny只允許和7來,其他的全部。應(yīng)用場景二:限制特定 下限制IP,這個(gè)的作用主要就是是針對一些特定的 制,依然通過配置nginx.conf來實(shí)現(xiàn)。比如,只允許/24這個(gè)網(wǎng)段對w ,其他的全部,配置文件位置:/usr/local/nginx/conf/vhosts/nginx.conf。location/w/allow #這里的IP段就是允許的IPdenylocation~\.php$includefastcgi_passunix:/tmp/php-fcgi.sock;fastcgi_indexindex.php;}}locationphp,php應(yīng)用場景三制某些瀏使用user_agent控制客戶端,就是可以限制某些瀏覽器來,只需要將瀏覽器的標(biāo)示寫入到規(guī)則里面就可以都是在nginx虛擬主機(jī)配置文件中if($http_user_agent return}location~\.php$includefastcgi_pass:9000;fastcgi_indexindex.php;}Nginxsession使用nginxsticky模塊實(shí)現(xiàn)基于的負(fù)載均即一個(gè)ip一次始終就一個(gè)tomcat服務(wù)器,(當(dāng)用戶賬戶時(shí),第一個(gè)頁完成,執(zhí)行下一步時(shí)即切換頁面,不會切到另一臺tomcat服務(wù)器另外一個(gè)ip下一臺tomcat服務(wù)#nginx-sstop //給nginx添加模塊徐重新編譯,先stop#tarzxfnginx-sticky-module-1.1.tar.gz#cdnginx-1.4.2#makeclean http_stub_status_module--add-module=/root/nginx-sticky-module-1.1#make&&make#vim //配置文件中加入stickyupstreamexmp{serverserver}#nginx//啟動(dòng)nginx,就可以發(fā)現(xiàn)一個(gè)ip每次在有效時(shí)間內(nèi)始終一tomcat實(shí)現(xiàn)JSP

由于前端Haproxy調(diào)度動(dòng)態(tài)請求是roundrobin算法,故每次刷新都會輪詢分配到不同的Tomcat節(jié)點(diǎn)上,且每次獲得的session都是不一樣的;所以要想sessionsession實(shí)現(xiàn)session綁TomcatsessiontomcatHaproxy當(dāng)?shù)谝淮纬晒?,再次刷新并不會改變分配的Tomcat節(jié)點(diǎn)和session實(shí)現(xiàn)session綁Tomcat支持Session集群,可在各Tomcat服務(wù)器間全部session信TomcatHaproxyTomcatsession注意:SessionTomcat10httpswebSSL(SecureSocketLayer接字層作為一種互聯(lián)網(wǎng)安全加密技術(shù),為Netscape所研發(fā),用以保障在Internet上數(shù)據(jù)傳輸之安全,利用數(shù)據(jù)加密它已被廣泛地用于Web瀏覽器與服務(wù)器之間的認(rèn)證和加密數(shù)據(jù)傳輸。SSLTCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSLSSL記錄協(xié)議(SSLRecordProtocol):它建立在可靠的傳輸協(xié)議(如TCP)之上,為協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。SSL握手協(xié)(SSLHandshakeProtocol):它建立在SSL記錄協(xié)議之上,SSLHTTPTCPSSL/TLS1cd2make 3cpcert.pem1vim //HTTPSserver段打開,即去掉2ssl_3 _key使用./nginxt-ssl的緣故。不信的話,可以通過指令:./nginx-VNginx的指所示:Nginx--with-http_ssl_module所示:

#./configure--prefix=/home/app/nginx--with-openssl=/home/app/nginx/openssl-1.0.1t--with-pcre=/home/app/nginx/pcre-8.38--with-1.2.7--with-http_stub_status_module--with-cert.pemOK應(yīng)用場景一:內(nèi)容加應(yīng)用場景二 認(rèn)保證用戶的是的服務(wù),即使被DNS劫持到了第站點(diǎn),也會提應(yīng)用場景二:數(shù)據(jù)完整防止內(nèi)容被 冒充或者篡改負(fù)載均衡是我們大流量要做的一個(gè)東西,下面我來給大家介紹NginxN臺服務(wù)器平均分擔(dān)負(fù)載,不會因?yàn)槟撑_服務(wù)器負(fù)載高宕機(jī)而使服務(wù)器出現(xiàn)閑nginx用來作為反向服務(wù)器,放置到兩臺后端服務(wù)器之前,作為用戶的;nginx僅僅處理靜態(tài)頁面,動(dòng)態(tài)的頁面(php請求)統(tǒng)統(tǒng)都交付給的兩也就是說,可以把我們的靜態(tài)頁面或者文件放置到nginx的 的頁面和數(shù)據(jù)庫都保留到的服務(wù)器上。VMware測

AIP:8(主BIP

CIPA服務(wù)器做為主服務(wù)器,直接解析到A服務(wù)器(8)上,AB(9)C(0)由于不是真實(shí)環(huán)境,就使用 在hosts文件設(shè)置,操作如下:1:#vim然后加入 ,如下圖所示退出保存后,然后啟動(dòng)命令模式下看看是否已設(shè)置成功2:#從截圖上看已成功 解析到8IPAnginx.conf打開nginx.conf,文件位置在nginx安裝 的conf 在http段加入以下代碼 }listen;location/;X-Real-X- }}nginx,B、Cnginx.confnginx.confi,httplisten80; indexindex.html;root}當(dāng)?shù)臅r(shí)候,為了區(qū)分是轉(zhuǎn)向哪臺服務(wù)器處理我分別在B、C服務(wù)index.html打開瀏覽器結(jié)果,刷新會發(fā)現(xiàn)所有的請求均分別被主服務(wù)(8)B(9)C(0)BC當(dāng)某臺服務(wù)器宕機(jī)了,是否會影響呢我們先來看看實(shí)例,根據(jù)以上例子,假設(shè)C0機(jī)了(由于無法模擬宕機(jī),所以我就把C服務(wù)器關(guān)機(jī))然后再來看看。我們發(fā)現(xiàn),雖然C服務(wù)器(0)宕機(jī)了,但不影響。這Nginx最大的好處就是負(fù)載均衡,如果要使用負(fù)載均衡的話,可以修改配置文件http節(jié)點(diǎn),加入如下內(nèi)容(具體以個(gè)人情況為準(zhǔn)):upstreamexample weight=5downserver:8080 serverunix:/tmp/backend3;}weightmax_failsfail_timeoutserver的不成功的請求次數(shù),達(dá)到此數(shù)目后,此服務(wù)器將變?yōu)椴豢刹僮鳡顟B(tài);默認(rèn)值為1;設(shè)定為0值則fail_timeout10down 當(dāng)其他負(fù)載均衡的服務(wù)器都掛了,才會啟用backup想讓那個(gè)server實(shí)現(xiàn)負(fù)載均衡,就修改其server{}內(nèi)的語句server{ #access_log logs/.access.logmain;location/{}}置文件”中的配置文件上改動(dòng)的,其中省略了部分節(jié)點(diǎn)內(nèi)容http#設(shè)定mime類型,類型由mime.type文件定義 default_typeapplication/octet-stream; upstreammysvr{serverx:80weight=1;serverx:80}upstreammysvr2server192.168.8.x:80weight=1;server192.168.8.x:80}server{ server_namelocation~.*\.aspx$ indexindex.phpindex.htmlindex.htm; proxy_pass;#請求轉(zhuǎn)向mysvr定義的服務(wù)器列表proxy_redirectoff;#后端的WebX-Forwarded-For獲取用戶真實(shí)IPproxy_set_headerHost$host;proxy_set_headerX-Real-IPproxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;client_max_body_size10m; client_body_buffer_size128k;#緩沖區(qū)緩沖用戶端請求的最大字超時(shí)收超時(shí)

proxy_connect_timeout90;#nginx跟后端服務(wù)器連接超時(shí)時(shí)間(連proxy_send_timeout90; proxy_read_timeout90; proxy_buffer_size proxy_buffers4 proxy_busy_buffers_size64k; proxy_temp_file_write_size64k;#設(shè)定緩存文件夾大小,大于這個(gè)值,將}}}舉個(gè)例子,沒有負(fù)載均衡,沒有nginx10011010如果有了nginx10010101算什么,追求的是高并發(fā)處理。NginxNginx之所以為廣大碼農(nóng)喜愛,除了其高性能外,還有其優(yōu)雅的系統(tǒng)架構(gòu)。與Memcached的經(jīng)典多線程模型相比,Nginx是經(jīng)典的多進(jìn)程模型。Nginx啟動(dòng)后以daemon的方式在運(yùn)行,進(jìn)程包含一個(gè)master進(jìn)程和多個(gè)worker.1所示:masterworker4workerwoker進(jìn)程的運(yùn)行狀態(tài)。wokerwoker進(jìn)程個(gè)數(shù)一般設(shè)置為機(jī)器CPUNginxNginx進(jìn)程的控制主要是通過master1可以看出,masterwoker進(jìn)程,那么,可以通過kill向master進(jìn)程發(fā)送信號,比如killHUPpidNginx從容重啟。所謂master進(jìn)程,比如-sreloadNginxreload參數(shù)后會向然也可以這樣./nginx-sstopNginx。NginxLibevent,具體過程.2:masterlistensocketforkwoker進(jìn)程,workacceptsocketclient連接到來時(shí),所有acceptworkaccept成功,其它的則會acceptNginx提供了一把共享鎖accept_mutex來保證同一時(shí)刻只有一work進(jìn)程在acceptworkeraccept這個(gè)連接后就開始請求解析請求處理請求產(chǎn)生數(shù)據(jù)后再返回給客戶端,Nginx levels指定該緩存空間有兩層 2keys_zone=STATIC:1m參數(shù)用來為這個(gè)緩存區(qū)起名(proxy_cache指令需要用到其后對應(yīng)緩存區(qū)名稱),:1m1MBinactive=24h24小時(shí)(天:d、秒:s、分:m)內(nèi)沒有被max_size=1gHTTPserver location/{proxy_pass Real-ip$remote_addr; X-Real-IP$remote_addr;proxy_set_headerHost$host; 1d;#200的文件,指定緩client_max_body_size #數(shù)連接超時(shí)時(shí)

client_body_buffer_size #緩沖區(qū)緩沖用戶端請求的最proxy_connect_timeout #nginx跟后端服務(wù)器連接超時(shí)時(shí)間(proxy_send_timeout #后端服務(wù)器數(shù)據(jù)回傳時(shí)間(發(fā)送proxy_read_timeout90;

proxy_buffers432k;#proxy_buffers32kproxy_busy_buffers_size64k;#高負(fù)荷下緩沖大?。╬roxy_buffers*2)proxy_temp_file_write_size64k; 將從upstream errortimeoutinvalid_headerhttp_500http_502http_503}location~.*.jsp${indexindex.jsp;proxy_pass}#請求的jsp頁面交給;這臺服務(wù)處}Nginx緩存location~{expires}#緩存js/csslocation~{expires}5.3.6

應(yīng)用場景一:使用緩沖釋放后端服反向的一個(gè)問題是大量用戶時(shí)會增加服務(wù)器進(jìn)程的性能沖擊影響。Nginx當(dāng)?shù)搅硪慌_服務(wù)器,兩個(gè)不同的連接速度會影響客戶的體驗(yàn):連接一:從客戶機(jī)到Nginx的連接連接二:從Nginx到后端服務(wù)器的連接Nginx快使數(shù)據(jù)到客戶端,有了緩沖,Nginx將暫時(shí)后端的響應(yīng),然后按需供Nginx應(yīng)用場景二:配 服務(wù)緩存來減少響應(yīng)時(shí)盡管緩沖可以幫助釋放后端服務(wù)器以處理的請求,Nginx還提供了一種serverlocation/downloads/limit_rate256k;limit_rate_after20m;root/var/www/html;}}5.3.7

nginx做服務(wù)器,在性能上滿足需求。自帶limit模塊可以做限速和限程的工具太多,為了保證帶寬的使用。特做了單IP并發(fā)連接數(shù)并限制if($http_user_agent~|Yahoo|MSN|baidu){limit_rate128k;}limit_rate_after20m表示的前20M不做限limit_rate5.3.8

蛛,別的蜘蛛來的話,直接跳轉(zhuǎn)到大比如。作為重要的耗流量大的靜態(tài)資源,可能主并不希望其他直接用,Nginx可以通過referer來防止外站盜鏈location~*\.(gif|jpg|png|swf|flv)${valid_referersnoneblockedif($invalid_referer)rewrite^/ #return404}}5.3.9

盜鏈?zhǔn)侵敢粋€(gè)的資源 或附件 在其它提供瀏覽和location,就可以實(shí)現(xiàn)簡單的和其它類型文件的防盜鏈,防盜鏈:如果你的是個(gè)步驟應(yīng)該是先經(jīng)過你的主頁找到地址才能為了防止某些網(wǎng)友直接地址完全不通過主頁,URL語則:rewriteregexreplacementflagflag的種類:last把當(dāng)前的重寫指令執(zhí)行結(jié)束,并且重新啟動(dòng)匹配進(jìn)程,一般都是用last 中止Rewirte,不在繼續(xù)匹配 返回臨時(shí)重定向的HTTP狀態(tài)302 返回永久重定向的HTTP狀態(tài)301/nignx/a.htmlURI。就相當(dāng)于一個(gè)絕對路徑,一個(gè)相對路徑。 # 應(yīng)用場景:實(shí)現(xiàn)跳轉(zhuǎn)實(shí)現(xiàn)跳我們在“5.3.1基于主機(jī)的訪問控制”中曾看到過在地址欄輸入后,頁面跳轉(zhuǎn)到了的404頁面,為啥沒有進(jìn)入鳳凰網(wǎng)主頁呢,要如何直接跳轉(zhuǎn)到或者其他呢,本節(jié)的“實(shí)現(xiàn)跳轉(zhuǎn)”實(shí)現(xiàn)跳轉(zhuǎn)的方式我目前總結(jié)了3種分別是通過在server{}中使用命令實(shí)現(xiàn)、通過proxy_pass命令實(shí)現(xiàn)、通過return命令實(shí)現(xiàn)。接下來分別介紹這3種跳轉(zhuǎn)方法:方法在server{}中重寫地址來實(shí)現(xiàn)跳轉(zhuǎn),如下圖所示配置文件nginx.conf中的配置代碼如(如圖紅框所示serverlisten indexindex.htmlindex.htmindex.php;#索引文件的名rewrite^/ access_log}端為:83,服務(wù)器名字叫: ,將要的地址重寫為:^/ 選擇關(guān)閉(off)。4.2.1Nginx后,在瀏覽器地址欄中輸入后出現(xiàn)的頁面(由于不輸入端口,默認(rèn)為80端口)。此時(shí),我們新建了一個(gè)端為83的虛擬服務(wù)器,在瀏覽器地址欄中輸入所在此,需要再次說明一件事:我們在Nginx的使用過程中,唯一要配置的文件就是安裝下/home/app/nginx/conf/nginx.confNginx的使用主要是對這個(gè)配置文件nginx.conf的操作了。對于這個(gè)的重視將會使你更Nginx。方法通過proxy_pass命令實(shí)現(xiàn)跳轉(zhuǎn),如下圖所示配置文件nginx.conf中的配置代碼如location/proxy_pass }location{}location方法中參考上圖寫入要跳轉(zhuǎn)的地址即可。此時(shí)我們在瀏覽器中輸入:后,看到頁面發(fā)生了跳轉(zhuǎn),如下圖(跳轉(zhuǎn)前)和圖實(shí)驗(yàn)證明方法二也是可以使跳轉(zhuǎn)的方法所示:配置文件nginx.conf中的配置代碼如location/ index.htmlindex.htm;#allow8;#denyreturn }如上圖所示,我們新建了一個(gè)虛擬服務(wù)器,端為:82,新建了用匹配,如果沒有其它匹配任何請求都會匹配到)。我們在地址欄中輸入后)發(fā)現(xiàn)頁面跳轉(zhuǎn)到了優(yōu)酷網(wǎng),再看看配置文件中要跳轉(zhuǎn)的:return 同理,在地址欄輸入后,則會返回一個(gè)錯(cuò)誤50所示:“5.3.12Nginx404頁面”中做介紹。所謂轉(zhuǎn)向,是指在時(shí),服務(wù)商所提供的一項(xiàng)正常的增值服務(wù),此服務(wù)是通過服務(wù)器的特殊技術(shù)設(shè)置,實(shí)現(xiàn)當(dāng)您的時(shí),將這個(gè)功能其實(shí)很有用的,舉個(gè)粟子:某公司是,同時(shí)還、aaa、、.cn等等一大堆后綴的,但是沒理由把所有都跟列出來同時(shí)公布吧,這樣造成等不好影響,但是你可以將除了主之外的其它通過DNS配置實(shí)現(xiàn)中轉(zhuǎn)或者轉(zhuǎn)發(fā),最終達(dá)到統(tǒng)一的作用。做這設(shè)置之后,當(dāng)用戶的時(shí)候就會轉(zhuǎn)發(fā)到Nginx404IISAPACHE404NGINX的NGINX404404.html更改nginx.conf在http定義區(qū)域加入:fastcgi_intercept_errors更改nginx.conf(或單獨(dú)配置文件,例如在nginx->sites-enabled下的站點(diǎn)配置文件)中的server區(qū)域加入:error_page404/404.html或者error_page404 /404.html,如下圖所示:上圖了(或)的404報(bào)錯(cuò)界面,如下圖所示更改后重啟nginx,,測試nginx.conf/opt/nginx/sbin/nginx–t#502等錯(cuò)誤可以用同樣的方法來配置。 500502503 404頁面是必備的一個(gè)頁面,它承載著用戶體驗(yàn)與SEO優(yōu)化的重任。404頁面通常為用戶了上不存在或已刪除的頁面,服務(wù)器返回的404錯(cuò)誤。如果站長沒有設(shè)置404頁面,會出現(xiàn)死,蜘蛛爬行這類時(shí),不利于搜索設(shè)置4041:引導(dǎo)用戶不要關(guān)閉,增強(qiáng)用戶體驗(yàn)2:防止出現(xiàn)死設(shè)計(jì)404頁面的你可以遵循以下幾條1:像門戶一樣5據(jù)盧松松觀察,像網(wǎng)易、新浪、騰訊這類門戶站的錯(cuò)誤頁面都是一樣的,進(jìn)入錯(cuò)誤頁面后提示5秒后返回頻道首頁。切忌不要404錯(cuò)誤頁面后,立刻返回首頁,這些轉(zhuǎn)向都使搜索2:像站長之家一樣放出“磚家4頁面要保證與自身風(fēng)格類似,讓它看上去還是你的站,再來點(diǎn)幽默搞笑的短語,請“磚家”在那里。給錯(cuò)誤帶上幽默的情節(jié),原來錯(cuò)誤也可以很美……切忌4設(shè)置成31重定向到首頁這是對搜索引擎不友好的設(shè)置會讓搜索引擎認(rèn)為上有大量與首頁內(nèi)容相同的頁面但可以把錯(cuò)誤頁面1定向到正確頁面。3:也可以像Yahoo一樣,能放的全塞進(jìn)在404頁面盡可能的給出對用戶有用的,用豐富的內(nèi)容把用戶盡管內(nèi)容很多,但最醒目的位置依然顯示錯(cuò)誤信息,提示用戶,要的頁面不存在然后上面加入導(dǎo)航右邊放上下面再擠點(diǎn)圖文并茂的文章這還不夠最下面在仍點(diǎn)導(dǎo)航進(jìn)去用戶想不點(diǎn)都不行啊。4:還可以像我這樣404錯(cuò)誤并不可怕,可怕的是默認(rèn)的“404NotFound”讓用戶摸不著頭腦,這是怎么了?盧松松博客的404頁面就是用的一段flash小游哎喲,這就是404錯(cuò)誤頁面了,來休息一下吧,這個(gè)游戲語則:log_formatnameformathttp{log_formatmy_log_fm'$http_x_forwarded_for-$remote_user'"$request"$status$body_bytes_sent''"$http_referer""$http_user_agent"';access_log/var/log/nginx/access.logmy_log_fm;error_log/var/log/nginx/error.logwarn;}$http_x_forwarded_for和$remote_user用于記錄客戶端網(wǎng)關(guān)的IP$time_local用于記錄時(shí)間和時(shí)$request用于記錄請求的URL和http$status$body_bytes_sent$http_referer用戶記錄請求是從哪個(gè)頁面連接過來$http_user_agent記錄類似apachelog_formatmain'$remote_addr-$remote_user[$time_local]'"$request"$status$body_bytes_sent"$http_referer"''"$http_user_agent""$http_x_forwarded_for"';access_log/var/log/nginx/access.log日志是用來記錄信息的比如服務(wù)器的日志主要是用來記錄一些信息,虛擬主機(jī)登陸驗(yàn)[root@rhel6u3-7[root@rhel6u3-7~vimusr/local/nginx/conf/nginx.conf主配置文件http字段中添加以下語句,將虛擬主機(jī)的配置文件指向include[root@rhel6u3-7~]#vimserver80; 端口為server_name;//虛擬主location/ sites/www1;//虛擬主 indexindex.htmlindex.htm;//虛擬主機(jī)首頁auth_basic"secret";//虛擬主機(jī)認(rèn)證命名auth_basic_user_fileusr/local/nginx/passwd.db }location/statusstub_statuson;//開access_log/usr/local/nginx/logs/www1_status.log;日auth_basic"NginxStatus";}[root@rhel6u3-7[root@rhel6u3-7serverhtpasswdcusr/local/nginx/passwd.dbxiaonuo//創(chuàng)建認(rèn)證信息,xiaonuo為認(rèn)證用戶名Newpassword:*******//輸入認(rèn)Re-typenewpassword:********//Addingpasswordforuser[root@rhel6u3-76.[root@rhel6u3-7od400usr/local/nginx/passwd.db//修認(rèn)[root@rhel6u3-7~chownnginx./usr/local/nginx/passwd.db//[root@rhel6u3-7~]#cat/usr/local/nginx/passwd.db//可以看到通過htpasswd生成的 10.10.[root@rhel6u3-7htpasswd[root@rhel6u3-7[root@rhel6u3-7serverhtpasswdcusr/local/nginx/passwd.dbxiaonuo//創(chuàng)建認(rèn)證信息,xiaonuo為認(rèn)證用戶名Newpassword:*******//輸入認(rèn)Re-typenewpassword:********//Addingpasswordforuser[root@rhel6u3-76.[root@rhel6u3-7od400usr/local/nginx/passwd.db//修認(rèn)[root@rhel6u3-7~chownnginx./usr/local/nginx/passwd.db//[root@rhel6u3-7~]#cat/usr/local/nginx/passwd.db//可以看到通過htpasswd生成的 [root@rhel6u3-7應(yīng)用場景:提高安全性,有選擇的過濾者nginx[root@rhel6u3-7[root@rhel6u3-7~etc/rc.d/init.d/nginxreload//平滑重啟nginx服nginx:theconfigurationfile/usr/local/nginx/conf/nginx.confsyntaxisoknginx:configurationfile/usr/local/nginx/conf/nginx.conftestisReloadingNginx主進(jìn)程的方式來進(jìn)行,而不用中斷服務(wù)器。mkdir-p${logs_path}$(date-d"yesterday"+"%Y")/$(date-d"yesterday"#在上面 下,給日志創(chuàng)建以時(shí)間命名mv${logs_path}aa.access.log${logs_path}$(date-d"yesterday"+"%Y")/$(date-d"yesterday"+"%m")/$(date-d"yesterday"+"%Y%m%d").log#移動(dòng)日志到日期命名 #crontab-0000***#servicenginxreload#servicecrondstart#chkconfigcrondon就是重命名日志文件,不用擔(dān)心重命名后nginx找不到日志文件而丟失日志。在你未重新打開原名字的日志文件前,nginx還是會向你重命名的文件寫日志,linux是靠文件描述符而不是文件名定位文件。向nginxUSR1nginx主進(jìn)程接到信號后會從配置文件中日志文件名稱,重新打開日志重新打

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論