我有一个基于 docker 的 apache httpd 服务器。我需要安装mod_pagespeed
进入那个。
我现在使用的 flavor 是基于 debian 的,而不是基于 alpine 的——出于某些原因。
以下是在 debian/ubuntu dist 中安装模块所需的命令列表 - 来自官方站点
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
sudo dpkg -i mod-pagespeed-*.deb
sudo apt-get -f install
这是给出错误
dpkg: dependency problems prevent configuration of mod-pagespeed-stable:
mod-pagespeed-stable depends on apache2; however:
Package apache2 is not installed.
这很明显,因为没有
apache2
已安装服务,仅 httpd
命令有效。甚至文件夹结构也不同于常规的 debian/ubuntu 安装。
我没有找到任何
.so
文件在任何地方,否则我可以将它放在某个目录中并执行 LoadModule
.我想我需要从源代码进行自定义构建,有什么简单的方法吗?
最佳答案
您可以使用以下 Dockerfile
作为基础:
FROM debian:stretch
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_PID_FILE /var/run/apache2/apache2.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_LOG_DIR /var/log/apache2
ENV LANG C
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 wget \
&& wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb -O /tmp/modpagespeed.deb \
&& dpkg -i /tmp/modpagespeed.deb
RUN mkdir -p /var/log/apache2 /var/run/apache2 /var/lock/apache2 \
&& chown www-data:www-data /var/log/apache2 /var/run/apache2 /var/lock/apache2
CMD ["apache2", "-DFOREGROUND"]
EXPOSE 80
构建镜像并启动一个容器,你会得到一个类似于
X-Mod-Pagespeed: 1.13.35.2-0
的响应头。 .希望这可以帮助!
关于apache - 如何在 docker apache httpd 中安装 mod_pagespeed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54782320/