linux – nginx:使用fastcgi的多个文档根

linux – nginx:使用fastcgi的多个文档根,第1张

概述在我的http指令中使用单个文档根时,一切正常.但是,我想添加一个带有附加指令的location指令,我无法使用fastcgi来处理这个额外的root(我在访问 http://localhost/sqlbuddy时会收到一个白页). 这是我的nginx.conf的摘录: server {root /home/tman/dev/project/trunk/data;index index.ph 在我的http指令中使用单个文档根时,一切正常.但是,我想添加一个带有附加指令的location指令,我无法使用fastcgi来处理这个额外的root(我在访问 http://localhost/sqlbuddy时会收到一个白页).

这是我的Nginx.conf的摘录:

server {root /home/tman/dev/project/trunk/data;index index.PHP;location /sqlbuddy {    root /srv/http;    index index.PHP;}location ~* \.PHP {    fastcgi_pass 127.0.0.1:9000;    include fastcgi.conf;}}

我的fastcgi.conf:

fastcgi_param  SCRIPT_filename    $document_root$fastcgi_script_name;fastcgi_param  query_STRING       $query_string;fastcgi_param  REQUEST_METHOD     $request_method;fastcgi_param  CONTENT_TYPE       $content_type;fastcgi_param  CONTENT_LENGTH     $content_length;fastcgi_param  SCRIPT_name        $fastcgi_script_name;fastcgi_param  REQUEST_URI        $request_uri;fastcgi_param  document_URI       $document_uri;fastcgi_param  document_ROOT      $document_root;fastcgi_param  SERVER_PROTOCol    $server_protocol;fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;fastcgi_param  SERVER_SOFTWARE    Nginx/$Nginx_version;fastcgi_param  REMOTE_ADDR        $remote_addr;fastcgi_param  REMOTE_PORT        $remote_port;fastcgi_param  SERVER_ADDR        $server_addr;fastcgi_param  SERVER_PORT        $server_port;fastcgi_param  SERVER_name        $server_name;# PHP only,required if PHP was built with --enable-force-cgi-redirectfastcgi_param  REDIRECT_STATUS    200;

Nginx的error.log和PHP-fpm的日志都没有显示任何错误.
我宁愿不把所有东西放在同一个文档根目录中.

解决方法 更改根时,需要设置第二个位置以传递给PHP:
server {  root /home/tman/dev/project/trunk/data;  index index.PHP;  # Use location ^~ to prevent regex locations from stealing requests  location ^~ /sqlbuddy {    root /srv/http;    # This location will handle requests containing .PHP within /sqlbuddy    # and will use the root set just above    location ~* \.PHP {      include fastcgi.conf;      fastcgi_pass 127.0.0.1:9000;    }  }  location ~* \.PHP {    include fastcgi.conf;    fastcgi_pass 127.0.0.1:9000;  }}

此外,除非您使用路径信息样式的网址,例如/index.PHP/foo/bar,否则您可能希望将.PHP更改为.PHP $以在uri的末尾锚定匹配.

总结

以上是内存溢出为你收集整理的linux – nginx:使用fastcgi的多个文档根全部内容,希望文章能够帮你解决linux – nginx:使用fastcgi的多个文档根所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1034239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存