Nginx и PhpMyAdmin

12 3
forest25
На сайте с 12.09.2009
Offline
67
3131

Все доброго дня!

Есть сайт который расположен /home/user/www/public_html

Настроил алиас на phpmyadmin в apache чтобы по адресу site.ru/pma грузился phpmyadmin из /usr/share/phpmyadmin. Все отлично работает, но отсутствуют картинки т.к. статика у меня отдается nginx'ом.

Пробовал в конфиге указать Location вот так:

location /pma/\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|ta$

root /usr/share/phpmyadmin/;

index index.html index.php;

access_log off;

expires 30d;

}

но оно не заработало. Остальная статика отдается на сайте нормально. Прошу у вас помощи в решении данной проблемы.

VPS 512MB 20GB SSD KVM - 5$ (http://u.hmdw.me/digitalocean) | ИМХО о хостингах (http://u.hmdw.me/hosting)
DV
На сайте с 01.05.2010
Offline
644
#1

Если не грузится динамически формируемая картинка, проще сделать так, чтобы по ошибке 404 запрос передавался бэкенду.

    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pd

root /тратата;
error_page 404 = @images_err404;
proxy_cache_valid 404 1m;
}
location @images_err404 {
proxy_pass http://127.0.0.1:порт;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
Andreyka
На сайте с 19.02.2005
Offline
822
#2

Или убрать отдачу статики и прокисровать все к апачу.

Не стоит плодить сущности без необходимости
A
На сайте с 14.11.2011
Offline
34
alw
#3

предположу что эта location перекрывается другой. весь конфиг увидеть бы

Администрирование linux, windows (/ru/forum/671883) icq 4831950
forest25
На сайте с 12.09.2009
Offline
67
#4

Вот полный конфиг nginx:

server {

listen 80;
server_name xxx.ru www.xxx.ru;
#access_log /home/xxx/logs/nginx_access.log;
error_log /home/xxx/logs/nginx_error.log;

# Catch image styles for D7 too.
location ~ ^/sites/.*/files/styles/ {
try_files $uri @rewrite;
}
location /pma/\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {
root /usr/share/phpmyadmin/;
index index.html index.php;
access_log off;
expires 30d;
}
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {
root /home/xxx/www/;
index index.html index.php;
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}

location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}
Andreyka
На сайте с 19.02.2005
Offline
822
#5

Убери вторую локацию с картинками

bsyomov
На сайте с 25.01.2012
Offline
31
#6

Надо

location /pma/\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$

Заменить на

location ~* ^/pma/(.*)\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$

Раз уж вы задаёте location регулярным выражением. И тогда будет обрабатываться нужный локейшен.

forest25
На сайте с 12.09.2009
Offline
67
#7
Andreyka:
Убери вторую локацию с картинками

К сожалению не могу ибо это на этой сайте не только директория pma и картинки нужно везде отдавать

2bsyomov

Nginx на конфиг не ругнулся и рестартнулся нормально, но картинки все равно не отдает (

Andreyka
На сайте с 19.02.2005
Offline
822
#8

Значит надо вынести pma в отдельный поддомен.

A
На сайте с 14.11.2011
Offline
34
alw
#9

еще идея - вложеная location.

внутри location c картинками location /pma

bsyomov
На сайте с 25.01.2012
Offline
31
#10
forest25:

2bsyomov
Nginx на конфиг не ругнулся и рестартнулся нормально, но картинки все равно не отдает (

При заданных вами условиях локейшен правильный.

Корень phpmyadmin у вас относительно корня сайта - /pma? Как выглядит ссылка на отсутствующую картинку?

root правильно прописан?

Что в логе nginx?

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий