PHP and CGI on UserDir

Smart Goldman ytlec2014 at gmail.com
Sun Nov 29 11:02:31 UTC 2015


Hi, thank you for great help, Aleksandar Lazic.
I tried it.

PHP script shows me "File not found." and outputs the following log:
2015/11/29 05:50:15 [error] 5048#0: *6 FastCGI sent in stderr: "Primary
script unknown" while reading response header from upstream, client:
119.105.136.26, server: localhost, request: "GET /~user/index.php
HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "host.domain.com"

- I do not know how to fix it...

CGI script shows me "Error: No such CGI app -
/home//public_html/~user/index.cgi may not exist or is not executable by
this process." and outputs nothing to error.log.

- /home//public_html/~user/... I think this path is wrong and I tried to
fix this path but I could not. /home/user/public_html/ should be correct
path..

2015-11-29 18:41 GMT+09:00 Aleksandar Lazic <al-nginx at none.at>:

> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20151129/419cea4f/attachment.html>


More information about the nginx mailing list