nginx&x2B的Vhost设置;symfony2+;hhvm

nginx&x2B的Vhost设置;symfony2+;hhvm,symfony,nginx,hhvm,puphpet,Symfony,Nginx,Hhvm,Puphpet,我找不到任何人清楚地解释symfony2的vhost应该如何设置,这是我第一次使用puphpet、nginx和hhvm。希望你们中的一些人能帮助我 我可以很容易地浏览redwood.thomas.dev/app.php或redwood.thomas.dev/app_dev.php,它可以正常工作,但一旦我转到实际的url redwood.thomas.dev/app.php/login,它就会停止工作。另外,如果我转到address.dev,我会得到一个文件概述,而不是索引文件(app.php)

我找不到任何人清楚地解释symfony2的vhost应该如何设置,这是我第一次使用puphpet、nginx和hhvm。希望你们中的一些人能帮助我

我可以很容易地浏览redwood.thomas.dev/app.php或redwood.thomas.dev/app_dev.php,它可以正常工作,但一旦我转到实际的url redwood.thomas.dev/app.php/login,它就会停止工作。另外,如果我转到address.dev,我会得到一个文件概述,而不是索引文件(app.php)

puphpet设置我尝试了几种变体,我发布了这一个,因为它适用于旧的Yii应用程序

            location_redwood_1:
                location: /
                autoindex: 'off'
                internal: false
                try_files:
                    - $uri
                    - $uri/
                    - /app.php$is_args$args
                fastcgi: ''
                fastcgi_index: ''
                fastcgi_split_path: ''
            location_redwood_2:
                location: '~ \.php$'
                autoindex: 'off'
                internal: false
                try_files:
                    - $uri
                    - $uri/
                    - /app.php$is_args$args
                fastcgi: '127.0.0.1:9000'
                fastcgi_index: app_dev.php
                fastcgi_split_path: '^(.+\.php)(/.*)$'
                fast_cgi_params_extra:
                    - 'SCRIPT_FILENAME $request_filename'
                    - 'APP_ENV dev'
它将导致以下配置:

     server {
       listen                *:80;

       server_name           redwood.thomas.dev www.redwood.thomas.dev;
       client_max_body_size 1m;

       root /var/www/redwood/web;
         index  app.php app_dev.php;

       access_log            /var/log/nginx/nxv_8kzrp075w1ra.access.log;
       error_log             /var/log/nginx/nxv_8kzrp075w1ra.error.log;

       location ~ \.php$ {

         root  /var/www/redwood/web;
         fastcgi_index app_dev.php;
         fastcgi_split_path_info ^(.+\.php)(/.*)$;
         try_files $uri $uri/ /app.php$is_args$args;
         include /etc/nginx/fastcgi_params;
         fastcgi_pass 127.0.0.1:9000;

         fastcgi_param SCRIPT_FILENAME $request_filename;
         fastcgi_param APP_ENV dev;

       }
       location / {

         root  /var/www/redwood/web;
         try_files $uri $uri/ /app.php$is_args$args;
          autoindex on;
         index  index.html index.htm index.php;


       }
       sendfile off;
     }

经过多次尝试,我确定了这个配置,似乎是工作。希望它能帮助别人

    nxv_8kzrp075w1ra:
        server_name: redwood.thomas.dev
        server_aliases:
            - www.redwood.thomas.dev
        www_root: /var/www/redwood/web
        listen_port: '80'
        index_files:
        client_max_body_size: 20m
        ssl: '0'
        ssl_cert: ''
        ssl_key: ''
        ssl_port: '443'
        ssl_protocols: ''
        ssl_ciphers: ''
        rewrite_to_https: '1'
        spdy: '1'
        locations:
            location_redwood_1:
                location: /
                try_files:
                    - $uri
                    - '@rewriteapp'
            location_redwood_2:
                location: '@rewriteapp'
                rewrite_rules:
                    - '^(.*)$ /app.php/$1 last'
            location_redwood_3:
                location: '~ ^/(app|app_dev|config)\.php(/|$)'
                autoindex: 'off'
                internal: false
                try_files:
                    - $uri
                    - $uri/
                    - /app.php$is_args$args
                fastcgi: '127.0.0.1:9000'
                fastcgi_index: app_dev.php
                fastcgi_split_path: '^(.+\.php)(/.*)$'
                fast_cgi_params_extra:
                    - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
                    - 'APP_ENV dev'

经过多次尝试,我确定了这个配置,似乎是工作。希望它能帮助别人

    nxv_8kzrp075w1ra:
        server_name: redwood.thomas.dev
        server_aliases:
            - www.redwood.thomas.dev
        www_root: /var/www/redwood/web
        listen_port: '80'
        index_files:
        client_max_body_size: 20m
        ssl: '0'
        ssl_cert: ''
        ssl_key: ''
        ssl_port: '443'
        ssl_protocols: ''
        ssl_ciphers: ''
        rewrite_to_https: '1'
        spdy: '1'
        locations:
            location_redwood_1:
                location: /
                try_files:
                    - $uri
                    - '@rewriteapp'
            location_redwood_2:
                location: '@rewriteapp'
                rewrite_rules:
                    - '^(.*)$ /app.php/$1 last'
            location_redwood_3:
                location: '~ ^/(app|app_dev|config)\.php(/|$)'
                autoindex: 'off'
                internal: false
                try_files:
                    - $uri
                    - $uri/
                    - /app.php$is_args$args
                fastcgi: '127.0.0.1:9000'
                fastcgi_index: app_dev.php
                fastcgi_split_path: '^(.+\.php)(/.*)$'
                fast_cgi_params_extra:
                    - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
                    - 'APP_ENV dev'

经过多次尝试,我确定了这个配置,似乎是工作。希望它能帮助别人

    nxv_8kzrp075w1ra:
        server_name: redwood.thomas.dev
        server_aliases:
            - www.redwood.thomas.dev
        www_root: /var/www/redwood/web
        listen_port: '80'
        index_files:
        client_max_body_size: 20m
        ssl: '0'
        ssl_cert: ''
        ssl_key: ''
        ssl_port: '443'
        ssl_protocols: ''
        ssl_ciphers: ''
        rewrite_to_https: '1'
        spdy: '1'
        locations:
            location_redwood_1:
                location: /
                try_files:
                    - $uri
                    - '@rewriteapp'
            location_redwood_2:
                location: '@rewriteapp'
                rewrite_rules:
                    - '^(.*)$ /app.php/$1 last'
            location_redwood_3:
                location: '~ ^/(app|app_dev|config)\.php(/|$)'
                autoindex: 'off'
                internal: false
                try_files:
                    - $uri
                    - $uri/
                    - /app.php$is_args$args
                fastcgi: '127.0.0.1:9000'
                fastcgi_index: app_dev.php
                fastcgi_split_path: '^(.+\.php)(/.*)$'
                fast_cgi_params_extra:
                    - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
                    - 'APP_ENV dev'

经过多次尝试,我确定了这个配置,似乎是工作。希望它能帮助别人

    nxv_8kzrp075w1ra:
        server_name: redwood.thomas.dev
        server_aliases:
            - www.redwood.thomas.dev
        www_root: /var/www/redwood/web
        listen_port: '80'
        index_files:
        client_max_body_size: 20m
        ssl: '0'
        ssl_cert: ''
        ssl_key: ''
        ssl_port: '443'
        ssl_protocols: ''
        ssl_ciphers: ''
        rewrite_to_https: '1'
        spdy: '1'
        locations:
            location_redwood_1:
                location: /
                try_files:
                    - $uri
                    - '@rewriteapp'
            location_redwood_2:
                location: '@rewriteapp'
                rewrite_rules:
                    - '^(.*)$ /app.php/$1 last'
            location_redwood_3:
                location: '~ ^/(app|app_dev|config)\.php(/|$)'
                autoindex: 'off'
                internal: false
                try_files:
                    - $uri
                    - $uri/
                    - /app.php$is_args$args
                fastcgi: '127.0.0.1:9000'
                fastcgi_index: app_dev.php
                fastcgi_split_path: '^(.+\.php)(/.*)$'
                fast_cgi_params_extra:
                    - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
                    - 'APP_ENV dev'