溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

一臺服務(wù)器上創(chuàng)建多個網(wǎng)站的方法

發(fā)布時間:2021-07-05 17:56:09 來源:億速云 閱讀:602 作者:chen 欄目:云計算

這篇文章主要講解了“一臺服務(wù)器上創(chuàng)建多個網(wǎng)站的方法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“一臺服務(wù)器上創(chuàng)建多個網(wǎng)站的方法”吧!

原理分析

本質(zhì)就是Nginx監(jiān)聽一臺服務(wù)器的80端口,使用不同的域名映射到不同的Linux文件目錄(站點發(fā)布的目錄)

首先就是多個域名可以解析到同一個ip地址。我們的虛擬主機技術(shù)就是利用這一點來實現(xiàn)的。一般情況下,我們標(biāo)識一個網(wǎng)站是通過網(wǎng)站的ip和端口以及網(wǎng)站項目名稱來標(biāo)識的。 在測試環(huán)境下,你可以通過修改成不同的端口,或者修改網(wǎng)站的項目名稱來實現(xiàn)在同一臺主機下部署多個網(wǎng)站。 但是在真正的生產(chǎn)環(huán)境下,我們的網(wǎng)站往往都是采用的80端口,而且都是不帶有網(wǎng)站目錄路徑的。這個時候就可以通過不同的域名來對網(wǎng)站加以區(qū)分了。具體的實現(xiàn)過程是這樣的,首先通過配置域名解析,將多個域名都解析到同一個主機ip,然后我們在該主機上通過配置來讓主機可以將來自不同域名的請求轉(zhuǎn)發(fā)給不同的網(wǎng)站程序去處理。主機會截獲到請求的請求頭信息,然后獲取到host這個請求頭的值,這個值也就是該請求的來源域名。主機根據(jù)所配置的域名與網(wǎng)站程序的對應(yīng)關(guān)系,將來自不同的域名的請求轉(zhuǎn)發(fā)給不同的程序去處理。

有了這個映射關(guān)系以后,那么主機在接到請求時,首先就會獲得該請求來在哪個域名,然后根據(jù)配置的域名到網(wǎng)站根目錄的對應(yīng)關(guān)系,將該請求轉(zhuǎn)發(fā)給對應(yīng)的網(wǎng)站根目錄去進(jìn)行處理。

這樣就實現(xiàn)了一個ip一個80端口上部署無窮多個網(wǎng)站的效果。


具體方案實現(xiàn)

其實很簡單,我們以阿里云服務(wù)器(這里有阿里云的最新優(yōu)惠活動,記得領(lǐng)券再買,節(jié)省一點是一點)為例。教大家用寶塔面板一鍵部署,輕松添加多個站點。(在步驟12)

什么是寶塔面板:寶塔Linux面板是提升運維效率的服務(wù)器管理軟件,支持一鍵LAMP/LNMP/集群/監(jiān)控/網(wǎng)站/FTP/數(shù)據(jù)庫/JAVA等100多項服務(wù)器管理功能。

使用代理轉(zhuǎn)發(fā)軟件。比如Nginx反向代理。以前我沒有了解Nginx的時候,也為這個問題苦惱很久。后面隨著知識的學(xué)習(xí),發(fā)現(xiàn)問題很簡單,解決方法也簡單,通過Nginx反向代理的方式的能解決你的問題。

就是利用Nginx共同監(jiān)聽同一臺云服務(wù)器的同一端口(80端口),然后通過不同的域名的方式代理轉(zhuǎn)發(fā),在云服務(wù)器下可以指定每個域名訪問特定的Linux文件目錄,每個文件目錄發(fā)布你的一個站點。這樣就一臺服務(wù)器就可以發(fā)布多個網(wǎng)站站點了。

server
{
    listen 80 default_server;
    server_name www.yundashi168.com;                  # 域名1
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/www.yundashi168.com/site1       # 站點1
   //以下代碼省略
}

server
{
    listen 80 default_server;
    server_name tencent.yundashi168.com;             #域名2  以此類推,你可以搭建無數(shù)個站點
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/tencent.yundashi168.com/site2      # 站點2
   //以下代碼省略
}

多個nginx配置文件可以分割

    
 #REWRITE-START URL重寫規(guī)則引用,修改后將導(dǎo)致面板設(shè)置的偽靜態(tài)規(guī)則失效
 include /www/server/panel/vhost/rewrite/www.yundashi168.com.conf;   #在總的配置文件里面引用站點1的配置文件

一臺服務(wù)器上創(chuàng)建多個網(wǎng)站的方法

如果你是純小白,不是很懂技術(shù),那建議使用寶塔面板,寶塔面板一鍵安裝部署Nginx軟件環(huán)境,不用你手工搭建,而且在使用上,也不用寫什么命令。只要會使用寶塔面板就可以了。

以前我是手工搭建nginx+mysql+php等運行環(huán)境,后臺為了省時間和精力,就直接用寶塔面板。然后寶塔面板就可以幫助我在一臺服務(wù)器上搭建多個網(wǎng)站。

至于能搭建幾個網(wǎng)站?完全取決于你服務(wù)器能承載多少個網(wǎng)站訪問量和資源消耗。如果你的云服務(wù)器配置很高,比如4核16G的配置,那就可以搭建幾十個小網(wǎng)站都沒有問題。當(dāng)然還得考慮帶寬問題。

寶塔面板搭建多個網(wǎng)站

如果你想?yún)⒖枷嚓P(guān)教程,那剛好我總結(jié)好了我以前建站寫的經(jīng)典教程。教你如何在一臺服務(wù)器上安裝多個網(wǎng)站站點。本質(zhì)是在寶塔面板上安裝LNMP(Linux+Nginx+Mysql+PHP)環(huán)境,利用nginx來實現(xiàn)。

具體教程:寶塔面板添加WordPress站點詳細(xì)圖文教程 (當(dāng)然你不一定要搭建WordPress程序,也可以是其它任何程序和網(wǎng)站系統(tǒng))

如果是你懂技術(shù)的,那么只要了解下Nginx,自己實現(xiàn)Nginx代理在服務(wù)器上部署多個網(wǎng)站,那完全沒有問題。

Nginx部署多個項目


整體流程遵循著一套核心概念

需求:將多個 WEB 項目,部署在一臺服務(wù)器上。并且每一個項目,都有一個自己的域名可以訪問。

解決方案:

  1. 購買云服務(wù)器,獲得 IP 地址

  2. 購買域名,并將多個二級域名解析到該 IP 地址上;(www.xxx.com->192.168.0.1;cms.xxx.com->192.168.0.1;abc.xxx.com->192.168.0.1)

  3. 利用 Docker 安裝 nginx,它運行在服務(wù)器的某一個端口上(我們自己指定)

  4. 利用 xshell 或者 finalshell 這種 SSH 軟件,將我們的項目傳輸?shù)缴弦徊桨惭b的 nginx 的靜態(tài)資源文件夾中,于是我們就可以用 192.168.0.1:90 這樣的「ip地址:端口號」的形式訪問到我們的「一個 WEB 項目」了

  5. 當(dāng)我們訪問一個地址如 192.168.0.1 時,我們默認(rèn)訪問的是它的 80 端口

  6. 于是我們可以用 docker 部署多個 nginx 在同一臺服務(wù)器的非 80 端口上,它們中都部署著不同的 WEB 項目,比如 192.168.0.1:90 中部署的是「官方網(wǎng)站」,192.168.0.1:100 中部署的是「網(wǎng)頁游戲」

  7. 最后我們部署一個 nginx 作為「反向代理服務(wù)器」在服務(wù)器的 80 端口上,在這個反向代理服務(wù)器配置「域名」與「ip:端口號」的對應(yīng)關(guān)系。(如下圖)

  8. 于是我們就可以通過不同域名,訪問同一個服務(wù)器上部署的不同項目了!就是這樣!

一臺服務(wù)器上創(chuàng)建多個網(wǎng)站的方法

感謝各位的閱讀,以上就是“一臺服務(wù)器上創(chuàng)建多個網(wǎng)站的方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對一臺服務(wù)器上創(chuàng)建多個網(wǎng)站的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI