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