Как настроить phpmyadmin с помощью nginx и получить к нему доступ через http://vps-ip/phpmyadmin
Файлы phpmyadmin находятся здесь /usr/share/phpmyadmin/
И у меня есть этот код блока сервера, который позволяет мне получить доступ к phpmyadmin только из http://vps-ip/
:
server {
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
root /usr/share/phpmyadmin/;
index index.php index.html index.htm;
server_name ein;
location / {
root /usr/share/phpmyadmin/;
index index index.php;
try_files $uri/ $uri /index.php?q=$uri&&$args;
port_in_redirect off;
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
log_not_found off;
expires max;
root /usr/share/phpmyadmin/;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
fastcgi_pass php;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/$fastcgi_script_name;
include 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_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 360;
fastcgi_read_timeout 360;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
location ~ /.htaccess { deny all; log_not_found off; access_log off; }
location ~ /.htpasswd { deny all; log_not_found off; access_log off; }
location = /favicon.ico { allow all; log_not_found off; access_log off; }
location = /robots.txt { allow all; log_not_found off; access_log off; }
}
Какие изменения мне нужно сделать, чтобы получить доступ к phpmyadmin из http://vps-ip/phpmyadmin
и получить доступ к моему сайту с http://vps-ip/
?
ОК, я нашел решение для этого:
location ^~ /phpmyadmin/ {
alias /usr/share/phpmyadmin/;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass php;
}
}
2 ответа
Этот процесс называется Aliasing, в основном он настраивает что-то, чтобы отправиться куда-то еще. У меня лично нет опыта работы с NGINX, но согласно этому посту вы должны использовать:
location /phpmyadmin/ {
alias /usr/share/phpmyadmin/;
}
Надеюсь, это поможет.:)
Вам нужно изменить свой корень. Прямо сейчас у вас это как root /usr/share/phpmyadmin/
, Это означает, что nginx думает http://vps-ip/
должно быть подано с /usr/share/phpmyadmin/
, Являются ли файлы, которыми вы хотите поделиться на http://vps-ip/
находится в /usr/share/
? (Это кажется странным местом для них, вам, вероятно, следует создать папку для вашего сайта).