我的理想设置:Apache2 上的 php 5.3.6 + mysql 5.5.10、FastCGI、PHP-FPM、带有 nginx 1.0 前端反向代理的 APC。以及免费的服务器管理面板:centos 5.6 上的 Virtualmin GPL
在新的 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 位版本,但需要删除其中一个才能使用 yum replace。所以我安装了 php 5.3.6 + mysql 5.5.10 和 PHP-FPM、APC。但 virtualmin 不支持 PHP-FPM + fastcgi,它仍然在 fcgid 上运行。
我是服务器管理方面的新手,因此我找不到解决方法。我想将 fcgid 包装器切换为 PHP-FPM + fastcgi,至少用于 1 个虚拟服务器。如果我能找到此部分的修复程序,我想将 nginx 1.0 设置为前端反向代理,用于提供静态文件并将 php 文件传递给 apache。http://nginxcp.com/是我想要的但它是用于 cpanel。
答案1
如果您对服务器管理软件(virtualmin)做出的决定不满意,您可以有以下几种选择:
- 让供应商更改软件或至少提供额外的功能,以便它按照你想要的方式工作
- 自己更改(由于它是 GPL,因此至少在这种情况下似乎是可能的)
- 将管理软件更改为按照您的方式运行的软件
- 手工操作
- 付钱让别人为你做
既然你在这里提问,那么你可能处于情况 (4),因此对于这种情况,你需要了解 nginx 配置。我让你在网上搜索有关如何使用 php-fpm 配置 nginx 以及如何使用 nginx 作为 apache 的代理的建议,有很多文章可用。但是,对你来说有趣的指令将是fastcgi_pass
和proxy_pass
我建议您学习标准配置管理工具之一,例如 cfengine、puppet、bcfg2 或 chef,以自动配置您想要提供的服务。这些工具中的每一个都试图管理您的配置,而不会对您可以使用的配置(甚至软件)施加限制。