【问题标题】:Nginx with multiple zend projectsNginx 与多个 zend 项目
【发布时间】:2012-07-29 01:36:05
【问题描述】:

我正在使用 Windows 上的 zend 框架为本地开发设置一个 nginx+php 网络服务器。 我通常只是在每个项目的 www 根目录中创建一个新文件夹,然后创建一个 conf 文件来进行项目重写。

这里的错误是我无法访问我的静态内容。当我尝试打开图像文件或 css 时,出现 500 错误。而且我也不认为我的项目配置是 100% 正确的.. :\

你们能帮帮我吗?

这些是我的配置文件:

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  HTTPS              $https if_not_empty;

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-redirect
fastcgi_param  REDIRECT_STATUS    200;

nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    keepalive_timeout  65;

    gzip  on;

    upstream php {
        server       localhost:8993;
        server       localhost:8994;
        server       localhost:8995;
        server       localhost:8996;
        server       localhost:8997;
        }

    server {
        listen       *;
        server_name_in_redirect  off;

        charset utf-8;

        location / {
            root   www;
            index  index.php index.html index.htm;
        }

        error_page   404              /404.html;
        location = /404.html {
        }

        location ~ \.php$ {
            root           www;
            try_files      $uri =404;
            fastcgi_pass   php;
            include        fastcgi.conf;
        }

        location ~ /\.ht {
            deny  all;
        }

        include sites/*.conf;
    }
}

示例项目配置

location /zproject {
    root www/zproject;
    try_files $uri $uri/ /zproject/index.php$is_args$args;
}

----- 更新(来自评论的请求)

来自 access.log

127.0.0.1 - - [31/​​Jul/2012:11:15:46 +0100] "GET /zproject/content/files/packs.png HTTP/1.1" 404 43648 "http://localhost/zproject" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11(KHTML,像 Gecko)Chrome/20.0.1132.57 Safari/536.11"

来自错误日志

2012/07/31 11:15:46 [错误] 53696#53724: *5 CreateFile() “D:\webserver/html/zproject/content/files/packs.png”失败(3:系统 找不到指定的路径),客户端:127.0.0.1,服务器:,请求: "GET /zproject/content/files/packs.png HTTP/1.1", 主机: "localhost", 推荐人:"http://localhost/zproject"

据我所知,他似乎在错误的位置寻找文件。 packs.png 的正确位置是:“D:\webserver/www/zproject/content/files/packs.png”而不是“D:\webserver/html/....”

【问题讨论】:

  • 你有任何你的 nginx 错误日志吗?
  • @JamesButler 更新了主要问题中的日志 :)

标签: zend-framework nginx rewrite


【解决方案1】:

好的,我只需要添加:root "D:\webserver\www";到主服务器配置。一切似乎都按预期工作:)

【讨论】:

    猜你喜欢
    • 2020-01-06
    • 2012-01-26
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多