nginx泛域名解析实现二级域名多域名
利用nginx泛域名解析配置二级域名和多域名
网站的目录结构为
html
├── bbs
└── www
html为nginx的安装目录下默认的存放源代码的路径。
bbs为论坛程序源代码路径
www为主页程序源代码路径
把相应程序放入上面的路径通过
http://www.youdomain.com 访问的就是主页
http://bbs.yourdomain.com 访问的就是论坛
其它二级域名类推。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
server { listen 80; server_name ~^(?<subdomain>.+).yourdomain.com$; root html/$subdomain; index index.html index.htm index.php; fastcgi_intercept_errors on; error_page 404 = /404.html; location / { # This is cool because no php is touched for static content. # include the "?$args" part so non-default permalinks doesn't # break when using query string try_files $uri $uri/ =404; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param domain $subdomain; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /.ht { deny all; } } |
总结一下步骤就是
1.把上面的红色配置换成你的域名后添加到你的nginx.conf配置文件
2.确认要增加的二级域名,如bbs.yourdomain.com
3.设置bbs.yourdomain.com解析到你的nginx服务器ip
4.在html目录下创建bbs目录
5.把源码放入bbs目录
6.重新加载nginx配置
kill -HUP cat /usr/local/lnmp/nginx/nginx.conf
(需要把上面命令的路径换成你的配置文件路径)
7.访问http://bbs.yourdomain.com
这样写会不会好一点
server_name ~^(.+).hackoops.com$;
set $domain $1;
~^(?<subdomain>.+) 这是正则表达式么?这个~表示啥?
正则匹配,(?<NAME>pattern),匹配的pattern,可以通过name变量访问
哎呀,这回我表示正则还没学透。谢谢呢。
~^ 这个是不是类似location中的~^?
server name "website/$subdomain" has suspicious symbols in /etc/nginx/sites-enabled/000:5
群里联系我试试
为什么这样写,nginx在server_name那边报错? nginx版本:1.2.7
把你的配置贴出来看看
新年马上到了,提前祝新年快乐,博客越办越好!