Nginx 虛擬主機(jī)

  • 什么是虛擬主機(jī)
  • Nginx 配置文件的結(jié)構(gòu)
  • 基于 IP 的虛擬主機(jī)配置
  • 基于端口的虛擬主機(jī)配置
  • 基于域名的虛擬主機(jī)配置

什么是虛擬主機(jī)

虛擬主機(jī)是一種特殊的軟硬件技術(shù)晾腔,它可以將網(wǎng)絡(luò)上的每一臺(tái)計(jì)算機(jī)分成多個(gè)虛擬主機(jī),每個(gè)虛擬主機(jī)可以獨(dú)立對(duì)外提供 www 服務(wù)妓羊,這樣就可以實(shí)現(xiàn)一臺(tái)主機(jī)對(duì)外提供多個(gè) web 服務(wù)怎憋,每個(gè)虛擬主機(jī)之間是獨(dú)立的淌哟,互不影響的。

通過 Nginx 可以實(shí)現(xiàn)虛擬主機(jī)的配置拗小,Nginx 支持三種類型的虛擬主機(jī)配置

  • 基于 IP 的虛擬主機(jī)
  • 基于域名的虛擬主機(jī)
  • 基于端口的虛擬主機(jī)

Nginx 配置文件的結(jié)構(gòu)

# ...
events {
    # ...
}

http {
    # ...
    server{
        # ...
    }
    
    # ...
    server{
        # ...
    }
}

注:每個(gè) server 就是一個(gè)虛擬主機(jī)

基于 IP 的虛擬主機(jī)配置

Linux 操作系統(tǒng)允許添加 IP 別名,IP 別名就是在一塊物理網(wǎng)卡上綁定多個(gè) lP 地址樱哼。這樣就能夠在使用單一網(wǎng)卡的同一個(gè)服務(wù)器上運(yùn)行多個(gè)基于 IP 的虛擬主機(jī)哀九。

需求

  • 一臺(tái) Nginx 服務(wù)器綁定兩個(gè) IP:192.168.75.145、192.168.75.245
  • 訪問不同的 IP 請(qǐng)求不同的 HTML 目錄搅幅,即:
    • 訪問 http://192.168.75.145 將訪問 html145 目錄下的 html 網(wǎng)頁
    • 訪問 http://192.168.75.245 將訪問 html245 目錄下的 html 網(wǎng)頁

創(chuàng)建目錄及文件

/usr/local/docker/nginx/html 目錄下創(chuàng)建 html145html245 兩個(gè)目錄阅束,并分辨創(chuàng)建兩個(gè) index.html 文件

綁定多 IP

ifconfig ens33:0 192.168.75.245 broadcast 192.168.75.255 netmask 255.255.255.0

配置虛擬主機(jī)

修改 /usr/local/docker/nginx 目錄下的 nginx.conf 配置文件:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    
    keepalive_timeout  65;
    # 配置虛擬主機(jī) 192.168.75.145
    server {
    # 監(jiān)聽的ip和端口,配置 192.168.75.145:80
        listen       80;
    # 虛擬主機(jī)名稱這里配置ip地址
        server_name  192.168.75.145;
    # 所有的請(qǐng)求都以/開始茄唐,所有的請(qǐng)求都可以匹配此 location
        location / {
        # 使用 root 指令指定虛擬主機(jī)目錄即網(wǎng)頁存放目錄
        # 比如訪問 http://ip/index.html 將找到 /usr/local/docker/nginx/html/html145/index.html
        # 比如訪問 http://ip/item/index.html 將找到 /usr/local/docker/nginx/html/html145/item/index.html

            root   /usr/share/nginx/html145;
        # 指定歡迎頁面息裸,按從左到右順序查找
            index  index.html index.htm;
        }

    }
    # 配置虛擬主機(jī) 192.168.75.245
    server {
        listen       80;
        server_name  192.168.75.245;

        location / {
            root   /usr/share/nginx/html245;
            index  index.html index.htm;
        }
    }
}

基于端口的虛擬主機(jī)配置

需求

  • Nginx 對(duì)外提供 80 和 8080 兩個(gè)端口監(jiān)聽服務(wù)
  • 請(qǐng)求 80 端口則請(qǐng)求 html80 目錄下的 html
  • 請(qǐng)求 8080 端口則請(qǐng)求 html8080 目錄下的 html

創(chuàng)建目錄及文件

/usr/local/docker/nginx/html 目錄下創(chuàng)建 html80html8080 兩個(gè)目錄,并分辨創(chuàng)建兩個(gè) index.html 文件

配置虛擬主機(jī)

修改 /usr/local/docker/nginx 目錄下的 nginx.conf 配置文件:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    
    keepalive_timeout  65;
    # 配置虛擬主機(jī) 192.168.75.145
    server {
    # 監(jiān)聽的ip和端口沪编,配置 192.168.75.145:80
        listen       80;
    # 虛擬主機(jī)名稱這里配置ip地址
        server_name  192.168.75.145;
    # 所有的請(qǐng)求都以/開始呼盆,所有的請(qǐng)求都可以匹配此 location
        location / {
        # 使用 root 指令指定虛擬主機(jī)目錄即網(wǎng)頁存放目錄
        # 比如訪問 http://ip/index.html 將找到 /usr/local/docker/nginx/html/html145/index.html
        # 比如訪問 http://ip/item/index.html 將找到 /usr/local/docker/nginx/html/html145/item/index.html

            root   /usr/share/nginx/html80;
        # 指定歡迎頁面,按從左到右順序查找
            index  index.html index.htm;
        }

    }
    # 配置虛擬主機(jī) 192.168.75.245
    server {
        listen       8080;
        server_name  192.168.75.245;

        location / {
            root   /usr/share/nginx/html8080;
            index  index.html index.htm;
        }
    }
}

注意: 別忘記將容器的 8080 端口映射到宿主機(jī)蚁廓,否則無法訪問 8080 端口

基于域名的虛擬主機(jī)配置

需求

  • 兩個(gè)域名指向同一臺(tái) Nginx 服務(wù)器访圃,用戶訪問不同的域名顯示不同的網(wǎng)頁內(nèi)容
  • 兩個(gè)域名是 admin.ooqiu.com 和 service.ooqiu.com
  • Nginx 服務(wù)器使用虛擬機(jī) 192.168.75.145

配置 Windows Hosts 文件

  • 通過 host 文件指定 admin.ooqiu.com 和 service.ooqiu.com 對(duì)應(yīng) 192.168.75.145 虛擬機(jī):
  • 修改 window 的 hosts 文件:(C:\Windows\System32\drivers\etc)
image.png

創(chuàng)建目錄及文件

/usr/local/docker/nginx/html 目錄下創(chuàng)建 htmladminhtmlservice 兩個(gè)目錄,并分辨創(chuàng)建兩個(gè) index.html 文件

配置虛擬主機(jī)

user  nginx;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    server {
        listen       80;
        server_name  admin.ooqiu.com;
        location / {
            root   /usr/share/nginx/htmladmin;
            index  index.html index.htm;
        }

    }

    server {
        listen       80;
        server_name  service.ooqiu.com;

        location / {
            root   /usr/share/nginx/htmlservice;
            index  index.html index.htm;
        }
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纳令,一起剝皮案震驚了整個(gè)濱河市挽荠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌平绩,老刑警劉巖圈匆,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異捏雌,居然都是意外死亡跃赚,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門性湿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纬傲,“玉大人,你說我怎么就攤上這事肤频√纠ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵宵荒,是天一觀的道長(zhǎng)汁雷。 經(jīng)常有香客問我净嘀,道長(zhǎng),這世上最難降的妖魔是什么侠讯? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任挖藏,我火速辦了婚禮,結(jié)果婚禮上厢漩,老公的妹妹穿的比我還像新娘膜眠。我一直安慰自己,他們只是感情好溜嗜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布宵膨。 她就那樣靜靜地躺著,像睡著了一般粱胜。 火紅的嫁衣襯著肌膚如雪柄驻。 梳的紋絲不亂的頭發(fā)上狐树,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天焙压,我揣著相機(jī)與錄音,去河邊找鬼抑钟。 笑死涯曲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的在塔。 我是一名探鬼主播幻件,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蛔溃!你這毒婦竟也來了绰沥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤贺待,失蹤者是張志新(化名)和其女友劉穎徽曲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體麸塞,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秃臣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哪工。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奥此。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖雁比,靈堂內(nèi)的尸體忽然破棺而出稚虎,到底是詐尸還是另有隱情,我是刑警寧澤偎捎,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布蠢终,位于F島的核電站非洲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蜕径。R本人自食惡果不足惜两踏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望兜喻。 院中可真熱鬧梦染,春花似錦、人聲如沸朴皆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遂铡。三九已至肮疗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扒接,已是汗流浹背伪货。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钾怔,地道東北人碱呼。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像宗侦,于是被迫代替她去往敵國(guó)和親愚臀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Nginx有什么作用呢矾利? Ngnix作為一款高性能的HTTP服務(wù)器姑裂、反向代理服務(wù)器、電子郵件代理服務(wù)器男旗,主要有三方...
    JunChow520閱讀 3,136評(píng)論 1 14
  • linux運(yùn)維學(xué)習(xí)筆記:nginx系列之03:nginx虛擬主機(jī) 作者:周少言201年 月 日 星期 舶斧,于北京 聲...
    周少言閱讀 348評(píng)論 1 1
  • 編譯安裝nginx并軟連接 一件安裝nginx 一、實(shí)踐基于域名的虛擬主機(jī) 1剑肯、配置基于域名的nginx.conf...
    1220閱讀 1,022評(píng)論 0 0
  • 上一篇 Nginx 配置文件 Nginx 虛擬主機(jī)配置 ?虛擬主機(jī)是一種特殊的軟硬件技術(shù),它可以將一臺(tái)服務(wù)器分成多...
    fbckf閱讀 1,767評(píng)論 1 2
  • 學(xué)習(xí)完整課程請(qǐng)移步 互聯(lián)網(wǎng) Java 全棧工程師 本節(jié)視頻 【視頻】Dubbo 實(shí)現(xiàn)微服務(wù)架構(gòu)-使用 Nginx ...
    擼帝閱讀 346評(píng)論 0 7