nginx 虛擬主機配置(6)

獲取全套nginx教程,請訪問瓦力博客

這小節(jié)小菜將記錄三種虛擬主機的配置,第一種是nginx虛擬主機單網卡多IP配置,第二種是nginx虛擬主機基于多端口配置,第三種是nginx虛擬主機基于多域名配置來實現(xiàn)
小菜將一一舉例,企業(yè)中長用到的還是后兩種方法。

nginx -t -c /etc/nginx/nginx.conf #命令了檢測語法

nginx -s reload -c /etc/nginx/nginx.conf #重啟配置

nginx -s stop -c /etc/nginx/nginx.conf #停止nginx服務

nginx -c /etc/nginx/nginx.conf #重啟nginx服務

開始之前先做點準備工作,輸入

cd /usr/share/nginx/html

在該目錄下面我們建兩個文件夾server1server2,在文件建里面分別建index.html,內容為

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body>

<h1>服務器server1</h1>

</body>
</html>

將index.html中的server1修改為server2。創(chuàng)建好后路徑視圖

/usr/share/nginx/html
|
|--server1
|   |--index.html
|
|--server2  
    |--index.html

進入nginx配置,將默認的default.conf拷貝兩份,分別命名為server1.confserver2.conf

cd /etc/nginx/conf.d

cp default.conf server1.conf 

cp default.conf server2.conf 

1.單網卡多IP配置

查看本機ip

# ip a

輸入信息

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:3e:0c:3f:85 brd ff:ff:ff:ff:ff:ff
    inet 172.19.139.239/20 brd 172.19.143.255 scope global eth0
       valid_lft forever preferred_lft forever

可以看出有兩個網卡,一個是lo是本地回環(huán)網卡,一個是物理網卡。從172.19.139.239/20 brd 172.19.143.255地址段中可添加ip,添加ip前先ping一下,防止和本地ip沖突

ping 172.19.139.240

ping不通時,說明未和本地ip沖突,然后添加到本地設備,由于我的機器本地設備是eth0

ip a add 172.19.139.240/20 dev eth0

添加好ip之后查看下

ip a

輸入信息

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:3e:0c:3f:85 brd ff:ff:ff:ff:ff:ff
    inet 172.19.139.239/20 brd 172.19.143.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 172.19.139.240/20 scope global secondary eth0
       valid_lft forever preferred_lft forever

我們看到172.19.139.240/20就被添加上去,然后切換到nginx配置目錄

cd  /etc/nginx/conf.d

vim server1.conf
#這里我們只修改兩處地方

#將原來的listen  80 修改為 listen      172.19.139.240:80;
listen      172.19.139.240:80;
#將原來指向的目錄root   /usr/share/nginx/html 修改為 root   /usr/share/nginx/html/server1;
root   /usr/share/nginx/html/server1;

server2.conf文件和server1.conf修改的地方一樣,只不過ip和文件路徑指定不同。修改好后,重啟nginx服務就可以了

nginx -s stop -c /etc/nginx/nginx.conf   #停止nginx服務


nginx -c /etc/nginx/nginx.conf           #重啟nginx服務

在虛擬機里是可以訪問的,但是小菜我用的是阿里云服務器,阿里云服務器對外的訪問ip是一個。單網卡虛擬主機配置在阿里云服務器上不能訪問。

2.單ip多端口配置

ip多端口配置這個很好理解,就是在nginx上監(jiān)聽不同的端口號,我們來直接修改端口號

cd /etc/nginx/conf.d


vim server1.conf
#將原來的listen      172.19.139.240:80修改為 listen  80 ;
listen    80;
vim server2.conf
listen    9000;

修改完成后

nginx -s stop -c /etc/nginx/nginx.conf   #停止nginx服務


nginx -c /etc/nginx/nginx.conf           #重啟nginx服務

因為我們之前配置了兩個應用server1server2,所以這里我們只修改端口號就可以了。然后在阿里云安全組設置允許9000端口通過就可以了。

ssl

ssl

ssl

3.多域名配置

多端口配置虛擬主機配置完成,最后來配置多域名。自己去阿里云域名購買域名(域名是要備案的),小菜這里有兩個域名walidream.comyagm.xin,正好可以用來演示。

cd /etc/nginx/conf.d

vim server1.conf
listen    80;
server_name  walidream.com;

將server1.conf配置好后,修改同樣的key

vim server2.conf
listen    80;
server_name  yagm.xin;

修改完成后

nginx -s stop -c /etc/nginx/nginx.conf   #停止nginx服務


nginx -c /etc/nginx/nginx.conf           #重啟nginx服務

在瀏覽器中輸入域名查看

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容