Report this

What is the reason for this report?

Nginx test page instead of homepage

Posted on August 16, 2017

Hi,

Server configuration : Centos 7 + PHP7 + PHP-FPM + MariaDB 10 +Nginx as reverse proxy for Apache + Virtualmin

I’m new to setting up a server. I’m not sure where did I mess up and I have tried searching online and editing according to suggestion on Digital Ocean and many other forum but still no success. I always restart nginx, httpd and php-fpm after changes have been made.

I have 2 virtual servers, all of them open Nginx test page instead of their respective homepage.

I have been trying to configure but with no success. Please help.

Below are the configuration files for my virtual servers.

  1. etc/nginx/conf.d/default.conf
server {
        listen   80; 

        root /home/~;
        index index.php index.html index.htm;

        server_name localhost; 

        location / {
        try_files $uri $uri/ /index.php;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:8080;
        }

        location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        try_files $uri $uri/ =404;
      	#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
   	#fastcgi_pass  127.0.0.1:9000;
         fastcgi_pass php-fpm;
   	   fastcgi_index index.php;
   	   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   	   include fastcgi_params;

         }

         location ~ /\.ht {
                deny all;
        }
}
  1. etc/nginx/conf.d/php-fpm.conf
# PHP-FPM FastCGI server
# network or unix domain socket configuration

upstream php-fpm {
        #server 127.0.0.1:9000;
        server unix:/run/php-fpm/www.sock;
        
}
  1. etc/nginx/nginx.conf
user nginx;
worker_processes auto; 

worker_rlimit_nofile 10000;

# only log critical errors
error_log /var/log/nginx/error.log crit;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
    use epoll;
    multi_accept on;
}
	
http {
    include    mime.types;
    fastcgi_buffers 8 16k;
    fastcgi_buffer_size 32k;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    default_type  application/octet-stream;
	
	log_format main      '$remote_addr - $remote_user [$time_local]  '
      '"$request" $status $bytes_sent '
      '"$http_referer" "$http_user_agent" '
  		'"$gzip_ratio"';

    log_format download  '$remote_addr - $remote_user [$time_local]  '
      '"$request" $status $bytes_sent '
      '"$http_referer" "$http_user_agent" '
  		'"$http_range" "$sent_http_content_range"';

    access_log  /var/log/nginx/access.log  main;
	error_log /var/log/nginx/error.log;
    
    # cache informations about FDs, frequently accessed files
	# can boost performance, but you need to test those values
	open_file_cache max=200000 inactive=20s; 
	open_file_cache_valid 2m; 
	open_file_cache_min_uses 5;
	open_file_cache_errors on;

	# to boost I/O on HDD we can disable access logs
	access_log off;
    # copies data between one FD and other from within the kernel
	# faster then read() + write()
	sendfile on;    
    # send headers in one peace, its better then sending them one by one 
	tcp_nopush on;
	# don't buffer data sent, good for small data bursts in real time
	tcp_nodelay on;
    
        types_hash_max_size 2048;
	index   index.php index.html index.htm;
	
        include /etc/nginx/conf.d/*.conf;
	index   index.php index.html index.htm;
	server_names_hash_bucket_size 128;
	##
    # Gzip Settings
    ##
    # reduce the data that needs to be sent over network -- for testing environment
	gzip on;
       gzip_http_version 1.1;
	gzip_min_length 10240;
	gzip_proxied expired no-cache no-store private auth;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json  application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
    gzip_buffers 16 8k;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

	# allow the server to close connection on non responding client, this will free up memory
	reset_timedout_connection on;
	# request timed out -- default 60
	client_body_timeout 3m;
	# if client stop responding, free up memory -- default 60
	send_timeout 3m;
	# server will close connection after this time -- default 75
	keepalive_timeout   65;
	# number of requests client can make over keep-alive -- for testing environment
	keepalive_requests 100000;
    
	ignore_invalid_headers on;
    client_max_body_size    100m;
    connection_pool_size  256;
    request_pool_size  4k;
    output_buffers   4 32k;
    postpone_output  1460;
    
    # limit the number of connections per single IP
	limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
	# limit the number of requests for a given session
	limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
	# if the request body size is more than the buffer size, then the entire (or partial)
	# request body is written into a temporary file
	client_body_buffer_size  128k;
	# headerbuffer size for the request header from client -- for testing environment
	client_header_buffer_size 3m;
	# maximum number and size of buffers for large headers to read from client request
	large_client_header_buffers 4 256k;
	# how long to wait for the client to send a request header -- for testing environment
	client_header_timeout 3m;
      server_tokens off;
    
    #nginx compression
	log_format compression '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" "$gzip_ratio"';
    
    # Upstream to abstract backend connection(s) for PHP.
	upstream php {
                #this should match value of "listen" directive in php-fpm pool
		#server unix:/tmp/php-fpm.sock;
		server 127.0.0.1:9000;
	}
    server {
		listen 80;
    #    listen       [::]:80 default_server;
		server_name _;
        #root         /home/~;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
        # zone which we want to limit by upper values, we want limit whole server
    	limit_conn conn_limit_per_ip 10;
    	limit_req zone=req_limit_per_ip burst=10 nodelay;
        
		location ~* .(woff|eot|ttf|svg|mp4|webm|jpg|jpeg|png|gif|ico|css|js)$ {
  		expires max;
		}
        gzip on;
        access_log  /var/log/nginx/access.log  compression;
    }

   #1st virtual server
   
   server {
    	listen 80;
		server_name website1.co www.website1.co;
		root /home/website1/public_html;
		index index.html index.htm index.php;
		access_log /var/log/virtualmin/website1_access_log;
		error_log /var/log/virtualmin/website1_error_log;
		
        # nginx configuration
		
		location / {
        #for web application
         if (!-e $request_filename){
         rewrite ^(/)?api/.*$ /api/index.php;
         }
         if (!-e $request_filename){
         rewrite ^(/)?customer/.*$ /customer/index.php;
         }
         if (!-e $request_filename){
         rewrite ^(/)?backend/.*$ /backend/index.php;
         }
         if (!-e $request_filename){
         rewrite ^(.*)$ /index.php;
         }
         index  index.html index.htm index.php;
         #web application end

        # [pre-existing configurations, if applicable]
  		autoindex on;
  		autoindex_exact_size off;
        
         client_max_body_size    10m;
        client_body_buffer_size 128k;
 
        proxy_send_timeout   90;
        proxy_read_timeout   90;
        proxy_buffer_size    128k;
        proxy_buffers     4 256k;
        proxy_busy_buffers_size 256k;
        proxy_temp_file_write_size 256k;
        proxy_connect_timeout 30s;
 
        proxy_set_header X-Real-IP  $remote_addr;
         proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
 
         proxy_pass http://127.0.0.1:8080;
     }
 
     #error_page  404              /404.html;
     # redirect server error pages to the static page /50x.html
     #
     error_page   500 502 503 504  /50x.html;
 
     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     #
     location ~ \.php$ {
    	 try_files $uri $uri/ /index.php?$args;
         fastcgi_index  index.php;
         #fastcgi_pass 127.0.0.1:9000;
         fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_split_path_info  ^(.+\.php)(.*)$;
         fastcgi_param  PATH_INFO        $fastcgi_path_info;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         fastcgi_param   SCRIPT_NAME        $fastcgi_script_name; 
         
         fastcgi_read_timeout 600s;
         fastcgi_send_timeout 600s;
         include fastcgi_params;
     }
 
     # deny access to .htaccess files, if Apache's document root
     # concurs with nginx's one
     #
     location ~ /\.ht {
     	access_log off;
    	log_not_found off;
         deny  all;
     }
		listen 443 ssl;
		ssl_certificate /home/website1/ssl.cert;
		ssl_certificate_key /home/website1/ssl.key;
	}

 #2nd virtual server

server {
		server_name website2.co www.website2.co;
		listen 80;
		root /home/website2/public_html;
		index index.html index.htm index.php;
		access_log /var/log/virtualmin/website2_access_log;
		error_log /var/log/virtualmin/website2_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/website2/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/website2/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 ~ \.php$ {
			fastcgi_split_path_info ^(.+\.php)(/.+)$;
    		        try_files $uri $uri/ =404;
			fastcgi_pass unix:/var/php-nginx/15028646429198.sock/socket;
                        include fastcgi.conf;
          
		}
        
        location / {
        client_max_body_size    10m;
        client_body_buffer_size 128k;
 
        proxy_send_timeout   90;
        proxy_read_timeout   90;
        proxy_buffer_size    128k;
        proxy_buffers     4 256k;
        proxy_busy_buffers_size 256k;
        proxy_temp_file_write_size 256k;
        proxy_connect_timeout 30s;
 
         proxy_set_header X-Real-IP  $remote_addr;
         proxy_set_header X-Forwarded-For $remote_addr;
 	proxy_set_header Host $host;
 
         proxy_pass http://127.0.0.1:8080;
        }
		listen 443 ssl;
		ssl_certificate /home/website2/ssl.cert;
		ssl_certificate_key /home/website2/ssl.key;
	}

Any help would be very helpful. Thanks in advance.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Start building today

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.