nginx虛擬主機配置教程
??一、Nginx的應(yīng)用概述
??Nginx作為一款高性能的http服務(wù)器/反向代理服務(wù)器以及電子郵件(IMAP/POP3)代理服務(wù)器。
??1、http服務(wù)器
??Nginx是一個http服務(wù)可以獨立提供http服務(wù)
??2、虛擬主機
??可以實現(xiàn)在一臺服務(wù)器虛擬出多個網(wǎng)站。例如個人網(wǎng)站使用的虛擬主機。
??3、反向代理,負(fù)載均衡
??當(dāng)網(wǎng)站的訪問量達(dá)到一定程度后,單臺服務(wù)器不能滿足用戶的請求時,需要用多臺服務(wù)器集群可以使用nginx做反向代理。并且多臺服務(wù)器可以平均分擔(dān)負(fù)載,不會因為某臺服務(wù)器負(fù)載高宕機而某臺服務(wù)器閑置的情況。
??二、什么是虛擬主機
??虛擬主機技術(shù)是互聯(lián)網(wǎng)服務(wù)器采用的節(jié)省服務(wù)器硬件成本的技術(shù),虛擬主機技術(shù)主要應(yīng)用于HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)服務(wù),將一臺服務(wù)器的某項或者全部服務(wù)內(nèi)容邏輯劃分為多個服務(wù)單位,對外表現(xiàn)為多個服務(wù)器,從而充分利用服務(wù)器硬件資源。
??虛擬主機是使用特殊的軟硬件技術(shù),把一臺真實的物理服務(wù)器主機分割成多個邏輯存儲單元。每個邏輯單元都沒有物理實體,但是每一個邏輯單元都能像真實的物理主機一樣在網(wǎng)絡(luò)上工作,具有單獨的IP地址(或共享的IP地址)、獨立的域名以及完整的Internet服務(wù)器(支持WWW、FTP、E-mail等)功能。
??虛擬主機的關(guān)鍵技術(shù)在于,即使在同一臺硬件、同一個操作系統(tǒng)上,運行著為多個用戶打開的不同的服務(wù)器程式,也互不干擾。而各個用戶擁有自己的一部分系統(tǒng)資源(IP地址、文檔存儲空間、內(nèi)存、CPU等)。各個虛擬主機之間完全獨立,在外界看來,每一臺虛擬主機和一臺單獨的主機的表現(xiàn)完全相同。所以這種被虛擬化的邏輯主機被形象地稱為“虛擬主機”。
??三、基于IP的虛擬主機
??基于IP地址的虛擬主機原理:相同端口,相同域名,不同的IP地址;也就是說多個虛擬主機之間擁有相同的端口和域名,使用IP地址不同的方式區(qū)分不同虛擬主機,當(dāng)然訪問的時候就需要使用不同IP或者域名去訪問了,綁定域名時也就需要不同域名綁定不同ip地址,但不可一個域名綁定多個ip
??配置
??http{ ......省略其他代碼 #第一臺虛擬主機 server { listen IP地址:80; server_name a.jkyst.xy或者ip地址; access_log logs/a.access.log; location{ root html/a; index index.html index.htm; } ......省略其他代碼 } #第二臺虛擬主機 server{ listen IP地址:80; server_name b.jkyst.xyz或者IP地址; access_log logs/b.access.log; location{ root html/b; index index.html index.htm; } ......省略其他代碼 } #第三臺虛擬主機 server{ listen IP地址:80; server_name c.jkyst.xyz或者IP地址; access_log logs/c.access.log; location{ root html/c; index index.html index.htm; } ......省略其他代碼 } }
??實戰(zhàn)
??這里為大家演示一種虛擬主機的實現(xiàn),因為基于域名的虛擬主機比較常見這里就為大家演示這種虛擬主機
??環(huán)境介紹
??操作系統(tǒng)版本:
??root@jia:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 19.10 Release: 19.10 Codename: eoan root@jia:~# cat /proc/version Linux version 5.3.0-18-generic (buildd@lcy01-amd64-027) (gcc version 9.2.1 20190909 (Ubuntu 9.2.1-8ubuntu1)) #19-Ubuntu SMP Tue Oct 8 20:14:06 UTC 2019
??nginx版本:
??root@jia:~# nginx -v nginx version: nginx/1.16.1 (Ubuntu)
??配置nginx.conf
??配置文件位置:/etc/nginx/conf.d/*.conf
??nginx安裝方式不同位置不同,具體請查看自己的配置文件位置
??下面是配置文件內(nèi)容:
??root@jia:/var/www/html# cat /etc/nginx/conf.d/default.conf server { listen 80; server_name a.jkyst.xyz; location / { root /var/www/html/a; index index.html index.htm; } } server { listen 80; server_name b.jkyst.xyz; location / { root /var/www/html/b; index index.html index.htm; } } server { listen 80; server_name c.jkyst.xyz; location / { root /var/www/html/c; index index.html index.htm; }
??記住修改配置文件后一定要重新啟動nginx
??root@jia:~# systemctl restart nginx
??創(chuàng)建主頁文件
??首先創(chuàng)建存放主頁html文件的目錄
??root@jia:~# cd /var/www/html/ root@jia:/var/www/html# mkdir a b c #生成主頁文件 root@jia:/var/www/html# echo a.jkyst.xyz > a/index.html root@jia:/var/www/html# echo b.jkyst.xyz > b/index.html root@jia:/var/www/html# echo c.jkyst.xyz > c/index.html
??修改host文件
??這里修改hosts文件需要注意一下,在那個PC上面驗證就在那個PC上面修改host文件
??windows主機hosts文件路徑:C:\Windows\System32\drivers\etc
??linux版本hosts文件路徑:/etc/
??需要寫入的內(nèi)容
??127.0.0.1 a.jkyst.xyz //127.0.0.1是nginx服務(wù)器的IP地址,我這里使用的是同一臺PC 127.0.0.1 b.jkyst.xyz 127.0.0.1 c.jkyst.xyz
??測試
??root@jia:~# curl a.jkyst.xyz a.jkyst.xyz root@jia:~# curl b.jkyst.xyz b.jkyst.xyz root@jia:~# curl c.jkyst.xyz c.jkyst.xyz
??Nginx是一款開源的、跨平臺的高性能web服務(wù)器,它有著高性能,穩(wěn)定性高,配置簡單,模塊結(jié)構(gòu)化,資源消耗低的優(yōu)點。同時支持反向代理、負(fù)載均衡、緩存的功能。其采用多進(jìn)程+epoll(IO多路復(fù)用)模型,也對互聯(lián)網(wǎng)高并發(fā)連接業(yè)務(wù)有著很好的支持。小伙伴們要想獲得更多nginx虛擬主機的內(nèi)容,請關(guān)注新網(wǎng)!
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科