我正在运行Ubuntu Server 14.04。我将Tomcat 7安装为服务器,将Nginx安装为反向代理。然后我还安装了PhpMyAdmin并开始工作。我现在唯一的问题是没有PhpMyAdmin的图像显示。我已经在这个问题上做了很多搜索,并找到了几种方法来解决它,但它们都不适用于特定的实例。我以这样的方式设置我的Nginx配置,即任何请求都转发到我的Tomcat服务器,除非它以.php
结束,在这种情况下它会(正确地)转发到PhpMyAdmin。这是我的nginx配置(etc/nginx/sites-enabled/default
)的重要部分:
server {
listen 80 default_server;
server_name 123.123.123.123; # fake Ip address
root /usr/share/nginx/html;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tomcat_server;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
我对上述内容有基本的了解,所以请原谅我不知道位置关闭是如何工作的,或者他们的内容是如何工作的。
我认为我需要做的是以包含/phpmyadmin/ + anything here + .png
或.jpg
等的请求转发到正确目录的方式重写位置闭包。如果这不是最好的方法,请告诉我。否则请告诉我如何重写我的位置闭包以执行我想要的操作。似乎PhpMyAdmin的图像存储在/usr/share/nginx/html/phpmyadmin/themes/
,如果这有帮助的话。如果我需要提供任何其他信息,请告诉我。