如何构建mod_fastcgi对于Apache2在OpenSUSE 12.2上

如何构建mod_fastcgi对于Apache2在OpenSUSE 12.2上

在Apache之前,Apache需要mod_fastcgi才能使用PHP-FPM。 有一个用于OpenSUSE的apache2-mod_fastcgi软件包,但不幸的是它是错误的:它不允许您使用vhost内的FastCgiExternalServer指令,尽管官方的mod_fastcgi文档说这是允许的。 本指南介绍如何从OpenSUSE 12.2系统的Ap​​ache2源创建新的mod_fastcgi来解决此问题。

我不会保证这将为您工作!

初步说明

mod_fastcgi可以用于使Apache2与PHP-FPM一起工作(请参阅在OpenSUSE 12.2上使用 PHP2-WPM 与Apache2 )。 不幸的是,如果您决定在虚拟机配置中使用FastCgiExternalServer指令,Apache将拒绝启动,

apache2ctl -t

给你这个错误:

server1:/etc/apache2/sites-available # apache2ctl -t
Syntax error on line 57 of /etc/apache2/sites-enabled/100-example.com.vhost:
FastCgiExternalServer cannot occur within <VirtualHost> section
server1:/etc/apache2/sites-available #

官方的mod_fastcgi文档说, FastCgiExternalServer可以在全局服务器配置中使用,也可以在vhost配置中使用,所以这是OpenSUSE的apache2-mod_fastcgi包中的一个错误。 我们可以建立我们自己的mod_fastcgi,如下所示:

建立mod_fastcgi

首先确保安装了apache2-devel

zypper install apache2-devel

下载最新的mod_fastcgi源代码,如下所示:

wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
tar xvfz mod_fastcgi-2.4.6.tar.gz
cd mod_fastcgi-2.4.6/
cp Makefile.AP2 Makefile
ln -s /usr/include/apache2-worker/mpm.h /usr/include/apache2/
make top_dir=/usr/share/apache2
make top_dir=/usr/share/apache2 install

确保你有线

LoadModule fastcgi_module modules/mod_fastcgi.so

/etc/apache2/sysconfig.d/loadmodule.conf中

最后重新启动Apache:

/etc/init.d/apache2 restart

而已。 您刚刚用自己的OpenSUSE的mod_fastcgi模块替换了它。

链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏