VPS侦探论坛

 找回密码
 注册
查看: 4288|回复: 10

nginx虚拟目录绑定并可执行php问题。

[复制链接]
发表于 2016-6-2 17:55:49 | 显示全部楼层 |阅读模式

想把xxx.com/test   这个路径映射到/home/wwwroot/default/目录下并能执行php可是网上的配置都不能在lnmp里面生效。
比如
location /test/ {

           alias  /home/wwwroot/default;
            index           index.php;
           

            location ~ .php$ {
                expires        epoch;
                fastcgi_pass   unix:/tmp/php-cgi.sock;
                fastcgi_index  index.php;
                include        fastcgi.conf;
                fastcgi_param  SCRIPT_FILENAME    /home/wwwroot/default$fastcgi_script_name;
            }

            location ~ .(jpg|jpeg|gif|png|ico)$ {
                access_log  off;
                expires     33d;
            }

        }




该如何配置呢?
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2016-6-2 18:59:27 | 显示全部楼层


location /test {
alias /home/wwwroot/test/;
index index.html index.php;
}

location ~ /test/.+\.php$ {
rewrite /test/(.+\.php) /$1 break;
fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /home/wwwroot/test/$fastcgi_script_name;
include  fastcgi_params;
}

用了军哥的这个配置也不行,html可以解析,但是无法识别php,提示No input file specified.
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2016-6-2 20:16:59 | 显示全部楼层

参考:https://bbs.vpser.net/viewthread.php?tid=13616&page=1&fromuid=3#pid41706

如果alias目录不在 该虚拟主机的root 目录内,必须要同时必须要删掉该虚拟主机目录下的.user.ini
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2016-6-3 08:41:33 | 显示全部楼层



还是一样放在alias下面的html可以解析,而放在alias下php显示404。alias下并没有ini文件。
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2016-6-3 09:13:15 | 显示全部楼层

回复 4# 的帖子


上面的就是完整的例子不行肯定你那边配置有问题

上面也没说是alias目录,上面说的是虚拟主机目录

军哥运维代购:http://shop63846532.taobao.com/

 楼主| 发表于 2016-6-3 09:34:52 | 显示全部楼层

我server没有root   /目录是反向代理过去的其他所有的都是lnmp1.2自带的没改过

你看下现在的配置 test这个目录 html可以执行 但是访问 php404
  1. server{
  2. listen 80;
  3. server_name xxx.com www.xxx.com;



  4. location ^~ /test/ {
  5. alias /home/wwwroot/default/test/;
  6. include enable-php2.conf;
  7. }



  8. location / {
  9. proxy_connect_timeout 300s;
  10. proxy_send_timeout   900;
  11. proxy_read_timeout   900;
  12. proxy_buffer_size    32k;
  13. proxy_buffers     4 32k;
  14. proxy_busy_buffers_size 64k;
  15. proxy_redirect     off;
  16. proxy_hide_header  Vary;
  17. proxy_set_header   Accept-Encoding 'gzip';
  18. proxy_set_header   Host   $host;
  19. proxy_set_header   Referer $http_referer;
  20. proxy_set_header   Cookie $http_cookie;
  21. proxy_set_header   X-Real-IP  $remote_addr;
  22. proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  23. proxy_pass http://127.0.0.1:8081;

  24. }

  25. location /static/ {
  26.      root /root/static/;
  27. }

  28. }
复制代码
 楼主| 发表于 2016-6-3 10:56:10 | 显示全部楼层

error.log显示。directory index of " " is forbidden
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2016-6-3 15:33:30 | 显示全部楼层

回复 7# 的帖子


你重启nginx了没,上面的配置绝对没问题

如果没index文件及index的设置肯是403 forbidden
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2016-6-3 17:40:41 | 显示全部楼层

回复 8# 的帖子



奇了怪了 alias下面放了index.php和index.html
访问 www.xxx.com/test/index.php 提示404
访问 www.xxx.com/test/index.html可以成功

也就是说无法找到php并进行解析,其他的文件都可以访问。
不知道nginx里面用什么log可以看php有没有成功执行呢?

军哥救我。。

[ 本帖最后由 yestop 于 2016-6-3 18:00 编辑 ]

军哥运维代购:http://shop63846532.taobao.com/

发表于 2016-6-4 11:53:28 | 显示全部楼层

回复 9# 的帖子




你发的配置我测试过正常解析php

8楼说了,不只是有index文件就行
 楼主| 发表于 2016-6-4 22:35:26 | 显示全部楼层

好吧,虽然不是特别明白但 index文件我设置了,问题是我完整地址访问index.php现在是404error,而能完整地址访问index.html,文件都在同一个alias下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-11-17 08:36 , Processed in 0.028720 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表