Nginx配置虛擬主機
在nginx 安裝目錄下面找到
/nginx/conf/nginx.conf
文件修改它
1. 通過端口區分不同的虛擬主機
1.1 配置說明
# 一個server節點 就是一個虛擬主機
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html; #這個html是nginx安裝目錄下的html目錄
index index.html index.htm;
}
}
1.2 添加配置虛擬主機
- (1) 配置代碼示例
server {
listen 801;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
- (2) 注意事項
修改完成需要每次配置文件修改之後都需要重新加載配置文件
nginx -s reload
2. 通過域名區分不同的虛擬主機
2.1 名詞解釋
2.1.1 什麼是域名呢?
域名就是網站例如下面地址
- 百度
www.baidu.com
- 淘寶
www.taobao.com
- 京東商城
www.jd.com
2.1.2 一級域名/頂級域名? 如下所示類型
- 百度的頂級域名
baidu.com
- 京東的頂級域名
jd.com
一級域名又稱爲頂級域名,大家需要注意的是,www.lisp.com這種形式的域名並不是一級域名,它只是一個二級域名,也就是說www只是一個主機名
真正的一級域名是由一個合法的字符串+域名後綴組成,所以,lisp.com這種形式的域名纔是一級域名,lisp是域名主體,.com是域名後綴,可以是.net也是域名後綴
2.1.3 二級域名
所謂的二級域名實際就是一個一級域名下面的主機名,顧名思義,它是在一級域名前面加上一個字符串,比如asdx.lisp.com,它可以擁有與根頂級域名同樣的功能,並且通過設置,可以擁有和跟頂級域名完全一樣的功能 通常是如下所示的樣子
- 百度圖片的二級域名
image.baidu.com
- 京東商品服務的二級域名
item.jd.com
2.1.4 三級域名
同二級域名, 三級域名依附於二級域名之下的
- 給男裝圖片單獨分類的三級域名
nan.image.baidu.com
2.1.5 通過域名訪問網站流程說明
(圖片來自於網絡)
- (1) DNS服務器:
把域名解析爲ip地址。保存的就是域名和ip的映射關係,可以簡單的理解爲一個MAP<KEY,VALUE>的形式,一個域名對應一個ip地址,一個ip地址可以被多個域名綁定.
2.2 配置域名
- (1) 修改nginx 配置文件 如下:
# 這個等下可以訪問
server {
listen 80;
server_name www.taobao.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# 我們的需要代理到其他服務器,所以需要用到proxy_pass參數
proxy_pass http://www.baidu.com;
}
}
# 這個不可以訪問
server {
listen 80;
server_name www.baidu.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html-baidu;
index index.html index.htm;
}
}
-
(2) 我們可以通過 SwitchHost 修改本地host,修改後,需要切換到修改的host哦
-
(3) 驗證下 在瀏覽器輸入地址
http://www.taobao.com
-
(4) 驗證下 在瀏覽器輸入地址
http://www.baidu.com
好了! 到此Nginx配置虛擬主機結束 …