Squid Web Cache Wiki

Squid Web Cache 文档

🔗 Windows 上的 Squid

🔗 Squid 能在 Windows 上运行吗?

Squid 可以使用 Cygwin 模拟环境在 Windows 上编译并作为系统服务运行,或者可以使用 MinGW + MSYS 开发环境在 Windows 原生模式下编译。所有现代 Windows 版本都受支持。

:information_source: 2.5 项目移植的原始开发代号是 SquidNT,但在 2.6.STABLE4 发布后,该项目已完成。因此,在谈论 Windows 上的 Squid 时,人们应该始终提及 Squid,而不是旧的 SquidNT 名称。

🔗 已知限制

🔗 不可用功能

🔗 预编译的二进制包

适用于多种环境的 Squid 可用软件包。

🔗 Squid-4

维护者: Rafael Akchurin, Diladele B.V.

Bug 报告: (仅限安装程序) https://github.com/diladele/squid-windows/issues

Windows 的 MSI 安装程序包可在

🔗 Squid-3.3

Bug 报告: 请参阅 https://cygwin.com/problems.html

Windows 上 Cygwin 环境的二进制包可在

🔗 安装 Squid

🔗 使用 Cygwin 安装

Cygwin 环境的使用与其他 Unix/Linux 环境非常相似,并且必须安装库的 -devel 版本。

:information_source: 默认情况下,Squid 将安装在 /usr/local/squid。如果您希望安装在其他位置,请在编译时参阅 configure 的 --prefix 选项。

现在,添加一个新的 Cygwin 用户(请参阅 Cygwin 用户指南)并将其映射到 SYSTEM,或者创建一个新的 NT 用户,以及一个匹配的 Cygwin 用户,它们将成为 squid 的运行用户。

如果您使用 CYGWIN=ntsec,请阅读有关权限的 Squid FAQ。

现在,配置 cygrunsrv 以选定的用户名作为服务运行 Squid。您可能需要在此处检查权限。

🔗 服务

Windows 服务支持的命令行选项

🔗 命令行

要使用 Squid 的原始命令行,必须 **一次性** 使用新的 -O 开关,语法如下:

squid -O cmdline [-n service-name]

如果要指定多个服务命令行选项,请使用引号。只有在使用非默认服务名称时才需要 -n 开关。

:x: 请勿在 Windows 2000/XP/2003 服务应用程序中使用“启动参数”。它们特定于 Windows 服务功能,Squid 无法解释和使用它们。

在以下示例中,“squidsvc” Squid 服务的命令行设置为“-D -u 3130”。

squid -O "-u 3130" -n squidsvc

🔗 Windows 上的缓存管理器 CGI

在 Windows 上,缓存管理器可以与 Microsoft IIS 或 Apache 一起使用。可能需要一些特定的配置。

🔗 配置指南

🔗 注册表 DNS 查找

在 Windows 平台,如果在 squid.conf 中的 dns_nameservers 选项或 /etc/resolv.conf 文件中没有指定任何值,DNS 名称服务器列表将从 Windows 注册表中获取,静态和动态 DHCP 配置都受支持。

🔗 兼容性说明

🔗 编译

configure 选项

不受支持的 configure 选项

🔗 使用 Cygwin 编译

要编译 Squid,您需要完全安装 Cygwin。

Cygwin 环境的使用与其他 Unix/Linux 环境非常相似,并且必须安装库的 -devel 版本。

🔗 使用 MinGW 编译

需要从 https://osdn.net/projects/mingw/ 获取最新软件包,并使用 GCC 8 或更高版本的编译器。

:warning: 此部分需要重写。自 Squid-3.4 以来,此环境未成功构建。

要使用 MinGW 环境编译 Squid,必须安装 MSYS、MinGW 和 msysDTK 软件包。还需要单独下载一些额外的库和工具。

在编译支持 SSL 的 Squid 之前,需要执行一些操作(以下示例中 OpenSSL 安装在 C:\OpenSSL,MinGW 安装在 C:\MinGW)。

像往常一样解压源文件,然后运行:

    ./configure \
        --enable-build-info="Windows (MinGW32)" \
        --prefix=c:/squid \
        --enable-default-hostsfile=none

    make check && make install

Squid 将安装在 c:\squid。如果您希望安装在其他位置,请更改 configure 的 --prefix 选项。

现在,要将 Squid 作为 Windows 系统服务运行,请运行 squid -n,这将创建一个名为“Squid”的自动启动服务。从命令提示符运行 net start squid 或使用服务管理应用程序来启动它。

始终检查提供的发行说明以获取任何版本特定的详细信息。

🔗 使用 msys2 编译

:x: 待完成

🔗 移植工作

Squid 系列 3+ 在所有 Windows 编译器系统上都存在主要的构建问题。下面是为 Windows 制作有用 Squid 的已知状态摘要。按上次页面更新时的完成度大致排序。

Windows 的 TODO 列表还有额外的愿望清单项目需要解决。

问题

🔗 Cygwin

Cygwin 有工作的 Squid-4 构建和软件包,由 Diladele 提供支持。

🔗 MinGW-w64

目前是 Squid 开发团队的业余时间关注点。最新的交叉编译结果请见 https://build.squid-cache.org/job/trunk-mingw-cross/。由于这是业余时间的工作,进展缓慢。

交叉编译

    # Debian Packages Required:
    #
    # g++
    #       provides GCC base compiler. GCC 8 or later required.
    #
    # mingw-w64
    #       provides GCC cross-compiler. GCC 8 or later required.
    #
    # mingw-w64-tools
    #       provides pkg-config and other build-time tools used by autoconf
    #

    ./configure \
            --host=x86_64-w64-mingw32 \
            BUILDCXX="g++" \
            BUILDCXXFLAGS="-DFOO" \
            --enable-build-info="Windows (MinGW-w64 cross-build)"

原生构建

:x:Squid-3.3 以来,在此环境中未进行任何工作。

需要从 http://sourceforge.net/projects/mingw-w64/ 获取最新软件包,并使用 GCC 8 或更高版本的编译器。

    sh ./configure \
        --enable-build-info="Windows (MinGW-w64)"

🔗 MinGW32

:x:Squid-3.5 以来,在此环境中几乎未进行任何工作。

Joe Pelaez Jorge 也似乎做了一些工作(https://code.launchpad.net/~joelpelaez/squid/win32)。

🔗 Visual Studio

:x:Squid-2.7 以来,在此环境中几乎未进行任何工作。

需要生成全新的 .sln, .sdf 和 .vcxproj 构建文件。理想情况下,这些文件将反映 Windows 风格的便捷库的组合,以生成多个二进制文件。这方面的实验取得了一些不错的成果。

类别: 知识库

导航: 站点搜索站点页面类别🔼 向上