I am using Linux Mint 17. I am trying to setup PHP 7.1 or PHP 7.2 with nginx but whenever I access a php script I get 500 Internal Server Error
. Whenever I restart nginx or PHP, I receive no errors.
Here are the contents of /etc/nginx/conf.d/default.conf
:
server {
listen 80;
listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
#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 /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
location ~ \.php$ {
proxy_pass http://127.0.0.1;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass unix:/var/run/php7.2-fpm.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
Any help would be greatly appreciated, as I urgently need to get this working.
Edit
I fixed the 500 Error by adding worker_rlimit_nofile 100048
and changing worker_connections
to 100048
. Unfortunately, now it says "An error occurred" and the logs show:
2018/02/11 21:53:23 [crit] 13219#13219: *1012 open() "/usr/share/nginx/html/50x.html" failed (24: Too many open files), client: 127.0.0.1, server: localhost, request: "GET /info.php HTTP/1.0", upstream: "http://127.0.0.1:80/info.php", host: "127.0.0.1"
2018/02/11 21:53:48 [crit] 13263#13263: *56464 connect() to 127.0.0.1:80 failed (99: Cannot assign requested address) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /info.php HTTP/1.0", upstream: "http://127.0.0.1:80/info.php", host: "127.0.0.1"