如果laravel项目路径在/home/project/laravel目录下
则nginx配置如下.
location ~ \.php$ {
root /home/laravel/public/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
这样配置之后,输入127.0.0.1/即可访问laravel项目
但是这样不符合我的要求,,假如我在/home/laravel2/下面又建了一个laravel项目,那么我必须去修改nginx配置才能访问新项目,而且旧项目就不能访问了。
我想要的效果是类似如tomcat的webapps功能,只要我在这个路径下新建项目,那么我什么都不用做就可以访问。
首先要搞明白的是——nginx如何处理的php请求
其次——laravel是如何找到对应路由的。
- nginx代理php实际上也是一种反向代理,nginx将请求交给php-fpm;php-fpm处理了请求之后再交给nginx
- 与一般的nginx反代不同的是,php-fpm能够获取地址栏上的内容,而不是nginx反代之后的地址;因此laravel实际上也是