nginx虛擬主機配置教程
發(fā)布時(shí)間:2022-05-20 10:21
來(lái)源:好主機
閱讀:190
作者:新網(wǎng)知識社區
欄目: 虛擬主機
歡迎投稿:712375056
??什么是虛?虛擬主機是一種特殊的軟硬件技術(shù),它可以將網(wǎng)絡(luò )上的每一臺計算機分成多個(gè)虛擬主機,每個(gè)虛擬主機可以獨立對外提供www服務(wù),這樣就可以實(shí)現一臺主機對外提供多個(gè)web服務(wù),每個(gè)虛擬主機之間是獨立的,互不影響。在真實(shí)的服務(wù)器環(huán)境,為了充分利用服務(wù)器資源,一臺nginx web服務(wù)器會(huì )同時(shí)配置N個(gè)虛擬主機,這樣可以充分利用服務(wù)器的資源,方便管理員的統一管理。下面就由小編和大家講一講nginx虛擬主機配置教程。
??一、Nginx的應用概述
??Nginx作為一款高性能的http服務(wù)器/反向代理服務(wù)器以及電子郵件(IMAP/POP3)代理服務(wù)器。
??1、http服務(wù)器
??Nginx是一個(gè)http服務(wù)可以獨立提供http服務(wù)
??2、虛擬主機
??可以實(shí)現在一臺服務(wù)器虛擬出多個(gè)網(wǎng)站。例如個(gè)人網(wǎng)站使用的虛擬主機。
??3、反向代理,負載均衡
??當網(wǎng)站的訪(fǎng)問(wèn)量達到一定程度后,單臺服務(wù)器不能滿(mǎn)足用戶(hù)的請求時(shí),需要用多臺服務(wù)器集群可以使用nginx做反向代理。并且多臺服務(wù)器可以平均分擔負載,不會(huì )因為某臺服務(wù)器負載高宕機而某臺服務(wù)器閑置的情況。
??二、什么是虛擬主機
??虛擬主機技術(shù)是互聯(lián)網(wǎng)服務(wù)器采用的節省服務(wù)器硬件成本的技術(shù),虛擬主機技術(shù)主要應用于HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)服務(wù),將一臺服務(wù)器的某項或者全部服務(wù)內容邏輯劃分為多個(gè)服務(wù)單位,對外表現為多個(gè)服務(wù)器,從而充分利用服務(wù)器硬件資源。
??虛擬主機是使用特殊的軟硬件技術(shù),把一臺真實(shí)的物理服務(wù)器主機分割成多個(gè)邏輯存儲單元。每個(gè)邏輯單元都沒(méi)有物理實(shí)體,但是每一個(gè)邏輯單元都能像真實(shí)的物理主機一樣在網(wǎng)絡(luò )上工作,具有單獨的IP地址(或共享的IP地址)、獨立的以及完整的Internet服務(wù)器(支持WWW、FTP、E-mail等)功能。
??關(guān)鍵技術(shù)在于,即使在同一臺硬件、同一個(gè)操作系統上,運行著(zhù)為多個(gè)用戶(hù)打開(kāi)的不同的服務(wù)器程式,也互不干擾。而各個(gè)用戶(hù)擁有自己的一部分系統資源(IP地址、文檔存儲、內存、CPU等)。各個(gè)虛擬主機之間完全獨立,在外界看來(lái),每一臺虛擬主機和一臺單獨的主機的表現完全相同。所以這種被虛擬化的邏輯主機被形象地稱(chēng)為“虛擬主機”。
??三、基于IP的虛擬主機
??基于IP地址的虛擬主機原理:相同端口,相同
域名,不同的IP地址;也就是說(shuō)多個(gè)虛擬主機之間擁有相同的端口和域名,使用IP地址不同的方式區分不同虛擬主機,當然訪(fǎng)問(wèn)的時(shí)候就需要使用不同IP或者域名去訪(fǎng)問(wèn)了,
綁定域名時(shí)也就需要不同域名綁定不同ip地址,但不可一個(gè)域名綁定多個(gè)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; } ......省略其他代碼 } }
??實(shí)戰
??這里為大家演示一種虛擬主機的實(shí)現,因為基于域名的虛擬主機比較常見(jiàn)這里就為大家演示這種虛擬主機
??環(huán)境介紹
??操作系統版本:
??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安裝方式不同位置不同,具體請查看自己的配置文件位置
??下面是配置文件內容:
??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; }
??記住修改配置文件后一定要重新啟動(dòng)nginx
??root@jia:~# systemctl restart nginx
??創(chuàng )建主頁(yè)文件
??首先創(chuàng )建存放主頁(yè)html文件的目錄
??root@jia:~# cd /var/www/html/ root@jia:/var/www/html# mkdir a b c #生成主頁(yè)文件 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文件需要注意一下,在那個(gè)PC上面驗證就在那個(gè)PC上面修改host文件
??windows主機hosts文件路徑:C:WindowsSystem32driversetc
??linux版本hosts文件路徑:/etc/
??需要寫(xiě)入的內容
??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是一款開(kāi)源的、跨平臺的高性能web服務(wù)器,它有著(zhù)高性能,穩定性高,配置簡(jiǎn)單,模塊結構化,資源消耗低的優(yōu)點(diǎn)。同時(shí)支持反向代理、負載均衡、緩存的功能。其采用多進(jìn)程 epoll(IO多路復用)模型,也對互聯(lián)網(wǎng)高并發(fā)連接業(yè)務(wù)有著(zhù)很好的支持。小伙伴們要想獲得更多nginx虛擬主機的內容,請關(guān)注特網(wǎng)!