phpmyadmin 无法在亚马逊 ec2 实例上的 linux ami 中的 nginx Web 服务器上工作

Posted

技术标签:

【中文标题】phpmyadmin 无法在亚马逊 ec2 实例上的 linux ami 中的 nginx Web 服务器上工作【英文标题】:phpmyadmin not working on nginx web server in linux ami on amazon ec2 instance 【发布时间】:2019-03-06 05:26:08 【问题描述】:

我的工作是: 实例 - 亚马逊 EC2, 操作系统 - linux AMI, 网络服务器 - nginx

我已经按照AWS文档here中提到的安装了phpmyadmin

我已经启动并运行了 mysql,以及 php-fpm 和 nginx。我还在 phpMyAdmin 的目录之间创建了一个符号链接,即 /var/www/html/phpMyAdmin -> /usr/share/nginx/www/html

下面是我的 nginx.conf 文件中的内容

server
        listen       80;
        server_name  localhost;
        root         /var/www/html/phpMyAdmin;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;


        # redirect server error pages to the static page /40x.html
        #
        error_page 404 /404.html;
            location = /40x.html 
        

        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
            location = /50x.html 
        

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ 
        #    proxy_pass   http://127.0.0.1;
        #

        #location ^~ /phpMyAdmin/  
        #   root /var/www/html/phpMyAdmin; 
        #   index index.php; 
        #   include fastcgi_params; 
        #   fastcgi_pass  unix:/var/run/php-fpm.sock;
        #   fastcgi_index index.php; 
        #   fastcgi_param SCRIPT_FILENAME script/$fastcgi_script_name; 
        # 

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ 
            root             /var/www/html/phpMyAdmin;
            fastcgi_index    index.php;
        fastcgi_pass     unix:/var/run/php-fpm.sock;
        include          fastcgi_params;
        fastcgi_param    SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht 
            deny  all;
           
    

但这些似乎都不起作用。我正在尝试几个小时,但无法弄清楚可能是什么问题导致它无法正常工作。任何帮助都会非常棒。谢谢!

【问题讨论】:

究竟是什么问题——您在浏览器中看到了什么错误消息,错误日志说什么等等? 【参考方案1】:

您可以尝试使用以下 vhost 配置文件。错误页面重定向处理显示您的配置文件有问题。

server 

listen 80;
    root /var/www/html/phpMyAdmin; # Change the PHPMyAdmin location
    index index.php;

    server_name default_server;# Set server name based on sub-domain

    access_log /var/log/nginx/phpMyAdmin-access.log;
    error_log /var/log/nginx/phpMyAdmin-error.log notice;

    charset utf-8;
    error_page 404 403 500 502 503 504 /index.php;

    location / 
        try_files $uri $uri/ /index.php?$args;
        access_log off;
        expires max;
    

    location ~* .(jpg|jpeg|png|gif|ico|css|js|ico|swf)$  expires 365d; access_log off; log_not_found off;

    location = /favicon.ico  log_not_found off; access_log off; allow all; 

    location = /robots.txt  access_log off; log_not_found off; allow all; 

    location ~ \.php$ 
        expires off;
        fastcgi_read_timeout 600;
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME
        $document_root$fastcgi_script_name;
        fastcgi_pass unix:/var/run/php/phpmyadmin.sock;
        fastcgi_index index.php;
    include fastcgi_params;
    

【讨论】:

以上是关于phpmyadmin 无法在亚马逊 ec2 实例上的 linux ami 中的 nginx Web 服务器上工作的主要内容,如果未能解决你的问题,请参考以下文章

没有这样的文件或目录:ec2实例中的var/www/html [关闭]

LAMP 和 PhpMyadmin 由 Intuz 提供支持 - 亚马逊 AWS

如何在亚马逊 ec2 实例上设置 solr

PhpMyadmin 不在 AWS EC2 实例上工作

tar(子):phpMyAdmin-3.4.1-all-languages-tar.bz2:无法打开:没有这样的文件或目录

在 Linux AMI EC2 实例上为 phpMyAdmin 5.0.2 安装启用 mysqli