这里介绍的是如何让Nginx实现基于域名的虚拟主机
其中的原理是一个ip地址可以绑定多个域名,一个域名只能绑定一个ip地址,我们每次上网时输入域名,例如上百度网站,www.baidu.com其实是先到DNS服务器里解析域名,返回用户一个ip地址,然后通过ip地址访问网站。
以下是详解图
可以通过ping查看域名的地址
因为没买那么多域名,所以就修改window下的host文件,匹配域名和ip地址
修改window的hosts文件:(C:\Windows\System32\drivers\etc) 需要管理员权限才能修改
这里介绍一个很方便应用来修改host文件 SwitchHosts 底下有下载链接
运行时也需要以管理员身份运行(win8以上)
可以添加不同的方案,右下角为应用此方案
图中 ip地址为我虚拟机的ip地址,后面是设置的两个域名
再看nginx的配置文件
#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 {
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 {
listen 80;
server_name www.xiaoyin.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html-xiaoyin;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.xiaoxian.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html-xiaoxian;
index index.html index.htm;
}
}
}
配置文件中有两个server代表来个服务,配置了不同的域名,其中指向的根目录也不相同(主要是首页的标题修改了一下)
开启nginx服务 查看一下效果
这是域名为 www.xiaoyin.com的首页
这是域名为 www.xiaoxian.com的首页
SwitchHosts的下载链接http://download.csdn.net/download/xzk821648509/9992639