0

我的公司在我们的 Web 服务器上的补丁管理方面存在一个非常现实的问题。公共服务器已经过时,现在管理层认为这是一个优先事项。然而,他们并没有简单地更新和修补现有服务器(以及随之而来的所有测试),而是着手迁移到 Solaris 服务器,以此作为“缓解问题”的一种方式。(我认为这是因为他们碰巧有一些 solaris 服务器坐在那里)

我对 Solaris 没有任何问题,而且我发现从技术上讲,我所有的 php web 代码都应该在 MySQL 数据库中运行良好。我也明白从 php4 升级到 php5 需要尽可能多的思考和测试。

我想知道的是,当服务器团队回来告诉我我的代码不起作用时,我应该注意什么样的问题。我现在想开始寻找头痛以缓解过渡。

我们目前拥有最后一代的堆栈,我假设他们在升级和迁移 PHP、MySQL 和 Apache 的服务器时会放入当前一代

问题摘要: 我的公司正在从 Linux 服务器上的 PHP4 站点迁移到 Solaris 服务器上的 PHP4 站点。在为迁移准备代码时我应该寻找哪些问题?

4

2 回答 2

2

有几个细节很重要。

首先,我相信您需要一份服务合同才能访问安全补丁集。接下来,您必须从 Sun 的网站下载每月(或每季度)的补丁集。通过执行补丁集附带的 shell 脚本来安装补丁。根据该补丁是否适用于您的配置,某些甚至大部分补丁会出现故障。

在第一轮补丁之后,重启机器:reboot --(不要忘记两个破折号)这样内核就会知道更新配置信息。之后,您再次安装相同的补丁集,以防第一轮补丁存在依赖关系。猜猜看,重新启动 - 再次。

它是一个比 Linux(或至少是 Linux 的某些变体)更正式的维护系统。显然 PHP、MySQL、Apache 等都可以正常工作。但是根据您选择的芯片组(酷线程),您需要安装其 SAMP 堆栈的适当调整版本(它被称为 glassfish 堆栈之类的东西)。

我不会太担心 shell,因为对于大多数管理员来说,以 root 身份操作不是通常的行为——所以你可以选择 bash 或 ksh。此外,不要从 /bin/sh 更改根 shell,因为它是静态链接的,以防你搞砸了一些共享库,如 libc.so。

您还需要下载 SunStudio(当前版本为 12.1)并使用 Sun 的编译器编译下载的源文件,因为它可以更好地针对 SPARC 芯片组进行优化。并且不要忘记在编译时使用 -fast 编译器标志。除此之外,我唯一能想到的就是下载 Sun 的 DTrace Guide(动态跟踪指南)。

哦,阅读pkgaddpkgrm。还有一件事,默认安装中可能不存在top ,因此请使用 Sun 的版本: prstat。并熟悉svcadm来管理服务。唉,我能想到的就这么多了。

于 2009-09-24T22:04:15.867 回答
1

哪个版本的 Solaris,如果您知道?

假设它们安装相同或更新版本的 PHP 和 MySQL,则 php4 级别的差异很小。迁移到 Solaris 时更容易出问题的是 shell 或 C 代码,因此,如果您也负责其中的任何一个,那么您将有更多工作要做。

关于 shell,值得记住的是 Solaris 使用的是 Bourne shell,而不是 Bash,因为它是/bin/sh; 很多人都有一些用于各种任务的 shell,而且很容易在其中使用在 vanilla bourne-shell 中不起作用的 bash-isms。

同样,如果您完全使用外部二进制文件,Solaris 的可能会大不相同。

于 2009-09-17T21:28:53.980 回答