Я установил nginx и phpmyadmin. Я создал домен с этими параметрами для тестирования phpmyadmin:
server {
listen 80;
server_name example.com;
root /usr/share/phpmyadmin;
index index.php;
fastcgi_index index.php;
location ~ \.php$ {
include /etc/nginx/fastcgi.conf;
fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
И все работает правильно (если я захожу в домен, я могу войти в phpmyadmin). Проблема в том, что это было просто для тестирования phpmyadmin, теперь я хотел бы переместить его на свой сайт по умолчанию. Но я не могу понять, как это сделать на / phpmyadmin. Вот конфигурация для сайта nginx по умолчанию (где я бы хотел разместить это местоположение / phpmyadmin):
server {
server_name blabla;
access_log /var/log/nginx/$host.access.log;
error_log /var/log/nginx/error.log;
root /var/www/default;
index index.php index.html;
location / {
try_files $uri $uri/ index.php;
}
location ~ \.php$ {
include /etc/nginx/fastcgi.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
### NginX Status
location /nginx_status {
stub_status on;
access_log off;
}
### FPM Status
location ~ ^/(status|ping)$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
access_log off;
}
}
Как бы странно это ни звучало, "стандартный" конфиг не работал для phpMyAdmin с моей стороны.
Вот что я в итоге сделал, теперь успешно работаю над "/ phpmyadmin":
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
Я нигде не опытный администратор, и эту часть конфигурации нужно почистить, но я надеюсь, что это хороший стартер.
В phpmyadmin нет ничего особенного; стандартного блока местоположения PHP будет достаточно:
location /phpmyadmin {
root /usr/share/phpmyadmin;
location ~ \.php$ {
include /etc/nginx/fastcgi.conf;
fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}