Nginx找不到phpMyAdmin

时间:2013-11-21 19:50:23

标签: nginx

您好我已经安装了最新的稳定版本的Nginex(1.4.4)并且还要安装phpMyAdmin,不幸的是当我尝试在浏览器中通过http:// 192打开phpMyAdmin时出现以下错误。 。 。 / phpmyadmin的:

404 Not Found
nginx/1.4.4

Nginx无法找到phpMyAdmin文件到底是什么原因?

这是我的/etc/nginx/nginx.conf文件的内容:

user  nginx;
worker_processes  4;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

许多问候

7 个答案:

答案 0 :(得分:4)

在你的文档根目录中制作一个符号是不是一个好主意,这只是在www中有一个phmyadmin快捷方式时遇到麻烦。

正确的方法是创建一个名为php的文件并添加到/ etc / nginx / sites-available。您可以复制下面的文件,但将端口号更改为其他内容。

    server {
        listen 30425;

        # Don't want to log accesses.
        #access_log  /dev/null main;
        access_log  /var/log/nginx/php.acces_log main;
        error_log   /var/log/nginx/php.error_log info;

        root /usr/share/phpmyadmin;
        index  index.php index.html index.htm;
        error_page 401 403 404 /404.php;

        location ~ .*.php$ {
                include fastcgi_params;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param SERVER_NAME $http_host;
                fastcgi_ignore_client_abort on;

        }
}

现在您需要为启用网站的目录

建立符号链接

ln -s / etc / nginx / sites-available / php // etc / nginx / sites-enabled

现在您需要将此代码添加到nginx.conf的日志记录设置部分

log_format main ‘$remote_addr – $remote_user [$time_local] ‘
                ‘”$request” $status $body_bytes_sent “$http_referer” ‘
                ‘”$http_user_agent” “$http_x_forwarded_for”‘ ;

现在,您可以使用http://example.com:30425

访问您的phpmyadmin

答案 1 :(得分:0)

我已按照https://www.digitalocean.com/community/articles/how-to-install-phpmyadmin-on-a-lemp-server上的说明操作,并通过以下命令链接了nginx和phpMyAdmin:

sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html
(the folder "www" was replaced in the newer versions of Nginx through "html")
sudo service nginx restart

如果我现在尝试启动phpMyAdmin “http:// 192 ... / phpmyadmin” 我的浏览器中出现以下错误:

403 Forbidden
nginx/1.4.4

如果我尝试启动phpMyAdmin “http:// 192 ... /phpmyadmin/index.php” index.php文件只能下载。

许多问候

答案 2 :(得分:0)

这里提供的答案并没有帮助我原因不明。我怀疑我的conf文件的其他部分排除了进入phpmyadmin目录。

不想花费太长时间修复它工作我只是将我的工作conf文件从www.example.com复制到phpmyadmin.example.com并将目录设置为/ usr / share / phpmyadmin。然后我做了nginx -s重新加载,我很高兴没有得到我遇到的403/502错误的底部。我还认为http://phpmyadmin.example.com对于随机黑客尝试其脚本比http://www.example.com/phpmyadmin域更安全,但它确实需要为您的域正确设置通配符,即使地址解析为你的服务器。

希望这有助于任何人在让phpmyadmin使用nginx的简单任务中感到沮丧。

答案 3 :(得分:0)

用户1941083解释。 您只需要在phpMyAdmin和您网站的目录之间创建一个符号链接。

sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/www

然后,修改/ etc / nginx / sites-available中的nginx设置。 变化:

index index.html index.html;

到:

index index.html index.html index.php;

答案 4 :(得分:0)

只需尝试使用UIActivityIndicatorView

有时Nginx不会自动使用index.php,我们必须通过更改http://domain-name-or-ip-address/phpmyadmin/index.php文件中的位置或手动将nginx.conf添加到网址中来告诉它,就像上面一样。

答案 5 :(得分:0)

我知道这已经晚了但是我在网上关注了一些教程和建议之后遇到了同样的问题,但无济于事。我也在这个页面上试过@STH答案,但仍然存在错误。

我不得不重启以下服务:

sudo systemctl restart nginx.service
sudo systemctl restart php-fpm

这就行了:将守护进程配置为在启动时启动,以确保所有LEMP程序在任何服务器重新启动后自动启动:

sudo systemctl enable nginx mysqld php-fpm

答案 6 :(得分:-1)

尝试在phpmyadmin位置和nginx www:

之间创建符号链接
sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html

之后你可以获得403 Forbidden但是应该在index.html和其他的服务器标签中添加index.php:

/etc/nginx/sites-available/default

然后重新启动nginx