nginx 配置虚拟主机,实现在一个服务器可以访问多个网站

在一台服务器上,访问不同的网站
通常有两种区分方式:
1.通过监听的端口号
2.通过域名

1.通过端口访问不同的主机:
Nginx的配置文件:
/usr/local/nginx/conf/nginx.conf

Centos文件默认编码格式 latin1
查看编码格式的命令: :set fileencoding

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


##一个http节点
http {   
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

  #server 节点,即 你需要访问网站的配置
  #一个server节点,就是一个虚拟主机

    server {
        listen       80;    #监听的端口号,访问网站  默认是80端口
        server_name  localhost;    #即访问的域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {    #定位
            root   html;    #定位的是nginx根目录下的 html文件夹
            index  index.html index.htm;    #设置网站首页
        }
    }
}

此时 可以配置多个server,也就是配置了不同的主机

添加虚拟主机:(通过端口号 区别)

    server {
        listen       81;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html-81;
   #nginx根目录下 新建的html81 文件夹
            index  index.html index.htm;
        ``

    }

编辑好文件之后,我们重新加载配置文件
通过命令: ./nginx -s reload

效果:
这里写图片描述
这里写图片描述

我们知道,当一个服务器上配置多个网站时,我们不可能通过端口号来区分它们,所以接下来 我需要通过域名来区分
2.通过域名区分不同的虚拟主机
什么是域名??
域名就是网址
例如:www.baidu.com
通常我们在访问域名的时候,我们需要通过dns服务器解析域名
Dns服务器:把域名解析为ip地址。保存的就是域名和ip的映射关系。
一个域名对应一个ip地址,一个ip地址可以被多个域名绑定。

本地测试可以修改hosts文件。
修改window的hosts文件:(C:\Windows\System32\drivers\etc)
可以配置域名和ip的映射关系,如果hosts文件中配置了域名和ip的对应关系,不需要走dns服务器!!!!

在刚刚的nginx.conf文件下 继续配置:

    server {
        listen       80;
        server_name  www.taobao.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html-taobao;
            index  index.html index.htm;
        }
    }
    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;
        }
    }
}

域名的配置:
192.168.25.148 www.test.com
192.168.25.148 www.yiyou.com

重启nginx服务

观察下效果:
这里写图片描述
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章