Nginx根据目录自动生成二级域名

前言:
    每次创建二级域名如果都修改一次配置文件的话,项目多了会带来很多不必要的工作量,如果能够在一个web目录下创建一个文件夹并且自动生成文件目录的话,那真是极好的,本文就基于Nginx贴出这个配置文件.

实验环境(基于阿里云):

    阿里云CentOS-6.5

    domain.com 域名管理权限

正文:

    首先需要在域名管理处做一个泛解析 把*.domain.com 指向你自己的服务器的ip,然后在Nginx配置文件里面增加配置,这个配置还可以制作三级域名,例如*.demo.domain.com.

例子:
    web主目录下创建一个test的文件夹自动生成一个叫test.domain.com 的网址.

 

web目录 /web/data/www
主域名 domain.com

 

配置代码:

# domain.com
server {
listen 80;
server_name ~^(?<subdomain>.+)\.domain\.com$; charset utf-8;
access_log logs/domain.com.access.log main;
error_log logs/domain.com.error.log;
root /web/data/www/$subdomain;
index index.php index.html index.htm;
fastcgi_intercept_errors on;
error_page 404 = /404.html;
location / {
try_files $uri $uri/ =404;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1/ last;
break;
} }
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} location ~ .*\.php(\/.*)*$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
}
上一篇:利用密钥通过ssh互访


下一篇:JavaScript权威指南学习笔记6