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