这里有新鲜出炉的Nginx中文文档,程序狗速度看过来!
Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
这篇文章主要给大家介绍了关于Nginx泛解析到子目录后自动判断有无public目录的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来跟着小编一起学习学习吧。
前言
我们大家在配置本地 PHP 开发环境时,除非是在 Windows 下,否则我都是偏向于 Nginx + PHP-FPM, 即使 Mac 下已经有了自带的 Apache+PHP 环境,依然如此。一方面是因为 Mac 自带的 PHP 版本不够新(5.6.x),另一方面,Nginx + PHP-FPM 更接近于我的生产服务器环境,而且也方便用 Homebrew 来管理版本和扩展。
在 Mac 下开发 Laravel, 官方提供了 valet, 可以方便地把子目录映射为虚拟主机,但我在使用的时候,遇到一些问题:
于是我只保留了 dnsmasq 来管理特定后缀的域名(实现自动解析),然后放弃了 valet,自己做了一个泛解析绑定到本地子目录的配置。
具体配置如下(域名是 *.app):
- server {
- listen 80;
- server_name~ ^ ( ? <subdomain > . + ).app$;
- set $root / Users / kairee / Sites / $subdomain;
- if ( - d "/Users/kairee/Sites/$subdomain/public") {
- set $root / Users / kairee / Sites / $subdomain / public;
- }
- root $root;
- charset utf - 8;
- client_max_body_size 128M;
- index index.php;
- location / {
- try_files $uri $uri / /index.php$is_args$args;
- }
- access_log off;
- location ~ \.php\?? {
- fastcgi_split_path_info ^(.+\.php)(/. + ) $;
- fastcgi_pass unix: /tmp/php.sock;
- fastcgi_index index.php;
- include fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- }
- location~ / \.ht {
- deny all;
- }
- }
采用这个配置以后:
我虽然只是用于 mac/linux, 但实际上 Windows 下当然也是可以的,如果你在 Windows 下也使用 Nginx 的话。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对PHPERZ的支持。
来源: http://www.phperz.com/article/17/0912/345262.html