Nginx + Symfony2 + HHVM的Vhost设置

问题描述 投票:0回答:1

我找不到任何明确解释应如何设置symfony2虚拟主机的人,这是我第一次使用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;
     }
symfony nginx hhvm puphpet
1个回答
3
投票

经过多次尝试,我决定采用这种似乎有效的配置。 希望它可以帮助某人。

    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'
© www.soinside.com 2019 - 2024. All rights reserved.