images are loading sometimes but icon and default images icons not displayed , im beginner how to fix this issue it drives me crazy, there is no config files in etc/nginx/conf.d only my main nginx config file in my server which found here etc/nginx/nginx.config i hope somone can help me please
my config file
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 50M;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
server_name xxx.com www.xxx.com;
listen serverip;
root /home/xxx/public_html;
index index.html index.htm index.php;
access_log /var/log/virtualmin/xxx_access_log;
error_log /var/log/virtualmin/xxx_error_log;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME /home/xxx/public_html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT /home/xxx/public_html;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param HTTPS $https;
location / {
try_files $uri $uri/ /index.php?$args;
index index.php index.cgi index.pl index.html index.xhtml index.htm index.shtml;
fastcgi_index index.php;
include fastcgi.conf;
include fastcgi_params;
fastcgi_pass unix:/var/php-nginx/xxx.sock/socket;
}
listen serverip default ssl;
ssl_certificate /home/xxx/ssl.cert;
ssl_certificate_key /home/xxx/ssl.key;
}
}
i appreciate any help
You have one location that sends all requests to PHP. You are not serving static files (such as js/css) with Nginx.
The usual PHP configuration contains two location blocks. One to process URIs which end with .php and one to process everything else as a static file.
For example:
location / {
try_files $uri $uri/ /index.php?$args;
index index.php index.cgi index.pl index.html index.xhtml index.htm index.shtml;
}
location ~ \.php$ {
try_files $uri =404;
include fastcgi.conf;
include fastcgi_params;
fastcgi_pass unix:/var/php-nginx/xxx.sock/socket;
}
Related
I'm a complete nginx noob, so I apologize in advance for whatever necessary details I'm leaving out of this question.
I've got my server set up, and my localhost is displaying the "Welcome to nginx!" page, when I've set my nginx.conf file root to my desired path (which is not the nginx welcome page).
Here's my nginx.conf:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name 0.0.0.0;
location ~ /devices/(.+) {
include fastcgi_params;
proxy_pass http://127.0.0.1:5000/$1;
}
location ~ /surveyapp/(.+) {
include fastcgi_params;
proxy_pass http://127.0.0.1:5000/$1;
}
location / {
root /Users/ryanyoung/Desktop/website/public;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
error_page 405 =200 $uri;
}
location ~* \.php$ {
include /usr/local/etc/nginx/fastcgi_params;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /Users/ryanyoung/Desktop/website/public;
fastcgi_param SCRIPT_FILENAME /Users/ryanyoung/Desktop/website/public/index.php;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param CI_URI_PROTOCOL "REQUEST_URI";
fastcgi_pass unix:/usr/local/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_read_timeout 1800;
}
}
include servers/*;
}
Since my root path is definitely correct, my only guess is this has something to do with fastcgi_params? This file is nowhere to be found, and the above path that is referenced (/usr/local/etc/nginx/fastcgi_params) does not exist.
I used homebrew to install nginx, so its location is /opt/homebrew/bin. that directory holds nginx and nginx.conf, but no fastcgi_params (and also no fcgi.conf). I've tried every other path I could think of, and I'm fairly certain that fastcgi doesn't exist on my machine.
Not even sure if that's the issue. Any insight would be appreciated!
In AWS EC2 Instance, I make web environment using php7.0 and nginx.
And this makes 404 page error.
HTML Extension page is work well, but not on php.
in default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /var/www;
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 /var/error;
}
# 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 /var/www;
fastcgi_intercept_errors on;
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;
#}
}
in fastcgi_params
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
and in nginx.conf
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
Whole environment is Nginx + php7.0 + mariaDB on AWS EC2 Instance.
I can't find what is wrong...
I will post this as an answer, but I am unfamiliar with php7 and AWS EC2.
You seem to have an inconsistency in your nginx configuration.
This block:
location / {
root /var/www;
index index.php index.html index.htm;
}
tells nginx that your files are located below /var/www, so that, for example:
the URI /index.html can be found at /var/www/index.html
the URI /foo/bar.html can be found at /var/www/foo/bar.html
The index directive tells nginx to look for index.php (etc.), also below /var/www. However, any URI ending with .php is processed by a different location block.
The block:
location ~ \.php$ {
root /var/www;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
is intended to process .php URIs. Now, unless your architecture is special, the SCRIPT_FILENAME parameter passes the location of the file from nginx to the php subsystem. And on most systems, the value of $document_root$fastcgi_script_name is used which means that:
the URI /index.php can be found at /var/www/index.php
the URI /foo/bar.php can be found at /var/www/foo/bar.php
Assuming that root is set to /var/www.
In your configuration file, you are setting root in the location ~ \.php$ block but not using it. The root directive sets the value of $document_root.
There are other issues, but the important one is that (unless you are using a special architecture) the value of SCRIPT_FILENAME should be:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
You should place include fastcgi_params; before any fastcgi_param directive to avoid the included file silently overwriting the desired value.
Just installed nginx and php-fpm on centos 5.10 but I can't get it to work. There is ping to the server IPs but when I try to open the domains... I am not able to connect. When I restart nginx, it says OK (no errors). Error logs are empty. No matter the domains and IPs. There will be several domains on several IPs running custom php script. What did I miss??
Here is my config:
nginx.conf
user myusername;
worker_processes 4;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 2;
gzip on;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain text/css
application/x-javascript text/xml
application/xml application/xml+rss
text/javascript;
server_tokens off;
include /sites-enabled/*.conf;
}
several of these: sites-enabled/example.com.conf
server {
listen xxx.xxx.xxx.xxx:80;
server_name example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
root /var/www/html/example.com;
index index.php;
}
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires max;
}
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
location ~ /\. {
access_log off;
log_not_found off;
deny all;
}
error_page 404 /404.php;
# redirect server error pages to the static page /50x.php
#
error_page 500 502 503 504 /50x.php;
location = /50x.php {
root /var/www/html/example.com;
}
set $mobile_rewrite do_not_perform;
## chi http_user_agent for mobile / smart phones ##
if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino") {
set $mobile_rewrite perform;
}
if ($http_user_agent ~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-)") {
set $mobile_rewrite perform;
}
## redirect to m.example.com ##
if ($mobile_rewrite = perform) {
rewrite ^ http://m.example.com$request_uri? redirect;
break;
}
}
server {
listen xxx.xxx.xxx.xxx:80;
server_name m.example.com;
access_log /var/log/nginx/m.example.com.access.log;
error_log /var/log/nginx/m.example.com.error.log;
location / {
root /var/www/html/example.com/m;
index index.php;
}
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires max;
}
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
location ~ /\. {
access_log off;
log_not_found off;
deny all;
}
error_page 404 /404.php;
# redirect server error pages to the static page /50x.php
#
error_page 500 502 503 504 /50x.php;
location = /50x.php {
root /var/www/html/example.com/m;
}
}
server {
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
server {
server_name www.m.example.com;
return 301 $scheme://m.example.com$request_uri;
}
fastcgi_params
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
I'm trying to get Nginx running from source in the user folder of my shared host with debian-style directory structure. I'm getting an error when I try to start the server up:
[emerg] invalid number of arguments in "try_files" directive in /home/.../nginx/conf/sites-enabled/default:11
The line referenced is the PHP execution protection from the Nginx pitfalls page. Here are my config files:
nginx.conf:
worker_processes 1;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 5m;
include /home/hittingsmoke/nginx/conf/mime.types;
default_type application/octet-stream;
gzip on;
gzip_disable \"msie6\";
include /home/hittingsmoke/nginx/conf/sites-enabled/*;
}
...and sites-available/default:
server {
listen 12513;
root /home/hittingsmoke/nginx/html/;
index index.php index.html index.htm;
server_name _;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/home/hittingsmoke/php-5.3/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
I can't find anything wrong with my configs. My setup is almost identical to a working installation on an Ubuntu box I'm running. What am I doing wrong?
EDIT: Upon further testing, this only happens when I'm using a sites-available setup with an include in nginx.conf. If I copy/paste the contents of my sites-available/default into my nginx.conf everything works fine.
EDIT2: As mentioned, if I removed try_files from the vhosts file it fails again with the same error on fastcgi_params. Here is the contents of my fastcgi_params file. It is all default:
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
EDIT3: I made a slight mistake. It's fastcgi_param, not fastcgi_param*s* where the error contiunes after removing the try_files directive.
Nginx tries to explain that the try_files directive needs at least two paths:
try_files /path1$uri /path2$uri ...
Use either /dev/null as a simple work-around:
try_files $uri /dev/null =404;
Or a named location that allows for more customization:
try_files $uri #error
...
location #error {
...
}
Not sure if this is your issue, but I've got my try_files outside the PHP location block:
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
....
}
So I will start out and say that I am pretty new to web servers and this is my first that I have configured. That being said the webserver is up and running and I can add sites and files to it just fine. However I cannot get any .php files working right now.
I am currently running nginx on FreeBSD and have installed php-fpm. I know that nginx is correctly using php-fpm but for any php file I try and view all I get is "file not found". I know that this is coming from php-fpm because for any file that actually isn't there nginx gives me a different "file not found" page.
I have looked through several google pages about this problem and the most common solution is that it is incorrect permissions on the php file. At this point I can't rule too much out but I have tried changing the permissions for the file and folder including just opening them up to everything with no success.
Here is my nginx.conf file in the hopes that it helps.
user www www;
worker_processes 4;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
index index.html index.htm index.php
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main; ## Default: off
sendfile on;
tcp_nopush on;
###custom changes
server_tokens off;
client_max_body_size 200M;
client_body_buffer_size 1M;
port_in_redirect off;
###
keepalive_timeout 15; ## Default: 0
gzip on;
### More custom changes
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css application/json application/x-javascript application/xml application/xml+rss text/javascript;
gzip_buffers 16 8k;
gzip_disable "MSIE [1-6].(?!.*SV1)";
###
server { # simple reverse-proxy
listen 80;
server_name localhost;
#access_log logs/mySite1.access.log;
root /usr/local/www/mySite.com;
location / {
try_files $uri $uri/ /index.php;
}
# this prevents hidden files (beginning with a period) from being served
location ~ /\. { access_log off; log_not_found off; deny all; }
#error_page 404 /404.html;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
}
}
If anyone has any ideas about what is going on here they would be greatly appreciated.
This might help you out. I use the sockets of FPM, so just change to use the IP like you are but here are my working configurations:
example.com.conf
server {
listen 192.168.1.1:80;
server_name example.com;
charset utf-8;
access_log /vhosts/example.com/logs/access_log main;
error_log /vhosts/example.com/logs/error_log;
index index.php;
root /vhosts/example.com/public;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/usr/local/etc/php-fpm/nginx.sock;
include fastcgi.conf;
}
location ~ \.htaccess {
deny all;
}
}
fastcgi.conf
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
I don't think you actually have a directory /scripts on your filesystem. You probably mean $document_root/scripts. If you do have a directory /scripts then post the php-fpm log with the SCRIPT_FILENAME logged. I think it's logged by default, but if not the syntax is explained very well in the config file.