Nginx泛解析的匹配域名绑定到子目录配置
作者
网站的目录结构为:
- # tree /home/wwwroot/linuxeye.com
- /home/wwwroot/linuxeye.com
- ├── bbs
- │ └── index.html
- └── www
- └── index.html
- 2 directories, 2 files
/home/wwwroot/linuxeye.com为nginx的安装目录下默认的存放源代码的路径。
bbs为论坛程序源代码路径;www为主页程序源代码路径;把相应程序放入上面的路径通过;http://www.linuxeye.com 访问的就是主页http://bbs.linuxeye.com 访问的就是论坛,其它二级域名类推。
有2种方法,推荐方法一
方法一:
- server {
- listen 80;
- server_name ~^(?
.+).linuxeye.com$; - access_log /data/wwwlogs/linuxeye.com_nginx.log combined;
- index index.html 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 *.linuxeye.com;
- access_log /home/wwwlogs/linuxeye.com_nginx.log combined;
- index index.html index.htm index.php;
- if ($host ~* ^([^\.]+)\.([^\.]+\.[^\.]+)$) {
- set $subdomain $1;
- set $domain $2;
- }
- location / {
- root /home/wwwroot/linuxeye.com/$subdomain/;
- index index.php index.html 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下Redmine2.6配置
Apache下Redmine2.6配置,请参考://linuxeye.com/405.html,CentOS6.6下安装Redmi...
-
快速搭建NGINX-HTTPD-PHP-MySQL环境
Nginx作为反向代理,代理后端的httpd,httpd加载php模块解析php代码,mysql提供数...
-
让你的nginx支持php
-
nginx+php的配置与原理
-
错误解决:Nginx php-fpm 502 bad gateways
环境:Ubuntu16.04.2nginxversion:nginx/1.10.3(Ubuntu)p...
-
php有哪些运行环境?每个都有不同的特点,适合不同的系统
-
nginx和php-fpm通信,使用unix socket还是TCP
nginx和fastcgi的通信方式有两种,一种是TCP的方式,一种是unixsocke方式。两种方式各有优缺点,这里先给出...
-
Swoole 可以替代 Nginx 吗?
-
nginx+php的配置与原理详情学习,程序员必掌握
-
CentOS 8 安裝LNMP