您的位置:首页 > 运维架构 > Nginx

配置Nginx的虚拟主机

2018-02-01 10:51 323 查看

一、基于ip地址的配置Nginx的虚拟主机

1、环境:一台Centos6的服务器,Nginx  ,只有一个网卡即一个实际Ip地址

2、先修改Centos6系统的IP地址的配置文件,配置一个虚拟的IP地址

     步骤:将ifcfg-eth0这个文件复制一份,新复制的文件名以 : 来取个别名

 命令: 进入到ifcfg-eth0这个文件的路劲下面

                           cd /etc/sysconfig/network-scripts

                           复制ifcfg-eth0配置文件

                           cp ifcfg-eth0/ ifcfg-eth0:1

                修改ifcfg-eth0:1配置文件          

                修改其中内容:DEVICE=eth0:1

                                        IPADDR=192.168.25.103

                重启Centos系统

3、修改Nginx的配置文件
      步骤:找到自己Nginx的安装路劲,进入到conf中编辑nginx.conf

                例如本人的路劲   cd  /usr/local/nginx/conf

                 编辑nginx.conf  vi nginx.conf

                 在这个配置文件中一个server就是表示一个虚拟主机,我们这里要配置两个nginx虚拟主机,所以主要写两个server配置即可    命令如下:

               server {

        listen       80;

        server_name  192.168.228.131;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html-131;

            index  index.html index.htm;

        }

    }

server {

        listen       80;

        server_name  192.168.228.141;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html-141;

            index  index.html index.htm;

        }

    }

            注意点:在配置server的时候在server_name 这处不能再写localhost了,全部要写完整的ip地址

4、可以看出在第三步的配置server的时候在root那处,我写了两个不同的root,所以我们要在nginx下的html复制两份名字要和server配置的一样

      cd /usr/local/nginx

      cp html/ html-131  -r

      cp html/ html-141  -r

5、重启nginx即可

      cd /usr/local/nginx/sbin

      ./nginx -s reload

二、基于端口配置nginx虚拟主机

1、修改Nginx的配置文件

      步骤:找到自己Nginx的安装路劲,进入到conf中编辑nginx.conf

                例如本人的路劲   cd  /usr/local/nginx/conf

                 编辑nginx.conf  vi nginx.conf

                 在这个配置文件中一个server就是表示一个虚拟主机,我们这里要配置两个nginx虚拟主机,所以主要写两个server配置即可    命令如下:

server {

        listen       81;

        server_name  192.168.228.131;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html-81;

            index  index.html index.htm;

        }

    }

server {

        listen       82;

        server_name  192.168.228.131;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html-82;

            index  index.html index.htm;

        }

    }
根据端口的不同配置nginx虚拟主机,在配置文件中的server中的listen就是端口,此时server_name这里的ip地址是要一样的

2、可以看出在第三步的配置server的时候在root那处,我写了两个不同的root,所以我们要在nginx下的html复制两份名字要和server配置的一样

      cd /usr/local/nginx

      cp html/ html-81  -r

      cp html/ html-82  -r

3、重启nginx即可

      cd /usr/local/nginx/sbin

      ./nginx -s reload

4、注意点:这里因为新配置了两个81和82的端口,在防火墙配置中没有放开这两个端口,所以我们只需要把防火墙关闭或者在防火墙的配置文件中添加这两个端口即可

三、利用不同的域名来配置nginx虚拟主机

1、利用域名来配置nginx虚拟主机,就要用到DNS服务器来解析不同域名和ip地址的映射关系,在没有DNS服务器的情况下我们可以在自己的本机上模拟dns的解析

2、模拟dns解析,修改本地的host文件,这个文件的路劲为  C:\Windows\System32\drivers\etc

      在这个host文件里写上IP地址和你自己需要的域名的对应关系

      例如:192.168.228.141 www.hayward.com

                192.168.228.141 www.dong.com

3、修改Nginx的配置文件

      步骤:找到自己Nginx的安装路劲,进入到conf中编辑nginx.conf

                例如本人的路劲   cd  /usr/local/nginx/conf

                 编辑nginx.conf  vi nginx.conf

                 在这个配置文件中一个server就是表示一个虚拟主机,我们这里要配置两个nginx虚拟主机,所以主要写两个server配置即可    命令如下:

server {

        listen       80;

        server_name  www.hayward.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html-www;

           
4000
index  index.html index.htm;

        }

    }

server {

        listen       80;

        server_name  www.dong.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html-dong;

            index  index.html index.htm;

        }

    }
4、可以看出在第三步的配置server的时候在root那处,我写了两个不同的root,所以我们要在nginx下的html复制两份名字要和server配置的一样

      cd /usr/local/nginx

      cp html/ html-www  -r

      cp html/ html-dong  -r

5、重启nginx即可
      cd /usr/local/nginx/sbin

      ./nginx -s reload
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx虚拟主机