我有一个在现场网站运行LAMP的Mediatemple服务器(Centos / Plesk)。
我看过教程解释如何安装nginx,但我不明白应该如何在一个活的服务器上完成。
如果我没有错,我需要安装nginx,并运行在不同的端口,看看一切正常。 然后当一切正常工作,我把它的端口切换到80,并杀死阿帕奇。
如果是这样的话,我有几个问题。
它会和Apache并行工作吗? (在nginx的phpconfiguration中没有改变吗?)。
我如何testinghttps连接(他们有专用的端口,所以我不能使用不同的端口,使其与Apache并行工作。
我将不胜感激任何关于在不中断当前stream量的情况下在活动服务器上安装,testing和切换到nginx的build议。
谢谢,尼罗
如果您在CGI或FastCGI模式下运行PHP,那么您应该可以与Apache和nginx共享二进制文件。 如果你使用mod_php,虽然你需要更多的工作。
如果你最终在同一台机器上运行两个PHPconfiguration,你需要确保它们运行在同一个用户上下文中 – 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上的进程列表。
不过我不是试图在一台机器上运行它,而是强烈build议你在另一台机器或虚拟机上安装nginx,然后尝试将系统迁移到那里进行testing。 一旦你这样做,你将有一个更好的想法,需要做什么来迁移现场。 不要只是玩你的现场服务器,并希望这个过程将顺利进行第一次!
你可以沿着apache使用它,是的。 你的发行版的软件包可能会抱怨把它与apache一起安装,但是如果有必要的话,试着在那里强制它,只是在尝试(重新)启动它之前更改使用的端口。
http也使用默认端口(80),就像https的端口443一样。只需在服务器上指定一个不同的端口(例如883),强制浏览器中的端口( https:// yourserver:883 ),然后继续testing。
当这一切似乎工作,停止nginx,设置端口正常,停止Apache,启动Nginx。 完成。