带有nginx前端反向代理的virtualmin面板上的Apache2,FastCGI,PHP-FPM,APC

我的梦想设置:在Apache2上的PHP 5.3.6 + MySQL 5.5.10,FastCGI,PHP-FPM,APC与nginx 1.0前端反向代理。 而作为免费的服务器pipe理面板:Virtualmin GPL on centos 5.6

在新的centos 5.6设置。 使用这个代码来安装virtualmin:

wget http://software.virtualmin.com/gpl/scripts/install.sh chmod +x install.sh ./install.sh 

安装后,我看到PHP是5.1和MySQL是5.0版本。 而系统不支持php-fpm,但支持fcgid包装。 我做了以下更改:

 wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-6.ius.el5.noarch.rpm wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm rpm -Uvh ius-release*.rpm epel-release*.rpm yum install yum-plugin-replace yum remove mysql.i386 yum replace mysql --replace-with mysql55 service mysqld restart chkconfig mysqld on mysql_upgrade --password=1234 yum replace php --replace-with php53u yum install php53u-fpm php53u-pecl-apc service httpd restart chkconfig php-fpm on service php-fpm start 

我不知道为什么virtualmin同时安装mysql.i386和64位版本,但需要删除其中的一个使用yumreplace。 所以我有PHP 5.3.6 + MySQL 5.5.10 PHP-FPM,APC安装。 但是virtualmin不支持PHP-FPM + fastcgi,而且它仍然在fcgid上运行。

我是服务器pipe理超新手,所以我不能find解决办法之后。 我想至less为1个虚拟服务器切换fcgid包装到PHP-FPM + fastcgi。 如果我能find一个修复这个部分,我想设置nginx 1.0作为前端反向代理服务静态文件和传递PHP文件到Apache。 http://nginxcp.com/是我想要的,但它的cPanel。

如果您对服务器pipe理软件(virtualmin)所做的决定不满意,您有几个select:

  1. 让供应商更改软件或至less提供额外的function,以便您的工作方式
  2. 改变它自己(在这种情况下,似乎至less可能,因为它是GPL)
  3. 将pipe理软件改为按自己的方式操作的软件
  4. 手工操作
  5. 支付某人为你做

既然你在这里问,你可能在情况(4),所以对于这种情况,你需要了解nginx的configuration。 我会让你search网页上关于如何使用php-fpmconfigurationnginx和如何使用nginx作为apache的代理的build议,这里有很多可用的文章。 不过,您感兴趣的指令将是fastcgi_passproxy_pass

我会build议您学习cfengine,puppet,bcfg2或chef之类的标准configurationpipe理工具,以自动configuration您想要提供的服务。 这些工具中的每一个都会试图pipe理您的configuration,而不会对您允许使用的configuration(甚至是什么软件)施加限制。