场景介绍:
因为业务需求,我们需要对域名进行解析,这里我对域名进行了如下解析
但是,因为业务需求,我可能在nginx中只定义了kuman.xiaobudiu.top 和 www.xiaobudiu.top 的相应server的子配置文件,如图
那么问题来了,怎么才能让其余已经解析的域名访问时,不会出现空白或是报错页面呢
这时,我们就需要应用到一个参数default_server,让所有已经解析,但是在nginx中没有对应server配置的域名默认访问到我们设置的带default_server参数的server。
配置文件示例:
server { listen 80 default_server; server_name www.xiaobudiu.top; charset utf-8; error_log /etc/nginx/logs/error/www.xiaobudiu.top.log error; access_log /etc/nginx/logs/access/www.xiaobudiu.top.log main; root /data/www; index index.html index.htm index.php; location /favicon.ico { log_not_found off; access_log off; }location ~ \.php$ { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }location ~ /\.ht { deny all; }}
这样,当我访问www.xiaobudiu.top 和kuman.xiaobudiu.top 时,就会访问到对应server设置的路径,而访问test.xiaobudiu.top 和 test.up.xiaobudiu.top域名时,就会默认访问www.xiaobudiu.top网站