`
samuschen
  • 浏览: 398450 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

linux下apache+php(fastcgi)web服务器的搭建

阅读更多

本文的编译配置仅限于实现 apache+php(FastCGI) 的最简单配置,实际编译模块如 GD 库、 mysql 模块支持等请自行配置  

 

【编译安装 apache

 

# tar -zxvf httpd-2.2.15.tar.gz

# cd httpd-2.2.15

# ./configure \

> --prefix=/usr/local/apache2 \

> --enable-module=so

... 其他编译配置参考 ./configure --help...

# make

# make install

# cd ../

 

【编译安装 apache 所需动态库 mod_fastcgi

 

# tar -zxvf mod_fastcgi-2.4.6.tar.gz

# cd mod_fastcgi-2.4.6

# cp Makefile.AP2 Makefile

# make top_dir=/usr/local/apache2

# make install

# cd ../

 

修改 /usr/local/apache2/conf/httpd.conf ,添加

LoadModule fastcgi_module modules/mod_fastcgi.so

 

 

【编译安装 PHP( 支持 FastCGI)

* php-fpm 补丁可以用来管理 php 进程,该补丁详细信息,请自行查阅相关资料

 

# tar zxvf php-5.2.13.tar.gz

# gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1

# cd php-5.2.13/

# ./configure \

> --prefix=/usr/local/php \

> --with-config-file-path=/usr/local/php/etc \

> --enable-fastcgi \

> --enable-force-cgi-redirect \

> --enable-fpm

... 其他编译配置参考 ./configure --help...

# make

# make install

# cp php.ini-dist /usr/local/php/etc/php.ini   // 将配置文件拷贝到--with-config-file-path指定的路径

# cd ../

 

编辑 php-fpm 的配置文件 /usr/local/php/etc/php-rmp.conf

将其中注释标志去掉

<!--    <value name="user">nobody</value>   -->

<!--    <value name="group">nobody</value>  -->

注释符号 <!--   -->

否则会出现如下错误

[ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'

 

# /usr/local/php/sbin/php-fpm start

# netstat -ntl  ( 查看端口 9000 已被监听 )

* 如果想利用 apache 管理 php 的进程, php-fpm 进程可以关闭

# /usr/local/php/sbin/php-fpm stop

 

 

 

 

【配置 apache+php(FastCGI) 整合】

 

创建 FastCGI 脚本目录

 

 

# mkdir /usr/local/apache2/fcgi-bin

# ln -s /usr/local/php/bin/php-cgi /usr/local/apache2/fcgi-bin/php-cgi

 

修改 /usr/local/apache2/conf/httpd.conf ,采用 apache php_fpm 管理 php 进程的配置有所不同,请选择其中一种方式。用 php_frm 管理的方式可以不修改 php 配置的前提下直接应用于 nginx+php 的组合中:

 

A :如果用 apache 的内部的 fpm(fastcgi process manager)

 

 

 

  1. <IfModule fastcgi_module>  
  2.   
  3.     ScriptAlias /fcgi-bin/ "/usr/local/apache2/fcgi-bin/"   
  4.  
  5.     # 开启10个php进程   
  6.   
  7.     FastCgiServer /usr/local/apache2/fcgi-bin/php-cgi -processes 10  
  8.   
  9.     AddType application/x-httpd-php .php  
  10.   
  11.     AddHandler php-fastcgi .php  
  12.   
  13.     Action php-fastcgi /fcgi-bin/php-cgi  
  14.   
  15.     <Directory "/usr/local/apache2/fcgi-bin/" >  
  16.   
  17.         SetHandler fastcgi-script  
  18.   
  19.         Options FollowSymLinks  
  20.   
  21.         Order allow,deny  
  22.   
  23.         Allow from all  
  24.   
  25.     </Directory>  
  26.   
  27. </IfModule>  
 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics