2016-02-05 4 views
0

Я пытаюсь настроить phpmyadmin на свой домен, и по какой-то причине у меня не может быть корень сервера, который я хочу.Nginx - изменение корневого сервера корневого каталога не работает

Это не работает (404 на example.com/phpmyadmin без чего-либо в журналах):

server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 
    client_max_body_size 300m; 
    root /var/www/html; 
    index index.php index.html index.htm; 

    server_name example.com; 

    location/{ 
     try_files $uri $uri/ =404; 
    } 

    location /phpmyadmin/ { 
     root /var/www/admin/; 
    } 

    error_page 404 /404.html; 
    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root /usr/share/nginx/html; 
    } 

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

Но если изменить корневой сервер в/USR/доли/Nginx/html это работает. ..

Вы идете, что происходит? Спасибо, что прочитали меня.

ответ

0

Ok Я установил ее, благодаря этому сообщению: nginx configuration with multiple location blocks

Причина была ~ место для PHP файлов ...

Так вот рабочий код:

server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 
    client_max_body_size 300m; 
    root /var/www/html; 
    index index.php index.html index.htm; 

    server_name example.com; 

    location/{ 
     try_files $uri $uri/ =404; 
    } 

    location /phpmyadmin/ { 
     root /var/www/admin/; 
location ~ \.php$ { 
     try_files $uri =404; 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     include fastcgi_params; 
    } 
    } 

    error_page 404 /404.html; 
    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root /usr/share/nginx/html; 
    } 


}