nginx 教程

nginx 虚拟主机配置(6)

2019-01-21  本文已影响107人  瓦力博客

获取全套nginx教程,请访问瓦力博客

这小节小菜将记录三种虚拟主机的配置,第一种是nginx虚拟主机单网卡多IP配置,第二种是nginx虚拟主机基于多端口配置,第三种是nginx虚拟主机基于多域名配置来实现
小菜将一一举例,企业中长用到的还是后两种方法。

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。创建好后路径视图

/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是本地回环网卡,一个是物理网卡。从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上监听不同的端口号,我们来直接修改端口号

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服务

在浏览器中输入域名查看

上一篇下一篇

猜你喜欢

热点阅读