В среде Ubuntu 16.04 Nginx, где некоторые сайты работают нормально, я установил phpmyadmin:
cd /var/www/html
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
find ./ -type f -iname '*phpmyadmin*.zip' -exec unzip {} \;
find ./ -type d -iname 'phpmyadmin-*' -exec mv {} phpmyadmin \;
Затем я попытался получить к нему доступ из своего браузера через ip_address/phpmyadmin
, но я получил 404 на одном из моих сайтов.
Я думал, что это вызвано отсутствием конфигурации webapp, поэтому я ее создал.
nano /etc/nginx/sites-available/phpmyadmin.conf
:
server {
root /var/www/html/phpmyadmin/;
server_name phpmyadmin;
location / {
index index.php index.html index.htm fastcgi_index;
try_files $uri $uri =404 $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
listen 80;
}
затем
ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/
systemctl restart nginx.service
Тем не менее, проблема не устранена.
В журналах указывается только эта ошибка:
01.01.2018 03:02:25 [Emerg] 21959 # 21959: неизвестная директива "/ var / www / html / phpmyadmin /" в /etc/nginx/sites-enabled/phpmyadmin.conf:2
Я практически не изменился nginx.conf
и полагаться на его собственные директивы.
Я проконсультировался с системным администратором Nginx по поводу того, как мне было предложено использовать поддомен, но я предпочитаю обращаться к нему напрямую с IP-адреса.
В server_name
должен содержать имя (имена), используемые для доступа к серверу. Чтобы получить доступ к серверу по IP-адресу, он должен содержать IP-адрес.
Например:
server_name 192.0.2.1;
Видеть этот документ для большего.
Но сначала вам нужно исправить эту ошибку - Я не знаю, почему вы получаете неизвестная директива ошибка из вашего root
заявление. Вы допустили опечатку?