Nginx
直接從IP地址訪問Nginx中的phpmyadmin(沒有子域)
在一些網站執行良好的 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 conf 造成的,所以我創建了一個。
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
然而,問題依然存在。
日誌僅指定此錯誤:
2018/01/01 03:02:25
$$ emerg $$21959#21959:/etc/nginx/sites-enabled/phpmyadmin.conf:2 中的未知指令“/var/www/html/phpmyadmin/”
我基本上沒有改變
nginx.conf
並依賴它的原生指令。我諮詢了 Nginx 系統管理員如何建議我使用子域,但我更喜歡直接從 IP 地址訪問它。
server_name
應包含用於訪問伺服器的名稱。要通過 IP 地址訪問伺服器,它應該包含 IP 地址。例如:
server_name 192.0.2.1;
有關更多資訊,請參閱此文件。
但首先你需要修復那個錯誤——我不知道你為什麼從你的語句中得到一個未知的指令錯誤。
root
你有沒有引入一個錯字?