nginx虛擬主機配置教程
??一、Nginx的應用概述
??Nginx作為一款高性能的http服務器/反向代理服務器以及電子郵件(IMAP/POP3)代理服務器。
??1、http服務器
??Nginx是一個http服務可以獨立提供http服務
??2、虛擬主機
??可以實現(xiàn)在一臺服務器虛擬出多個網(wǎng)站。例如個人網(wǎng)站使用的虛擬主機。
??3、反向代理,負載均衡
??當網(wǎng)站的訪問量達到一定程度后,單臺服務器不能滿足用戶的請求時,需要用多臺服務器集群可以使用nginx做反向代理。并且多臺服務器可以平均分擔負載,不會因為某臺服務器負載高宕機而某臺服務器閑置的情況。
??二、什么是虛擬主機
??虛擬主機技術是互聯(lián)網(wǎng)服務器采用的節(jié)省服務器硬件成本的技術,虛擬主機技術主要應用于HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)服務,將一臺服務器的某項或者全部服務內(nèi)容邏輯劃分為多個服務單位,對外表現(xiàn)為多個服務器,從而充分利用服務器硬件資源。
??虛擬主機是使用特殊的軟硬件技術,把一臺真實的物理服務器主機分割成多個邏輯存儲單元。每個邏輯單元都沒有物理實體,但是每一個邏輯單元都能像真實的物理主機一樣在網(wǎng)絡上工作,具有單獨的IP地址(或共享的IP地址)、獨立的域名以及完整的Internet服務器(支持WWW、FTP、E-mail等)功能。
??虛擬主機的關鍵技術在于,即使在同一臺硬件、同一個操作系統(tǒng)上,運行著為多個用戶打開的不同的服務器程式,也互不干擾。而各個用戶擁有自己的一部分系統(tǒng)資源(IP地址、文檔存儲空間、內(nèi)存、CPU等)。各個虛擬主機之間完全獨立,在外界看來,每一臺虛擬主機和一臺單獨的主機的表現(xiàn)完全相同。所以這種被虛擬化的邏輯主機被形象地稱為“虛擬主機”。
??三、基于IP的虛擬主機
??基于IP地址的虛擬主機原理:相同端口,相同域名,不同的IP地址;也就是說多個虛擬主機之間擁有相同的端口和域名,使用IP地址不同的方式區(qū)分不同虛擬主機,當然訪問的時候就需要使用不同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服務器的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ěn)定性高,配置簡單,模塊結構化,資源消耗低的優(yōu)點。同時支持反向代理、負載均衡、緩存的功能。其采用多進程+epoll(IO多路復用)模型,也對互聯(lián)網(wǎng)高并發(fā)連接業(yè)務有著很好的支持。小伙伴們要想獲得更多nginx虛擬主機的內(nèi)容,請關注新網(wǎng)!
聲明:免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,也不承認相關法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉載,或轉載時
需注明出處:新網(wǎng)idc知識百科