基于域名的虚拟主机
01.通过不同域名访问nginx虚拟主机:
- nginx通过server_name关键字来匹配不同的虚拟主机。
- server_name的值为域名,当客户端使用域名请求资源时,nginx会自上而下的匹配文件中所有的server下的server_name。
- server_name在整个nginx配置文件中是唯一的,重复则语法检测会失败。
- server_name可以有多个值,其用空格分隔。
- server_name后中使用default_server表示默认站点,当所有server_name都不能匹配,则返回默认站点。
- 如果所有的server_name都不能匹配,也没有默认站点,则返回自上而下的第一个server。
- server_name的值为域名,当客户端使用域名请求资源时,nginx会自上而下的匹配文件中所有的server下的server_name。
- vim /opt/Apps/nginx/conf/conf.d/main.conf,修改nginx配置文件,添加如下配置:
server {
listen 80;
server_name nginx.test.com;
error_log logs/nginx_test_error.log error;
access_log logs/nginx_test_access.log main gzip flush=5m;
location / {
root html/main;
index index.html index.htm index.php;
}
}
server {
listen 80;
server_name nginx-new.test.com;
error_log logs/nginx_test_new_error.log error;
access_log logs/nginx_test_new_access.log main gzip flush=5m;
location / {
root html/main-new;
index index.html index.htm index.php;
}
}
- echo “This is site nginx.test.com” > /opt/Apps/nginx/html/main/index.html,编辑站点nginx.test.com的主页文件。
- echo “This is site nginx-new.test.com” > /opt/Apps/nginx/html/main-new/index.html,编辑站点nginx-new.test.com的主页文件。
- /opt/Apps/nginx/sbin/nginx -s reload,重新加载配置文件。
- 编辑客户端本地的hosts文件,将两个域名都指向nginx:
10.1.32.200 nginx.test.com
10.1.32.200 nginx-new.test.com
- 使用这2个域名访问,测试虚拟主机的效果。
文档更新时间: 2020-03-12 19:10 作者:闻骏