网站首页 > 精选教程 正文
把一个域名在DNS那边做了泛解析。理论上一个域名可以有N个二级域名。比如有域名abcdomain.com,然后要配置N个二级域名,配置文件要N个server配置:
server {
server_name abc.abcdomain.com;
root /home/abcdomain.com/abc;
index index.html index.php;
...
}
server {
server_name xyz.abcdomain.com
root /home/abcdomain.com/xyz;
index index.html index.php;
...
}
server {
server_name opq.abcdomain.com
root /home/abcdomain.com/opq;
index index.html index.php;
...
}
如果一个一个的去配置,麻烦不说,还会造成非常庞大的nginx配置文件,消耗了内存不说还会导致启动速度变慢。那么二级域名泛解析如何避免庞大的配置文件?nginx的server_name 的参数支持三种形式,可以是常量,就是直接域名字符串,也可以使用通配符,最重要的是可以使用正则表达式。
比如上面的这个我们可以配置成一个server:
server {
server_name ~^(?<subdomain>[a-z0-9]+)\.abcdomain.com;
root /home/abcdomain.com/$subdomain;
index index.html index.php;
...
}
如果是不想匹配所有的主域名和子域名
server {
server_name ~^(?<subdomain>[a-z0-9]+)\.(?<domain>[a-z0-9\-]+)\.(?<domext>[a-z]+);
root /home/$domain.$domext/$subdomain;
index index.html index.php;
...
}
但是,一定要注意,如果没做处理,php脚本收到的$_SERVER['SERVER_NAME' ]就这个正则表达式,你不是你认为的相应的域名,这会导致一系列的问题。那么如何让PHP可以获取到正确的域名呢?如果你使用的php-fpm,那么编辑/usr/local/nginx/conf/fastcgi_params(注意,你的环境不一定是这个文件)
#fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_NAME $subdomain.$domain.$domext; 或
#fastcgi_param SERVER_NAME $host;
理论上,使用$host也是不太可靠的,当然就目前主流的浏览器大部分应该是没问题的。
- 上一篇: 使用 Nginx 提供 DDNS 服务(中篇)
- 下一篇: Nginx总结(四)基于域名的虚拟主机配置
猜你喜欢
- 2024-10-03 Nginx 配置ipv6 nginx 配置IP替换
- 2024-10-03 Nginx服务器邮件服务配置示例 nginx 邮箱服务器
- 2024-10-03 Flask 应用程序Nginx高级配置 flask vue nginx
- 2024-10-03 搭建gitlab自定义域名 gitlab 域名
- 2024-10-03 Nginx总结(四)基于域名的虚拟主机配置
- 2024-10-03 Nginx重定向中把二级域名增加后缀
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)