由于日后还有建设主站的想法,所以决定将博客的地址设置到blog的二级域名上,这里涉及到Nginx的泛域名解析的问题,尝试了很多种方法、折腾了半天,好多次配置错误导致Nginx启动失败,最后终于弄好了。过程如下:
将"blog"二级域名引导到博客,将"www"二级域名引导到主站,需要在Nginx的html文件夹下分别创建"www"和"blog"两个文件夹。然后在Nginx的配置文件("/etc/nginx/sites-available/default")中设置"server_name"配置项。
将配置文件中这两行内容(顺序可能会不一致,两句也不是连在一起的,根据你的情况来,找到了修改即可)
root /var/www/html;
server_name _;
改为(记得把"yourdomain"修改为你的域名)
if ($subdomain = ''){ #判断二级域名是非为空
set $subdomain www; #将空的二级域名设置为默认的“www”
} #如果不设置,Nginx将会返回404
root /var/www/html/$subdomain; #设置网站根目录为以二级域名为名字的目录
server_name ~^(?<subdomain>.+).yourdomain.com$;
因为我不太确定直接在代码中写中文注释复制进配置文件中会发生什么事情,所以我建议复制进去之前先删除中文注释。然后在html文件夹下创建这两个目录,然后将程序文件放进去。以后还想增加解析别的二级域名也直接创建对应的目录即可,无需再次配置。
欢迎关注字节莫的微信公众号,探讨更多技术、人文的思考,一起进步!
本文首发于「字节莫的个人博客」,欢迎前往交流!