亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

nginx如何配置虛擬主機

發布時間:2021-07-12 09:13:19 來源:億速云 閱讀:168 作者:chen 欄目:開發技術

本篇內容介紹了“nginx如何配置虛擬主機”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

虛擬主機使用的是特殊的軟硬件技術,它把一臺運行在因特網上的服務器主機分成一臺臺“虛擬”的主機,每臺虛擬主機都可以是一個獨立的網站,可以具有獨立的域名,具有完整的Intemet服務器功能(WWW、FTP、Email等),同一臺主機上的虛擬主機之間是完全獨立的。從網站訪問者來看,每一臺虛擬主機和一臺獨立的主機完全一樣。

nginx如何配置虛擬主機

利用虛擬主機,不用為每個要運行的網站提供一臺單獨的Nginx服務器或單獨運行一組Nginx進程。虛擬主機提供了在同一臺服務器、同一組Nginx進程上運行多個網站的功能。

配置虛擬主機有三種方法:

  • 基于域名的虛擬主機 : 不同的域名、相同的IP(此方式應用最廣泛)

  • 基于端口的虛擬主機 : 不使用域名、IP來區分不同站點的內容,而是用不同的TCP端口號

  • 基于IP地址的虛擬主機 : 不同的域名、不同的IP ( 需要加網絡接口 ,應用的不廣泛) 基于IP地址

nginx如何配置虛擬主機

方式一:多網卡多IP

兩個物理網卡,兩個IP

# 兩張物理網卡ens32和ens34
[root@nginx network-scripts]# ifconfig ens32 | awk 'NR==2 {print $2}'  
192.168.126.41

[root@nginx network-scripts]# ifconfig ens34 | awk 'NR==2 {print $2}'  
192.168.126.42

編輯配置文件,基于每個IP創建一個虛擬主機

# 為防止 /etc/nginx/conf.d/default.conf 配置文件影響,對其進行重命名
[root@nginx ~]# mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default	 

[root@nginx ~]# vim /etc/nginx/conf.d/ip.conf
# ens32網卡對應的虛擬主機
server {
  listen 192.168.126.41:80;

  location / {
    root /ip_ens32;
    index index.html;
  }
}

# ens34 網卡對應的虛擬主機
server {
  listen 192.168.126.42:80;

  location / {
    root /ip_ens34;
    index index.html;
  }
}

創建虛擬主機的網頁文件目錄及文件

[root@nginx ~]# mkdir /ip_ens32
[root@nginx ~]# mkdir /ip_ens34

[root@nginx ~]# echo "ens32" > /ip_ens32/index.html
[root@nginx ~]# echo "ens34" > /ip_ens34/index.html

檢查配置文件的語法

[root@nginx ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重載nginx服務

[root@nginx ~]# systemctl reload nginx

測試

[root@nginx ~]# curl 192.168.126.41
ens32
[root@nginx ~]# curl 192.168.126.42
ens34

nginx如何配置虛擬主機nginx如何配置虛擬主機

方式二:單網卡多IP

為一個物理網卡配置多個ip

ip addr add IP/MASK dev 網卡名

# 刪除
ip addr del IP/MASK dev 網卡名

其余步驟同上面多網卡多IP的配置

基于端口

nginx如何配置虛擬主機

多使用于公司內部,無法使用域名或沒有域名時

配置

[root@nginx ~]# vim /etc/nginx/conf.d/port.conf
server {
  listen 81;

  location / {
    root /port_81;
    index index.html;
  }
}

server {
  listen 82;

  location / {
    root /port_82;
    index index.html;
  }
}

[root@nginx ~]# mkdir /port_{81..82}
[root@nginx ~]# echo "81" > /port_81/index.html
[root@nginx ~]# echo "82" > /port_82/index.html

[root@nginx ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@nginx ~]# systemctl reload nginx

測試

[root@nginx ~]# curl 192.168.126.41:81
81
[root@nginx ~]# curl 192.168.126.41:82
82

nginx如何配置虛擬主機nginx如何配置虛擬主機

基于域名

nginx如何配置虛擬主機

配置

一般一個域名對應一個配置文件,便于管理

[root@nginx ~]# vim /etc/nginx/conf.d/test1.dxk.com.conf
server {
  listen 80;
  server_name test1.dxk.com;

  location / {
    root /test1;
    index index.html;
  }
}

[root@nginx ~]# vim /etc/nginx/conf.d/test2.dxk.com.conf
server {
  listen 80;
  server_name test2.dxk.com;

  location / {
    root /test2;
    index index.html;
  }
}

[root@nginx ~]# mkdir /test{1..2}
[root@nginx ~]# echo "test1" > /test1/index.html
[root@nginx ~]# echo "test2" > /test2/index.html

[root@nginx ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@nginx ~]# systemctl reload nginx

測試

# 配置域名解析
[root@nginx ~]# echo -e "192.168.126.41 test1.dxk.com\n192.168.126.41 test2.dxk.com" >> /etc/hosts
[root@nginx ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.126.41 test1.dxk.com
192.168.126.41 test2.dxk.com

[root@nginx ~]# curl test1.dxk.com
test1
[root@nginx ~]# curl test2.dxk.com
test2

nginx如何配置虛擬主機
nginx如何配置虛擬主機
nginx如何配置虛擬主機

這里有個問題:

如果在配置域名解析時由于寫錯了,那么訪問該錯誤域名(未配置該錯誤域名的虛擬主機)時竟然還會返回網頁內容。

[root@nginx ~]# vim /etc/hosts
192.168.126.41 test1.dxk.com
192.168.126.41 test3.dxk.com   # 這里本應該是 test2.dxk.com ,但是由于寫錯了,而且對應test3.dxk.com域名的虛擬主機并不存在

訪問該錯誤域名

[root@nginx ~]# curl test3.dxk.com
test1

# 可以看到,還是會返回網頁信息

因為在配置域名解析時,雖然域名寫錯了,但是IP是對的,那么此時服務端默認會返回滿足是該IP且端口為80的排在第一個的虛擬主機的網頁信息給客戶端

[root@nginx ~]# ll /etc/nginx/conf.d/
-rw-r--r--. 1 root root  112 Jul  3 21:23 test1.dxk.com.conf
-rw-r--r--. 1 root root  112 Jul  3 21:22 test2.dxk.com.conf

這是需要注意的

“nginx如何配置虛擬主機”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

墨江| 灵宝市| 隆林| 冀州市| 芦溪县| 峡江县| 台安县| 都兰县| 乳山市| 中超| 青岛市| 晋州市| 玛曲县| 巩义市| 和政县| 五河县| 高州市| 榆中县| 元阳县| 乌鲁木齐市| 花莲县| SHOW| 高雄县| 大化| 赫章县| 丹凤县| 弥勒县| 揭东县| 封丘县| 双辽市| 广宗县| 长宁县| 郯城县| 丰原市| 高青县| 尼勒克县| 柳江县| 健康| 清丰县| 华坪县| 广饶县|