【问题标题】:Wordpress & Nginx with Docker: Static files not loaded带有 Docker 的 Wordpress 和 Nginx:未加载静态文件
【发布时间】:2017-03-07 07:27:24
【问题描述】:

我正在使用 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

我该如何解决这个问题?

【问题讨论】:

    标签: wordpress nginx docker


    【解决方案1】:

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

    解决方案

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2016-08-15
        • 2017-03-15
        • 1970-01-01
        • 1970-01-01
        • 2021-08-08
        • 2020-07-18
        • 2014-05-25
        • 2012-11-20
        • 2016-07-17
        相关资源
        最近更新 更多