Hi Smart Goldman.

Am 29-11-2015 09:04, schrieb Smart Goldman:
Hello. I am new here.

I try to enable PHP and CGI(Perl) on UserDir (/home/user/public_html)
with nginx.
But on my Chrome, PHP script is downloaded and CGI script shows me "404
Not Found" page.
Here's my configurations. What is wrong with my configurations?

Try to use nested locations.

http://nginx.org/en/docs/http/ngx_http_core_module.html#location

OS: Linux 3.10.0 / CentOS 7 64bit
nginx version: 1.8.0

----------------------------------------------
/etc/nginx/conf.d/default.conf:
server {
    listen       80;
    server_name  localhost;
    access_log  /var/log/nginx/access.log;
    error_log   /var/log/nginx/error.log;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

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

    location ~ ^/~(.+?)(/.*)?$ {
        alias /home/$1/public_html$2;
        index  index.html index.htm;
        autoindex on;

include my_php_config.conf;

include my_cgi_config.conf;


    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /var/www/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80 [1]
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
[2]
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000 [2];
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    location ~ (^~)*\.php$ {
        root           /var/www/html;
        fastcgi_pass   127.0.0.1:9000 [2];
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME
$document_root$fastcgi_script_name;
        include        /etc/nginx/fastcgi_params;
    }
    location ~ (^~)*\.pl|cgi$ {
        root           /var/www/html;
        fastcgi_pass   127.0.0.1:8999 [3];
        fastcgi_index  index.cgi;
        fastcgi_param  SCRIPT_FILENAME
$document_root$fastcgi_script_name;
        include        /etc/nginx/fastcgi_params;
    }

This block into "my_php_config.conf"

    location ~ .*~.*\.php$ {
        alias /home/$1/public_html$2;
        fastcgi_pass   127.0.0.1:9000 [2];
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME
$document_root$fastcgi_script_name;
        include        /etc/nginx/fastcgi_params;
    }
END

This block into "my_cgi_config.conf"

    location ~ .*~.*\.pl|cgi$ {
        alias /home/$1/public_html$2;
        fastcgi_pass   127.0.0.1:8999 [3];
        fastcgi_index  index.cgi;
        fastcgi_param  SCRIPT_FILENAME
$document_root$fastcgi_script_name;
        include        /etc/nginx/fastcgi_params;
    }

END

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one

BR Aleks

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to