若是有多个站点的时候,每个都要去配置server,很麻烦
而每个站点的目录我都是用项目命名的,我的域名为 jam00.com,假如我有两个项目 a,b,在目录 /wwwroot/ 下面
server 配置如下server{
listen 80;
server_name ~^(?.+).jam00.com;
index index.php index.html index.htm;
root /wwwroot/$predomain/;
include enable-php-pathinfo.conf;
}
这样,我访问,a.jam00.com 就是访问 /wwwroot/a/ 下面的这个项目,同理,b.jam00.com 就是 /wwwroot/b/
(?.+)
这里用了正则的命名捕获,将 .+ 匹配的内容赋给 predomain 这个变量,在 nginx 中就可以用 $predomain 访问这个变量
访问 a.jam00.com 这个项目的时候一直是 500 错误,我知道是代码错误,但是没有错误提示,找不到错误点
配置下 php-fpm.conferror_log = /wwwlogs/php-fpm_error.log
[www]
catch_workers_output = yes
重启 service php-fpm restart
再访问网站,查看 php-fpm_error.log ,有错误提示了,完美解决