gpt4 book ai didi

nginx - 如何将官方phpmyadmin docker镜像的访问url改为http ://localhost/phpmyadmin?

转载 作者:行者123 更新时间:2023-12-02 18:07:44 27 4
gpt4 key购买 nike

我下载了官方的 phpmyadmin docker 镜像( https://store.docker.com/community/images/phpmyadmin/phpmyadmin )。一切都好。

对我来说只有一个问题:访问 url 是 http://localhost我希望它变成 http://localhost/phpmyadmin .

我做了一些研究,发现关键在 /etc/nginx.conf这是由 supervisord 调用的。这是 /etc/nginx.conf 中的片段:

server {
listen 80 default_server;
server_name _;

root /www;

index index.php index.html index.htm;

charset utf-8;

if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 405;
}

location / {
try_files $uri $uri/ =404;
}

location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}

location ~ \.php$ {
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/php/php-fpm.sock;

# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+\.php)(/.+)$;

# Check that the PHP script exists before passing it
try_files $fastcgi_script_name =404;

# Bypass the fact that try_files resets $fastcgi_path_info
# see: https://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;

fastcgi_read_timeout 600;
fastcgi_buffering off;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
}

location ~ /\. {
deny all;
}

location ~ /(libraries|templates) {
deny all;
}

}

有谁知道如何修改这个 nginx.conf使访问url变为 http://localhost/phpmyadmin ?

最佳答案

我不建议在 Nginx 中解决这个问题。它可能容易出错,特别是如果有人进行反向代理。

看来官方的 phpmyadmin 镜像是基于 Apache 的。
不幸的是,截至 2021 年,无法从/phpmyadmin 提供 phpmyadmin
所以你必须自己构建额外的层:

FROM phpmyadmin

RUN mv /var/www/html /var/www/phpmyadmin
RUN mkdir -p /var/www/html
RUN mv /var/www/phpmyadmin /var/www/html/phpmyadmin
或者您可以使用对您有相同作用的图像:
laimison/phpmyadmin:latest

题外话:如果有人问反向代理什么配置就足够了:
    location /phpmyadmin {
proxy_pass http://pma:80;
proxy_set_header Host $http_host;
break;
}
就是这样。

关于nginx - 如何将官方phpmyadmin docker镜像的访问url改为http ://localhost/phpmyadmin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42035947/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com