繁体   English   中英

带有 Docker 的 Wordpress 和 Nginx:未加载静态文件

[英]Wordpress & Nginx with Docker: Static files not loaded

我正在使用 Docker 为我的简单 WordPress 网站提供服务。 一个 nginx 容器和一个 wordpress 容器。 简单的设置:

upstream wordpress_english {
  server wordpress_en:80;
}

server {
  listen 80;
  server_name my_domain.com www.my_domain.com;

  location / {
        proxy_pass http://wordpress_english;
    }
}

问题:未加载静态文件(css、js 和图像)。

浏览器控制台的输出显示 404:

http://wordpress_english/wp-content/themes/twentyfifteen/genericons/genericons.css?ver=3.2

很容易发现问题:浏览器在 wordpress_english(nginx 上游名称)而不是my_domain.com查找静态文件

我该如何解决这个问题?

这不是nginx问题,而是 WordPress 的问题。

解决方案

wp-config.php ,添加以下两行:

define('WP_HOME','http://my_domain.com');
define('WP_SITEURL','http://my_domain.com');

在 WordPress 安装期间,WordPress 会自动将WP_HOME设置为nginx上游名称。 上述解决方案覆盖了默认设置。

似乎是您的 nginx 配置文件中的问题。

在声明您的服务器my_domain您提供location /proxy_pass wordpress_english 我对 nginx 了解不多,但我在您的服务器my_domain没有看到任何路径声明,并且根链接到wordpress_english 他在wordpress_english而不是在您的服务器中查找文件似乎很正常。 (实际上,我猜他正在查看您的服务器,但您的服务器告诉您查看 wordpress)。

不确定,因为我不太了解 nginx 和 proxy_pass 函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM