小编Kar*_*iem的帖子

将 git 用于多个服务器配置文件

我们已将大量源代码迁移到 git,并对我们当前的解决方案感到非常满意。我们希望在同一系统上对我们的服务器配置文件进行版本控制,但有一些事情无法按照我们希望的方式工作,我希望有人可以在这里分享他的经验。

这个问题类似于对服务器配置文件使用修订控制?,但我们有一些特殊要求,不适用于有关该问题的建议。

当前设置对配置文件使用 subversion。相应的存储库看起来像这样

 / # 仓库根目录
 +--www.domain.com/ # www 的配置
 | \ - 等等/
 | \--apache2/
 +--dev.domain.com/ # dev 的配置
 | +--等/
 | \ - 选择/
 | \--app1/         
 | \--conf/ # 在 dev 上配置 app1
 \--staging.domain.com/ # 暂存配置

使用 subversion 这将工作得很好,因为可以只检出存储库的子目录。此外,您可以使用 svn:externals 来指向几种不同配置设置的一种通用结构。我们只需要处理所有版本化目录中的.svn文件。另一方面 Git没有 svn:externals并且稀疏检出总是要求从根到实际目录的路径相同。

在讨论迁移到 git 时,我尝试写下服务器配置版本控制的主要要求

  • 我们只想要一个存储库
  • 应该可以轻松地将更改推送到中央遥控器
  • 变更集应该包含真正的作者

有没有一种很好的方法可以将所有配置都放在一个存储库中并且只有一个子路径作为工作副本?目前我正在考虑两种方法,但想先在这里问这个问题

  1. 如果.git存储库位于固定位置,例如/var 中的某个位置,我们可以从“目标”工作目录链接到子路径。主要问题:除了符号链接单个文件之外,我不知道有什么方法可以将/etc 中的“链接”到另一个目录以便仅导入内容
  2. 我在这个 SO question上找到了另一种选择,建议在一个存储库中有多个分支。这肯定会增加复杂性,但我可以看到我们尝试这种方式。

在单台机器上使用 …

linux configuration svn git

17
推荐指数
1
解决办法
1万
查看次数

如何为通过 mod 代理的请求启用日志记录

有没有办法记录通过 mod 代理的请求?我需要一种方法来调试我的配置,因为我似乎没有到达我应该去的地方。我需要以下信息:

  • 传入请求的标头
  • 什么被发送到代理目标

也许是一个相关的问题:有没有办法去除一些标题?我尝试了以下方法:

ProxyPass         /proxy/other http://not.under.my.control/
<Location /proxy/other>
   ProxyPassReverse /
   RequestHeader unset Authorization
</Location>
Run Code Online (Sandbox Code Playgroud)

我真的不知道这是否可以,因为我什么也没看到。

debug logging mod-proxy apache-2.2

16
推荐指数
4
解决办法
9万
查看次数

标签 统计

apache-2.2 ×1

configuration ×1

debug ×1

git ×1

linux ×1

logging ×1

mod-proxy ×1

svn ×1