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 <[email protected]>: > 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 [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
