我有一个在实时网站中运行 LAMP 的 Mediatemple 服务器(Centos / Plesk)。
我看过解释如何安装 nginx 的教程,但我不明白它应该如何在实时服务器中完成。
如果我没记错的话,我需要安装 nginx 并在不同的端口上运行它以查看一切正常。然后当一切正常时,我将其端口切换到 80 并杀死 apache。
如果是这样的话,我有几个问题。
它会与 Apache 并行使用 php 吗?(nginx的php配置没有变化吗?)。
如何测试 https 连接(它们有专用端口,所以我不能使用不同的端口使其与 apache 并行工作。
对于在实时服务器上安装、测试和切换到 nginx 而不中断当前流量的任何建议,我将不胜感激。
谢谢,尼罗
您可以在 apache 旁边使用它,是的。您的发行版软件包可能会抱怨将其与 apache 一起安装,但如有必要,请尝试将其强制安装在那里,并在尝试(重新)启动它之前更改使用的端口。
http 也使用默认端口(80),就像 https 的端口 443。只需在服务器中指定不同的端口(例如 883)强制浏览器中的端口(https://yourserver:883),然后继续正常测试.
当一切似乎正常时,停止 nginx,将端口设置为正常,停止 apache,启动 nginx。完毕。
如果您在 CGI 或 FastCGI 模式下运行 PHP,那么您应该能够与 Apache 和 nginx 共享二进制文件。如果你使用 mod_php,你需要做更多的工作。
如果您最终在同一台机器上运行两种 PHP 配置,您需要确保它们在相同的用户上下文中运行 - mod_php 将以 Apache 的用户身份运行脚本(通常称为“nobody”或“www-data”(www-data 是Debian 默认值)或类似的)和大多数 CGI/FastCGI 设置使用 suEXEC 或类似的,以便在拥有脚本的用户的安全权限下运行脚本 - 这种差异可能会在文件所有权和权限方面产生重大问题。
对于 HTTPS:您可以在不同的端口上运行 - 它是证书通常特定的服务器名称。在地址 111.222.333.444 上的端口 444 上运行的 Web 服务器进程可以使用“www.yourdomain.com”的证书以及在 22.33.44.55 端口 443 上列出的进程。
我强烈建议您不要尝试在一台机器上运行它,而是将 nginx 安装在另一台机器或虚拟机上,然后尝试将您的系统迁移到那里进行测试。完成此操作后,您将更好地了解迁移实时站点需要做什么。不要只玩您的实时服务器,并希望该过程在第一次顺利进行!