我正在设计一套新的服务器设置,用于托管多个网站。(为我的客户共享托管切片主机)我最近放弃了传统的 LAMP 设置,选择了 Ubuntu,Nginx,php-fpm和mysql。
我比我的旧 Apache 更喜欢它,苏php,mysql 设置。它工作得很好,提供了站点之间的封装,并且占用的内存大大减少。但是我有一个主要的维护问题。为了拥有最新版本的 Nginx 并使用 php-fpm,我不得不从源代码编译这些程序。
我认为这是一个问题,因为跟踪更新和构建配置最终会花费大量工作。对于两个程序(和一个补丁),我可以处理,但似乎这种设置无法扩展到许多软件包和服务器。有没有好的方法来管理这种情况?我相信人们一直都在这样做。
答案1
无需从源代码编译并部署,只需构建(或查找)所需的较新版本的 Ubuntu 软件包即可。通常,您可以从旧版本中获取构建文件,然后直接使用较新的源代码。然后,您可以像维护其他软件包一样维护软件包,只需担心跟踪配置文件。
这Debian 新维护者指南在这种情况下非常有用,特别是第 9 章 — “更新软件包”.- 虽然乍一看可能有点吓人,但它可以很简单
- 解压新源
- 应用包文件
- 升级变更日志
- 建造
答案2
我使用发行版的包管理器打包每个软件。它有很多优点:
- 这是保持系统清洁的好方法,因为每个文件都是包管理的。
- 跟踪依赖关系
- 如果您想在另一台服务器上安装相同的软件,这是小菜一碟。
- 删除软件也几乎是自动的
- 如果您曾经在站点上部署过配置管理工具,那么将所有内容都放在包中会使系统更易于管理。
答案3
您遇到的核心问题是,您不能让发行版跟踪安全更新并为您应用,而是必须自己处理。不过,您可以通过订阅发行版的安全公告列表并过滤您关心的更新来让生活变得更轻松一些。我有一个 procmail 脚本,它由我的软件包生成器自动保持最新状态(其中的任何软件包都会进入“让此软件包的公告通过”),任何通过过滤器的内容(意味着“我需要考虑对此进行手动更新”)都会放入待办事项列表(票务系统)以供进一步处理。
答案4
我完全同意 Kamil Kisiel 的观点。
我使用 Windows 已有 15 年,为了找到适合自己的 Linux 版本,我做了大量研究。我刚刚将 Fedora 13 升级到 14,我想说的是:维护从源代码安装的软件是一场真正的噩梦。
尽管官方存储库有时落后于前沿技术,但从 YUM 或其他包管理器安装软件更快、更干净且更安全。
我知道我可以在未来的某个时候以不同的方式思考,但现在我认为这是最好的选择对于我这样的普通人来说。