




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Nginx 集群一目錄Nginx 集群一1一、幾個(gè)基本概念2(1) pv 值(page views):頁(yè)面的瀏覽量2(2) uv 值(unique visitor)獨(dú)立訪客2(3) 獨(dú)立 ip2二、解決高并發(fā)思路3三、nginx 的介紹31、常用 web 服務(wù)器:32、nginx 介紹43、nginx 優(yōu)點(diǎn)4四、新建虛擬機(jī)網(wǎng)絡(luò)配置5(1) 配置 ip 地址5(2) 啟動(dòng)網(wǎng)絡(luò)6(3) 本機(jī) 和 linux 互相 ping 通6五、終端連接 linux 系統(tǒng)71. Xshell 連接 linux7六、光驅(qū)掛載91、掛載光驅(qū)92、配置 yum 源103、安裝 gcc 編譯器軟件114、安裝 lrzs
2、z12七、安裝 nginx 軟件131、下載軟件132、安裝依賴133、安裝 nginx 軟件143、nginx 的啟動(dòng)管理154、nginx 的信號(hào)控制(了解)16六、配置文件講解171、配置文件介紹,172、全局配置173、配置184、虛擬主機(jī)的配置18(1) 基于域名的虛擬主機(jī)18(2) 基于端口的虛擬主機(jī)19(3) 基于 IP 的虛擬主機(jī)配置實(shí)戰(zhàn)205、規(guī)范優(yōu)化 nginx 配置文件216、別名配置22七、日志管理231、用 log_format 來(lái)設(shè)置日志的格式232、用 access_log 指令指定日志文件存放路徑。243、定時(shí)任務(wù),完成日志分割25八、location 語(yǔ)法:2
3、71、location 的作用272、基本語(yǔ)法如下:273、curl 工具使用284、匹配實(shí)例29(1) 精準(zhǔn)匹配與一般匹配29(2) 一般匹配長(zhǎng)度問(wèn)題30(3) 一般匹配與正則匹配30(4) 默認(rèn)匹配32一、幾個(gè)基本概念(1)pv 值(page views):頁(yè)面的瀏覽量概念:一個(gè)網(wǎng)站的所有頁(yè)面,在一天內(nèi),被瀏覽的總次數(shù)。至少上千萬(wàn)的級(jí)別。(2)uv 值(unique visitor)獨(dú)立訪客概念:一個(gè)網(wǎng)站,在一天內(nèi),有多少個(gè)用戶訪問(wèn)過(guò)我們的網(wǎng)站。10 萬(wàn)以上(3)獨(dú)立 ip概念:一個(gè)網(wǎng)站,在一天內(nèi),有多少個(gè)獨(dú)立的 ip 地址來(lái)訪問(wèn)我們的網(wǎng)站。如果要考慮公司的局域網(wǎng),uv 值略大于獨(dú)立 ip
4、 的。二、解決高并發(fā)思路如果一個(gè)網(wǎng)站的 uv,pv,獨(dú)立 ip 變大,則會(huì)導(dǎo)致高的并發(fā),這時(shí)要對(duì)網(wǎng)站分層布局架構(gòu),采用負(fù)載均衡。什么是網(wǎng)站并發(fā)連接?網(wǎng)站服務(wù)器在單位時(shí)間內(nèi)能夠處理的最大連接數(shù)。負(fù)載均衡 ?硬件:立竿見(jiàn)影,效果非常好,價(jià)格非常昂貴,比如 F5-BIGIP 軟件:lvs(linux virtual server) ,nginx(web 服務(wù)器,負(fù)載均衡) 負(fù)載均衡實(shí)現(xiàn)策略(1) 輪詢,負(fù)載均衡器把請(qǐng)求輪流轉(zhuǎn)發(fā)給后面的 web 服務(wù)器。(2) ip 哈希,同一個(gè)地址的客戶端,始終請(qǐng)求同一臺(tái)主機(jī)。(3) 最少連接負(fù)載均衡器把請(qǐng)求給負(fù)載最小的哪臺(tái)服務(wù)器。三、nginx 的介紹1、常用 w
5、eb 服務(wù)器:apache:功能完善,歷史悠久,模塊支持非常豐富,屬于重量級(jí)產(chǎn)品,比較耗費(fèi)內(nèi)存。缺點(diǎn):處理每一個(gè) php 比較費(fèi)資源,導(dǎo)致如果高并發(fā)時(shí)會(huì)耗費(fèi)服務(wù)器資源無(wú)法處理更多請(qǐng)求。lighttpd:內(nèi)存開(kāi)銷低,cpu 占用率低,效能好,模塊豐富等特點(diǎn),輕量級(jí) web 服務(wù)器。nginx:省資源,省 cpu,所以在高并發(fā)時(shí)能夠處理更多的請(qǐng)求,高端能達(dá)到 3 萬(wàn)到 5 萬(wàn)的并發(fā)量。2、nginx 介紹Nginx (engine x) 是一個(gè)高性能的 HTTP 服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 郵件服務(wù)器。Nginx 是由伊戈?duì)栙愃饕驗(yàn)槎砹_斯訪問(wèn)量第二的Rambler.ru 站點(diǎn)
6、(俄文:)開(kāi)發(fā)的,第一個(gè)公開(kāi)版本 0.1.0 發(fā)布于 2004 年 10 月 4 日。其將源代碼以類 BSD 許可證的形式發(fā)布,因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。2011 年 6 月 1 日,nginx 1.0.4 發(fā)布。BSD (Berkeley Software Distribution,伯克利軟件套件)Nginx 特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上 nginx 的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,中國(guó)大陸使用 nginx 網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等3、nginx 優(yōu)點(diǎn)(1) 它可以高并發(fā)連接,官方測(cè)試能夠支撐 5 萬(wàn)并發(fā)連
7、接,在實(shí)際生產(chǎn)環(huán)境中可以支撐 2到 4 萬(wàn)并發(fā)連接。(2) 內(nèi)存消耗少Nginx+php(FastCGI)服務(wù)器再 3 萬(wàn)并發(fā)連接下,開(kāi)啟的 10 個(gè) Nginx 進(jìn)程消耗 150MB 內(nèi)存(15MB*10=150MB)開(kāi)啟的 64 個(gè) php-cgi 進(jìn)程消耗 1280MB 內(nèi)存(20MB*64=1280MB)(3) 成本低廉購(gòu)買(mǎi) F5 BIG-IP ,NetScaler 等硬件負(fù)載均衡交換機(jī)需要 10 多萬(wàn)甚至幾十萬(wàn)人民幣。而 Nginx 為開(kāi)源軟件,可以免費(fèi)試用,并且可用于商業(yè)用途。(4) 配置文件非常簡(jiǎn)單:通俗易懂,即使非專業(yè)管理員也能看懂。(5) 支持 rewrite 重寫(xiě)規(guī)則:能根
8、據(jù)域名、URL 的不同,將 HTTP 請(qǐng)求分到不同的后端服務(wù)器群組。(6) 內(nèi)置的健康檢查功能:如果 nginx proxy 后端的某臺(tái)服務(wù)器宕機(jī)了,不會(huì)影響前端訪問(wèn)。(7) 節(jié)省帶寬,支持 gzip 壓縮。(8)穩(wěn)定性高:用于反向,宕機(jī)的概率微乎其微。(9)支持熱部署。在不間斷服務(wù)的情況下,對(duì)軟件版本升級(jí)。nginx 在反向,rewrite 規(guī)則,穩(wěn)定性,靜態(tài)化文件處理,內(nèi)存消耗等方面,表現(xiàn)出了很強(qiáng)的優(yōu)勢(shì),選用 nginx 取代傳統(tǒng)的 apache 服務(wù)器,將會(huì)獲得多方面的性能提升。(8)支持的操作系統(tǒng)FreeBSD 3.x,4.x,5.x,6.x i386; FreeBSD 5.x,6.x
9、 amd64; Linux 2.2,2.4,2.6 i386; Linux 2.6 amd64;Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386; MacOS X (10.4) PPC;Windows XP,Windows Server 2003 和 Windows 7 等。四、新建虛擬機(jī)網(wǎng)絡(luò)配置(1)配置 ip 地址給 linux 系統(tǒng)配置 ip 地址等信息,這樣我們的系統(tǒng)就可以彼此實(shí)現(xiàn)通信效果,并且也可以提供網(wǎng)絡(luò)服務(wù),例如 apache 服務(wù)、mysql 服務(wù)。編輯配置文件: cd/etc/sysconfig/network
10、-scriptsifcfg-eth0:代表硬件的第一個(gè)網(wǎng)卡,eth1 就是第 2 個(gè),以此類推這個(gè)文件里各個(gè)屬性可以修改,包括 ip 地址,子網(wǎng)掩碼,廣播地址,默認(rèn)網(wǎng)關(guān)等ifcfg-eth0 文件被修改之前先備份,如下 cpifcfg-eth0./ifcfg-eth0.bak/修改前先備份下邊,使用 vim 打開(kāi) ifcfg-eth0 做網(wǎng)絡(luò)配置(一共 4 個(gè)項(xiàng)目需要設(shè)置):之后:wq 保存退出(2)啟動(dòng)網(wǎng)絡(luò)現(xiàn)在需要重啟網(wǎng)絡(luò):(網(wǎng)絡(luò)文件 ifcfg-eth0 被修改后,都要執(zhí)行如下的 restart 指令重啟網(wǎng)絡(luò)) servicenetworkstart/stop/restart在 linux
11、 下查看已經(jīng)分配好的 ip 地址: ifconfig執(zhí)行:service network start(restart)(3)本機(jī) 和 linux 互相 ping 通首先需要給虛擬機(jī)做一個(gè)預(yù)配置:linux 可以 ping 通本機(jī):本機(jī) 也 可以 ping 通 linux:?jiǎn)栴}:本機(jī)可以 ping 通 linux,但是 linux 不能 ping 通本機(jī)?解決:關(guān)閉本機(jī)。臨時(shí)關(guān)閉永久關(guān)閉,重啟后復(fù)原;service iptables stop:chkconfig iptables off五、終端連接 linux 系統(tǒng)服務(wù)器(Linux) (廣州)機(jī)房服務(wù)器需要放到專業(yè)機(jī)房里邊,其安全、網(wǎng)絡(luò)帶寬、
12、溫度、濕度等等都有保障。如上圖,linux 服務(wù)器放置在廣州機(jī)房,而在其他地方有人員想要操作,就需要通過(guò)終端軟件連接并使用。1. Xshell 連接 linuxXshell 終端軟件linux 本身提供 ssh 服務(wù)service sshd status該服務(wù)走端口 22,協(xié)議是 ssh(類似 apache 走 http 協(xié)議,端口 80)SSH 為 Secure Shell 的縮寫(xiě)如下圖添加一個(gè)終端連接:上海北京西安終端軟件(Xshell、secureCRT、putty 等)給 xshell 做連接配置:上圖點(diǎn)擊“確定”后會(huì)再會(huì)話窗口增加連接的項(xiàng)目:上圖選中要連接的項(xiàng)目,點(diǎn)擊“連接”按鈕,出
13、現(xiàn)下圖效果:現(xiàn)在登錄 linux 系統(tǒng)成功:連接上 linux 系統(tǒng)后,可以給 xshell 終端設(shè)置顯示字號(hào)大?。毫⒐怛?qū)掛載1、掛載光驅(qū)在 linux 系統(tǒng)光盤(pán)中,除了操作系統(tǒng)外,還有許多功能包軟件,這些軟件在今天的學(xué)習(xí)過(guò)程中需要被安裝。linux 系統(tǒng)掛載類型:自動(dòng)/手動(dòng).光驅(qū)在 linux 系統(tǒng)里邊需要“手動(dòng)”完成掛載動(dòng)作。首先把光盤(pán)放到光驅(qū)里邊:其次,實(shí)現(xiàn)掛載,在系統(tǒng)中找到一個(gè)普通目錄,使其與光驅(qū)硬件進(jìn)行聯(lián)系光驅(qū)使用:光驅(qū)硬件創(chuàng)建一個(gè)普通目錄,用于與光驅(qū)掛載聯(lián)系:光驅(qū)硬件:/dev/cdrom由上圖可見(jiàn),/dev/cdrom 是一個(gè)軟鏈接,本身是/dev/sr0(因此可以通過(guò)/dev
14、/sr0 找到光驅(qū)硬件),我們不推薦使用 sr0,因?yàn)榭勺x性不好(cdrom 的可讀性好) mkdir /cdrom掛載聯(lián)系普通目錄具體掛載操作: mount硬件掛載點(diǎn)目錄(普通目錄)/掛載動(dòng)作/把光驅(qū)掛載到 rom 目錄 mount/dev/cdrom/cdrom/上下兩行作用完全一樣 mount/dev/sr0/cdrom/把光驅(qū)掛載到 rom 目錄umount硬件或掛載點(diǎn) umount/dev/cdrom umount/home/jinnan/rom(注意,光驅(qū)正處于操作的狀態(tài)是禁止卸載的)讓光驅(qū)硬件 與 /cdrom 掛載聯(lián)系:/卸載動(dòng)作/(硬件)卸載光驅(qū)/(掛載點(diǎn))卸載光驅(qū)掛載好后,
15、就可以通過(guò)/cdrom 目錄查看到光驅(qū)的內(nèi)容了:使得光驅(qū)卸載(/cdrom 目錄 與 光驅(qū)不要聯(lián)系):下載完畢,那么此時(shí)/cdrom 目錄又變?yōu)槠胀夸浟?看不到光盤(pán)內(nèi)容了)正在操作的光驅(qū)是不允許卸載的:上圖說(shuō)明正在對(duì)光盤(pán)進(jìn)行操作卸載操作是失敗的,如下圖,提示設(shè)備繁忙,禁止卸載:2、配置 yum 源設(shè)置 yum 的軟件源為本地光盤(pán)(/cdrom)1) 確保光盤(pán)是掛載狀態(tài),掛載點(diǎn)是/cdrom 首先把光盤(pán) dev/cdrom 掛載到/cdrom 下:2) 切換到 yum 配置文件目錄其次,修改 yum 的配置文件,設(shè)置軟件源為本地光盤(pán)切換到 yum 的配置文件目錄:/etc/yum.repos.
16、d/3) 修改配置文件 XXX-Base.repo 名字為 XXX-Base.repo.bak在 yum 配置文件目錄內(nèi)部有 CentOS-Base.repo,其是上網(wǎng)使用的,并且其也會(huì)首先執(zhí)行,我們要給其改名字為 xxxx.bak 形式,使其失效:4) 給 yum 開(kāi)啟本地軟件源CentOS-Base.repo 文件失效后,那么 CentOS-Media.repo 就會(huì)執(zhí)行,其是設(shè)置軟件源的配置文件:打開(kāi) CentOS-Media.repo,配置兩個(gè)地方:軟件源baseurl=file:/cdrom/enabled=1和 生效開(kāi)關(guān)之后保存退出現(xiàn)在我們的 yum 指令就 ok 了3、安裝 gc
17、c 編譯器軟件GNU 編譯器套件(GNU Compiler Collection)包括 C、C+、Objective-C、Fortran、Java、Ada 和 Go 語(yǔ)言的前端,也包括了這些語(yǔ)言的庫(kù)(如 libstdc+、libgcj 等等)該 gcc 可以實(shí)現(xiàn) C 語(yǔ)言、C+語(yǔ)言、Java 語(yǔ)言由源碼向二進(jìn)制碼編譯的過(guò)程,其是一個(gè)工具。111001010101二進(jìn)制碼文件class function 源碼文件源碼文件 通過(guò) gcc 工具編譯為 二進(jìn)制碼文件該 gcc 工具在操作系統(tǒng)光盤(pán)里,在 Packages 目錄里邊,查看 gcc 軟件ls | grep gcc查看 gcc 是否安裝,如果
18、沒(méi)有安裝,則使用 yum 方式完成安裝;yum listtalled | grep gcc如果我們通過(guò) yum 方式安裝 gcc 軟件,那么就很順利,yum 本身會(huì)自動(dòng)給我們解決依賴,因此安裝步驟就兩個(gè): yum -y yum -ytall gcctall gcc-c+4、安裝 lrzsz在 linux 系統(tǒng)中有一個(gè)軟件(軟件包名:lrzsz),可以幫助我們實(shí)現(xiàn)軟件的上傳和下載:把這個(gè)軟件 lrzsz 安裝上(也在系統(tǒng)光盤(pán) Packages 里邊):yum -ytall lrzsz 通過(guò) lrzsz 實(shí)現(xiàn) apache 相關(guān)軟件上傳:gcc切換到某個(gè)目錄下再執(zhí)行如下 rz 指令(作用是把軟件就
19、上傳到某個(gè)目錄) rz現(xiàn)在在切換到/home/hanguo 目錄下,相關(guān)的軟件已經(jīng)上傳成功:七、安裝 nginx 軟件1、下載軟件/en/download.html/download/nginx-1.12.2.tar.gz2、安裝依賴掛載光盤(pán),安裝如下 3 個(gè)依賴軟件:rootlocalhost rootlocalhostrootlocalhostyum yumyum-y-y-ytall talltallpcre pcre-devel openssl openssl-develzlib zlib-develpcre 和 pcre-de
20、vel:兩個(gè)軟件,必須有關(guān)系,pcre 是線上產(chǎn)品,pcre-devel(develop)是開(kāi)發(fā)版本,里邊有一些功能是線上產(chǎn)品不不具備pcre: openssl: zlib:包括 perl 兼容的正則表達(dá)式庫(kù)支持安全傳輸協(xié)議 https(和財(cái)務(wù)有關(guān)系的請(qǐng)求會(huì)走的協(xié)議)優(yōu)化、壓縮支持3、安裝 nginx 軟件(1) 上傳軟件解壓rootlocalhost cd /home/jinnan/tar解壓縮rootlocalhost tar zxf nginx-1.12.2.tar.gz(2) 進(jìn)入 nginx 解壓目錄rootlocalhost cd nginx-1.12.2(3) configure
21、 配置 nginxrootlocalhost ./configure -prefix=/usr/local/nginx -with-http_ssl_module/配置 https 安全型協(xié)議-with-http_ssl_moduleconfigure 執(zhí)行完畢效果如下圖:(4)編譯&安裝rootlocalhost make & maketall make & maketall 執(zhí)行完畢效果:(5)啟動(dòng) Nginxrootlocalhost /usr/local/nginx/sbin/nginx查看服務(wù)(6)rootlocalhost netstat -lntp如果 nginx 配置文件有修改
22、,可以通過(guò)如下方式測(cè)試配置文件是否正確:rootlocalhost /usr/local/nginx/sbin/nginx -t查看編譯的模塊rootlocalhost /usr/local/nginx/sbin/nginx -V注意:安裝完成后,會(huì)有 4 個(gè)目錄,conf配置文件html網(wǎng)頁(yè)文件,網(wǎng)站的根目錄,就類似與 apache 里面的 htdocs 目錄。logs日志文件sbin主要二進(jìn)制程序,啟動(dòng)程序命令3、nginx 的啟動(dòng)管理(1) 啟動(dòng),執(zhí)行/usr/local/nginx/sbin/nginx 文件,完成啟動(dòng)。參數(shù) -c 指定了配置文件的路徑,如果不加 -c 參數(shù),Nginx
23、 會(huì)默認(rèn)加載其安裝目錄的 conf 子目錄中的 nginx.conf 文件。(2) 測(cè)試是否啟動(dòng)成功lsof i :80 或 netstat tunpl |grep 80;瀏覽器中通過(guò) ip 地址訪問(wèn);(3)nginx 的管理通過(guò)查看./nginx h 幫助命令啟動(dòng)s stop停止 nginx 的服務(wù)s reload不停止 nginx 的服務(wù),重新加載配置文件。t檢測(cè)配置文件是否有錯(cuò)誤。-V 查看 Nginx 編譯時(shí)的參數(shù)?nginxnginx nginx nginx nginxroothadoop sbin# ./nginx -Vnginx version: nginx/1.8.1built
24、 by gcc 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC) built with OpenSSL 1.0.0-fips 29 Mar 2010TLS SNI support enabledconfigurearguments:-user=www-group=www-prefix=/usr/local/nginx-with-http_stub_status_module -with-http_ssl_module4、nginx 的信號(hào)控制(了解)信號(hào)控制,是管理 nginx 進(jìn)程的一種方式。具體的用法:kill 信號(hào)選項(xiàng) nginx 的主進(jìn)程號(hào)https:/w
25、/resources/wiki/start/topics/tutorials/commandline/(1)比如立即關(guān)閉進(jìn)程:kill INTnginx 的主進(jìn)程號(hào)查看某個(gè)任務(wù)的進(jìn)程號(hào),可以用 ps aux|grep nginx(2) 優(yōu)雅的關(guān)閉進(jìn)程(即等請(qǐng)求結(jié)束后,再關(guān)閉)kill QUITnginx 的主進(jìn)程號(hào)(3) 重讀配置文件kill HUPnginx 的主進(jìn)程號(hào)與 nginx s reload 一樣把配置文件中的新更新的東西加載到正在運(yùn)行的 nginx 的進(jìn)程中,接著對(duì)用戶提供服務(wù),但是 nginx 的進(jìn)程并沒(méi)有關(guān)閉。即重讀配置文件??梢酝ㄟ^(guò)修改配置文件進(jìn)行測(cè)
26、試(4) 重讀日志文件Kill-USR1 cat /xxx/path/log/nginx.pid重新讀日志文件,日志文件改名備份后,使用,否則仍然寫(xiě)入原來(lái)的日志文件。(5) 可以使用 nginx.pid 文件代替 nginx 的主進(jìn)程號(hào)查看 nginx.pid 文件的位置,打開(kāi)配置文件進(jìn)行查看: 即:kill信號(hào)控制 cat /xxx/path/log/nginx.pid六、配置文件講解1、配置文件介紹,下面是去掉注釋后,配置文件里面的內(nèi)容;egrep v “#|$” nginx.conf通過(guò)觀察,該配置文件有兩段events http server 注意:每一行用分號(hào)結(jié)束,內(nèi)容與之間要有空格
27、。2、全局配置worker_processes1;配置工作進(jìn)程的個(gè)數(shù),推薦設(shè)置為 cpu 的個(gè)數(shù)*核心數(shù)。/不同錯(cuò)誤信息存儲(chǔ)的位置/全局錯(cuò)誤日志定義類型, debug | info | notice | warn | error | crit #error_log#error_log #error_loglogs/error.log;logs/error.lognotice; logs/error.loginfo;/存儲(chǔ) nginx 進(jìn)程號(hào)的文件#pidlogs/nginx.pid;3、配置events /單個(gè) cpu 進(jìn)程的最大并發(fā)連接數(shù)/根據(jù)硬件調(diào)整,和前面工作進(jìn)程配合起來(lái)用,盡量大,但是
28、別把 cpu 跑到 100%就行/同時(shí)要考慮,服務(wù)器并不是 100%為 nginx 服務(wù),還有其他工作要做,因此不能達(dá)到理論峰值worker_connections1024;/并發(fā)總數(shù)是 worker_processes 和 worker_connections 的乘積/ 即 max_clients = worker_processes * worker_connectionsworker_connections1024;配置每個(gè)工作進(jìn)程支持的最大連接數(shù)(一個(gè)進(jìn)程的并發(fā)量)4、虛擬主機(jī)的配置在 http 段里面的 server 段就是配置虛擬主機(jī)的,http 中每一個(gè) server 段就是一個(gè)
29、虛擬主機(jī)(1)基于域名的虛擬主機(jī)配置一個(gè) 的虛擬主機(jī),第一步:打開(kāi) nginx 的配置文件,進(jìn)行如下配置。第二步:修改完成配置文件后,要執(zhí)行重寫(xiě)加載配置文件/usr/local/nginx/sbin/nginx s reload第三步:在/usr/local/nginx/新建一個(gè) abc 的目錄,該目錄就是 域名的根目錄。并在里面添加一些測(cè)試文件。測(cè)試效果如下:在 window 系統(tǒng) hosts文件里面做好解析;測(cè)試效果如下;也可以通過(guò)在 linux 主機(jī)里面本地測(cè)試roothadoop nginx# echo www.abc
30、.com /etc/hosts roothadoop abc#echo ./index.html roothadoop abc# curl (2)基于端口的虛擬主機(jī)在配置文件里面,如下配置,測(cè)試效果如下:(3)基于 IP 的虛擬主機(jī)配置實(shí)戰(zhàn)主要實(shí)現(xiàn)方式是通過(guò)單網(wǎng)卡多 ip 的方式來(lái)實(shí)現(xiàn)的;通過(guò)如下命令臨時(shí)在 eth0 網(wǎng)卡上增加 1一個(gè)不同的 IP 地址;ip addr add 01/24 dev eth00011111111.11111111.111111
31、11.00000000虛擬主機(jī)配置如下;效果如下;注意:基于 IP 的虛擬主機(jī)配置在生產(chǎn)環(huán)境中不經(jīng)常使用,一般配置在負(fù)載均衡后面的服務(wù)器上面,知道即可。5、規(guī)范優(yōu)化 nginx 配置文件大家如果了解 apache 軟件,就會(huì)知道 apache 主配置文件包含虛擬主機(jī)子文件的方法,這里也借鑒了 apache 的這種包含方法,可以把多個(gè)虛擬主機(jī)配置成一個(gè)個(gè)單獨(dú)的配置文件,僅僅和 nginx 的主配置文件 nginx.conf分離開(kāi)即可。這里使用語(yǔ)法是 include,(1)在 conf 目錄下面新建一個(gè)目錄,(2)進(jìn)入到新建的目錄(extra)新建一個(gè)文件(nihao.conf)在該文件里面添加虛
32、擬主機(jī)的配置。(3)打開(kāi) nginx 的配置文件,nginx.conf,引入虛擬主機(jī)的配置文件。(4)執(zhí)行 nginx 的重新加載配置文件,(5)根據(jù)虛擬主機(jī)里面的配置,新建一個(gè)網(wǎng)站的根目錄(nihao),(6)在 window 系統(tǒng)里面,配置 hosts 文件內(nèi)容如下:訪問(wèn)效果如下:6、別名配置所謂虛擬主機(jī)別名,就是為虛擬主機(jī)設(shè)置除了主域名以外的一個(gè)或多個(gè)域名名字,這樣就能實(shí)現(xiàn)用戶訪問(wèn)的多個(gè)域名對(duì)應(yīng)同一個(gè)虛擬主機(jī)網(wǎng)站的功能。語(yǔ)法:只需在 server_name 所在行后面添加別名即可。比如剛才設(shè)置的 域名,我們添加兩個(gè)別名配置 window 里面的 hosts 文
33、件訪問(wèn)效果如下:七、日志管理與 nginx 日志相關(guān)的指令主要有兩條,一條是 log_format,用來(lái)設(shè)置日志的格式,另外一條是access_log,用來(lái)指定日志文件的存放路徑、格式和緩存大小。兩條指令在 nginx 配置文件中的位置可以在 http之間,也可以在虛擬主機(jī)之間,即 server兩個(gè)大括號(hào)之間。1、用 log_format 來(lái)設(shè)置日志的格式log_format格式名稱格式樣式比如如下:log_formatmain$remote_addr - $remote_user $time_local $request $status $body_bytes_sent $http_refe
34、rer $http_user_agent $http_x_forwarded_for;在日志格式樣式中:$remote_addr 和$http_x_forwarded_for 用于記錄 IP 地址$remote_user 用于記錄遠(yuǎn)程客戶端用戶名稱;$time_local 用于記錄訪問(wèn)時(shí)間與時(shí)區(qū);$request 用于記錄請(qǐng)求 URL 與 HTTP 協(xié)議;$status 用于記錄請(qǐng)求狀態(tài),例如成功時(shí)狀態(tài)為 200,頁(yè)面找不到時(shí)狀態(tài)為 404;$body_bytes_sent 用于記錄發(fā)送給客戶端的文件主體內(nèi)容大??;$http_referer 用于記錄是從哪個(gè)頁(yè)面鏈接訪問(wèn)過(guò)來(lái)的;$http_us
35、er_agent 用于記錄客戶端瀏覽器的相關(guān)信息。2、用 access_log 指令指定日志文件存放路徑。Nginx 允許針對(duì)不同的 server 做不同的 Log ,(有的 web 服務(wù)器不支持,如 lighttp)access_log聲明 loglogs/access_8080.loglog 位置mylog;log 格式;案例:給 域名配置日志記錄,(1)在 nginx.conf 主配置文件里面,配置日志格式的樣式。(2)在 extra/nihao.conf 配置文件里面,配置日志文件的存儲(chǔ)路徑。查看日志文件注意點(diǎn):$remote_addr 和$http_x_f
36、orwarded_for 都用于記錄 IP 地址,區(qū)別是什么?以記錄原有的客戶端 IP 地址和原來(lái)客戶端請(qǐng)求的服務(wù)器地址。這時(shí)候,就要用 log_format令來(lái)設(shè)置日志格式,讓日志記錄 X-Forwarded-For 信息中的 IP 地址,即客戶的真實(shí) IP指3、定時(shí)任務(wù),完成日志分割查看日期修改:datedate d yesterdaydate s 2018-11-27 9:40得到格式化的日期:date d yesterday +%Y%m%d%H%M(1)在/date 目錄下面新建一個(gè)腳本 runlog.sh使用 vim 命令創(chuàng)建。#!/bin/bash使用 sh 指令來(lái)運(yùn)行腳本文件;(
37、2)通過(guò) crontab e 定時(shí)執(zhí)行,腳本文件。如果沒(méi)有安裝定時(shí)任務(wù),可以使用yumtall -y vixie-cron 命令進(jìn)行安裝;啟動(dòng)定時(shí)任務(wù) service crond start查看定時(shí)任務(wù) crontab -l 編輯定時(shí)任務(wù) crontab e 刪除定時(shí)任務(wù) crontab -r*/1 * * * * sh /date/runlog.sh 15 15 5 12 *分 時(shí) 日 月 周 命令(3)查看:運(yùn)行效果如下;八、location 語(yǔ)法:1、location 的作用location 指令的作用是根據(jù)用戶請(qǐng)求的 URL 來(lái)執(zhí)行不同的應(yīng)用。在虛擬主機(jī)的配置中,是必不可少的,loca
38、tion 可以把網(wǎng)站的不同部分定位到不同的處理方式上。比如:碰到.php 如何調(diào)用php 解釋器,這時(shí)就需要 location.2、基本語(yǔ)法如下:location =|*| patt 中括號(hào)可以不寫(xiě)任何參數(shù),此時(shí)成為一般匹配。也可以寫(xiě)參數(shù)。因此,大類型可以分為 3 種。精確匹配location = patt 一般匹配location patt正則匹配location patt3、curl 工具使用在 Linux 中 curl 是一個(gè)利用 URL 規(guī)則在命令行下工作的文件傳輸工具,可以說(shuō)是一款很強(qiáng)大的 http 命令行工具。注意點(diǎn):在 linux 下面配置的虛擬主機(jī)測(cè)試時(shí),要在/etc/hosts 文件里
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒吧委托協(xié)議書(shū)
- 租用客車協(xié)議書(shū)
- 藥房質(zhì)保協(xié)議書(shū)
- 退出崗位協(xié)議書(shū)
- 科研基地協(xié)議書(shū)
- 職業(yè)環(huán)保協(xié)議書(shū)
- 棚戶區(qū)轉(zhuǎn)讓合同協(xié)議書(shū)
- 細(xì)胞儲(chǔ)存協(xié)議書(shū)
- 線路聯(lián)營(yíng)協(xié)議書(shū)
- 美國(guó)關(guān)稅協(xié)議書(shū)
- 中醫(yī)養(yǎng)生(靈源萬(wàn)應(yīng)茶)
- 追索子女撫養(yǎng)費(fèi)起訴狀
- 六年級(jí)數(shù)學(xué)質(zhì)量分析PPT
- 土地平整、池塘推土、雜草灌木叢及樹(shù)木清除施工方案
- 眼鏡鏡架的整形專業(yè)培訓(xùn)2課件
- 下線儀式串詞策劃
- 通用長(zhǎng)期供銷合同范本
- 新版《藥品管理法》解讀課件
- 《社區(qū)治理研究國(guó)內(nèi)外文獻(xiàn)綜述(1900字)》
- 2023浙江省學(xué)生藝術(shù)特長(zhǎng)測(cè)試A級(jí)理論復(fù)習(xí)資料
- 建筑業(yè)企業(yè)資質(zhì)職稱人員相近專業(yè)認(rèn)定目錄
評(píng)論
0/150
提交評(píng)論