nginx通用站点配置.conf(一个配置搞定所有站点)

long 2016-9-13 2495

server {
listen 80;
server_name ~^(?<subdomain>[a-z0-9\-]*?)\.(?<domain>[a-z0-9\-]*?\.(?:com|cn|net|org|gov|info|la|cc|co|hk)(?:\.(?:cn|jp))?)$;
root /www/webpub/$web_path;
index index.html index.htm index.php;
set $web_path $domain/$subdomain;

if ($subdomain = phpmyadmin) {
set $web_path phpmyadmin;
}

access_log /www/wwwlogs/$subdomain.$domain.log combined;

location ~ ^/.+\.php {
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
}

location ~ .*\.(js|css)?$ {
expires 1h;
}
}
智能配置,一个conf搞定所有站,已知问题:对没加www.的域名,如xxx.com无法访问,可以通过域名解析跳转到带www的域名。

几点说明:
(1)/www/webpub与/www/wwwlogs,网站目录与网站日志目录,改成你自己的。
(2)phpmyadmin为所有站点共用目录,解析二级域名或者本地改hosts指向phpmyadmin.xxx.com即可用phpmyadmin管理数据库。
(3)不支持不带www的域名访问,高手请完善下正则判断

最新回复 (1)
  • long 2016-9-13
    引用 2
    根目录(网站目录与日志目录):
    附件: 372

    站点列表目录:
    附件: 373

    单个站点目录(conf自动对应):
    附件: 374

    网站日志文件(根据域名):
    附件: 375
    上传的附件:
    • 0.jpg (大小:13.36K,下载次数:581)
    • 3.jpg (大小:11.36K,下载次数:553)
    • 2.jpg (大小:11.47K,下载次数:584)
    • 1.jpg (大小:16.71K,下载次数:548)
返回
发新帖