直接从 IP 地址访问 Nginx 中的 phpmyadmin(无需子域名)

直接从 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 配置造成的,所以我创建了一个。

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 地址访问它。

答案1

server_name包含用于访问服务器的名称。要通过 IP 地址访问服务器,它应包含 IP 地址。

例如:

server_name 192.0.2.1;

这个文件了解更多信息。

但首先你需要修复这个错误- 我不知道你为什么会得到未知指令您的陈述有误root。您是否输入了拼写错误?

相关内容