2017-08-16 2 views
0

configuration du serveur: Centos 7 + PHP7 + PHP-FPM + MariaDB 10 + Nginx comme proxy inverse pour Apache + VirtualminNginx page de test Bienvenue au lieu de la page d'accueil

Je suis nouveau à la mise en place d'un serveur. Je ne suis pas sûr d'où j'ai gâché et j'ai essayé de rechercher en ligne et d'éditer selon la suggestion sur Digital Ocean et beaucoup d'autres forum mais toujours aucun succès. Je redémarre toujours nginx, httpd et php-fpm après que les modifications ont été apportées.

J'ai 2 serveurs virtuels, tous ouvrent la page de test Nginx au lieu de leur page d'accueil respective.

J'ai essayé de configurer mais sans succès. S'il vous plaît aider.

Voici les fichiers de configuration de mes serveurs virtuels.

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; 
    } 

}

2) 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; 

} 

3) 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 127.0.0.1:9000; 
        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; 
} 

Toute aide woul d être très utile. Merci d'avance.

+0

Où placez-vous votre 1er et 2e fichier conf virtuel? Quel nom et lieu? –

+0

dans le même fichier etc/nginx/nginx.conf. à l'intérieur de http {}, juste après le serveur {} qui a le nom du serveur _; – dswong

Répondre

0

Retirez la section ci-dessous de votre nginx.conf

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; 

}

Le server_name _; signifie tout hôte virtuel et il est donc la première chose à répondre dans votre config. Reste des hôtes virtuels ne sont pas consultés seulement

Edition - 17 août

Vous avez beaucoup de désordre dans vos configs, y compris inclut de différents répertoires. Je vous suggère de supprimer nginx et réinstaller et modifier la configuration de base à nouveau. Vous utilisez également httpd également dans votre configuration.

Le proxy_pass http://127.0.0.1:8080; signifie que tout ce qui n'est pas php est transmis par proxy à votre serveur httpd et que votre racine n'est pas seulement utilisée.

Votre try_files $uri $uri/ =404; ne doit pas se trouver à l'intérieur du bloc location ~ \.php$ {, mais plutôt dans le bloc location \ {. En outre, il ne devrait pas y avoir proxy_pass dans votre location \ { bloc

+0

l'a enlevé mais les deux site Web montrant toujours le "Welcome to nginx sur Fedora!" Page de test. J'ai ajouté un fichier info.php, je peux y accéder à website1.co/info.php sans problème. – dswong

+0

Essayez également de supprimer default.conf et de voir si cela fonctionne –

+0

l'a essayé, montrant toujours le "Bienvenue à nginx sur Fedora!" Page de test. J'ai essayé un nouveau navigateur et supprimé des caches, toujours le même problème. – dswong