网站的目录结构为:
# tree /home/wwwroot/exehack.net
/home/wwwroot/exehack.net
├── bbs
│ └──
└── www
└──
2 directories, 2 files
/home/wwwroot/exehack.net为nginx的安装目录下默认的存放源代码的路径。
bbs为论坛程序源代码路径;www为主页程序源代码路径;把相应程序放入上面的路径通过;http://www.exehack.net 访问的就是主页http://bbs.exehack.net 访问的就是论坛,其它二级域名类推。
有2种方法,推荐方法一
server { listen 80; server_name ~^(?<subdomain>.+).exehack.net$; access_log /data/wwwlogs/exehack.net_nginx.log combined; index index.htm index.php; root /home/wwwroot/linuxeye/$subdomain/; 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 ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 7d; } }
方法二、
server { listen 80; server_name *.exehack.net; access_log /home/wwwlogs/exehack.net_nginx.log combined; index index.htm index.php; if ($host ~* ^([^\.]+)\.([^\.]+\.[^\.]+)$) { set $subdomain $1; set $domain $2; } location / { root /home/wwwroot/exehack.net/$subdomain/; index index.php index.htm; } 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 ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 7d; } }
nginx将泛解析的匹配域名绑定到子目录的配置方法如下
if ($host ~* ^([^\.]+)\.([^\.]+\.[^\.]+)$) {
set $subdomain $1;
set $domain $2;
}
location / {
root /home/wwwroot/$domain/$subdomain/;
index index.php index.htm;
#include /home/wwwroot/$domain/$subdomain/.ngx.htaccess;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /home/wwwroot/$domain/$subdomain/;
fastcgi_pass 127.0.0.1:9100;
fastcgi_index index.php;
fastcgi_param script_filename $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
如对本文有疑问, 点击进行留言回复!!
Nginx服务500:Internal Server Error原因之一
nginx禁止直接通过ip进行访问并跳转到自定义500页面的操作
网友评论