Apache+Fastcgi模块+APC经典配置

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

前言 * FastCGI是一个程序接口,它能加速公共网关接口(CGI),CGI是一种用最常见的方式使Web服务器调用应用程序的Web应用程序。按一个FastCGI工具来看,用户要求进入一个网站并使用一个专门的应用软件的话,使用FastCGI能够快3到30倍。FastCGI是Web服务器的一种插件。

一、安装apache fastcgi模块:

 
  1. 下载地址:http://down.51cto.com/data/139939 (51cto下载中心)  
  2.  
  3. tar -zxvf mod_fastcgi-current.tar.gz  
  4.  
  5. cd mod_fastcgi  
  6. cp Makefile.AP2 Makefile  
  7. vi Makefile 修改top_dir=/usr/local/apache2  #你的apache安装路径或者直接编(apache2.0已经安装)  
  8. make  
  9. make install(这里采用apache而不采用nginx的原因是:虽然nginx有很多优点,但是对于大部分中小型网站来说,apache经过优化可以满足访问要求。)

二、安装MYSQL

 
  1. tar -zxvf mysql-5.0.75.tar.gz  //解压  
  2. cd mysql-5.0.75  
  3.  ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=all 
  4. make  
  5. make install  
  6. groupadd mysql  //创建组mysql  
  7. useradd -g mysql mysql  //创建mysql用户,把mysql加入到mysql组  
  8.  
  9. cd /usr/local/mysql/  
  10. cp share/mysql/my-medium.cnf  /etc/my.cnf  
  11.  
  12. cp share/mysql/mysql.server /etc/init.d/mysqld  
  13.  
  14. (以上是把mysql加入系统服务)  
  15.  
  16.  chown -R mysql.mysql /usr/local/mysql  
  17.  /usr/local/mysql/bin/mysql_install_db --user=mysql  //初始化数据库  
  18.  chown -R mysql.mysql /usr/local/mysql/var  
  19.  /usr/local/mysql/bin/mysqld_safe --user=mysql &  //启动数据库(或者 service mysqld restart) 

三、安装php-fpm
在安装PHP-FPM编译的时候会报找不到libevent,可以执行

 
  1. yum -y install libevent*  
  2. wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz  
  3. tar zxvf libevent-1.4.12-stable.tar.gz  
  4. cd libevent-1.4.12  
  5. ./configure --prefix=/usr/local/libenent  
  6. mak && make install
 
  1. tar -jxvf php-5.3.3.tar.bz2  
  2. cd php-5.3.3  
  3. ./configure \  
  4. --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc \  
  5. --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config \  
  6. --with-zlib --with-curl --with-jpeg-dir --with-freetype-dir --with-png-dir \  
  7. --with-libxml-dir=/usr/ --with-gd  --with-openssl  \  
  8. --with-openssl --with-ldap --with-ldap-sasl --with-xmlrpc --without-pear \  
  9. --enable-xml --enable-gd-native-ttf \  
  10. --enable-ctype --enable-calendar --enable-inline-optimization \  
  11. --enable-magic-quotes --with-bz2 --enable-mbstring \  
  12. --enable-fpm  --enable-safe-mode  --enable-bcmath  --enable-shmop \  
  13. --enable-sysvsem --enable-mbregex  --enable-mbstring --enable-pcntl  \  
  14. --enable-zip --enable-ftp --enable-sockets --enable-soap --with-libevent-dir=/usr/local/libevent/  
  15. make && make install  
  16.  
  17. cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm  
  18. chmod +x /etc/init.d/php-fpm  
  19.  
  20. cp -r sapi/fpm/php-fpm.conf /usr/local/php5/etc/ 

启动php-fpm
/etc/init.d/php-fpm start
此时启动应该会报错,说php-fpm.conf配置文件中很多选项没有打开,只要按照它的提示打开就OK。
四、修改apache,让apache支持php-fpm
vi httpd.conf

 
  1. 增加: LoadModule fastcgi_module modules/mod_fastcgi.so   
  2. 有的话不用添加。  
  3.  
  4. 在vhosts.conf文件的项目中加入以下(如果不引用vhosts.conf的话可以把下面的语句加入http.conf的最后)  
  5.     ScriptAlias /cgi-bin/ "/usr/local/php5/bin/"  
  6.     FastCgiExternalServer /usr/local/php5/bin/php-fpm -host 127.0.0.1:9000  
  7.     AddType application/x-httpd-php .php  
  8.     AddHandler php5-fastcgi .php  
  9.     Action php5-fastcgi /cgi-bin/php-fpm  
  10.  
  11.     <Directory "/usr/local/php5/bin/"> 
  12.     Options -Indexes FollowSymLinks +ExecCGI  
  13.     Order allow,deny  
  14.     Allow from all  
  15.     </Directory> 
  16.  
  17. #Action php5-fastcgi /cgi-bin/php-fpm中的php-fpm一定要和FastCgiExternalServer中的文件名一样.而且/cgi-bin/和前面的ScriptAlias的路径也要一样,两句放一块就是说上面的映射也就是所有的.php文件都由/cgi-bin/php-fpm 处理  
  18.  否則會出錯的.  
  19. 加完以上的,安装完成了。但是php-fpm.conf配置文件需要优化(常见优化见后期给出)  
  20.  
  21. 注:在增加了apc.so后总是出现linux Warning: PHP Startup: Unable to load dynamic library  
  22. 后怎么更改都不行,后重新编译php-5.3.3,并加上  
  23. --with-libevent-dir=/usr/local/libevent参数,一切OK!最好不要用系统默认的 

五、安装php-apc的步骤:

PHP APC提供两种缓存功能,即缓存Opcode(目标文件),我们称之为apc_compiler_cache。同时它还提供一些接口用于PHP开发人员将用户数据驻留在内存中,我们称之为apc_user_cache。我们这里主要讨论php-apc的配置。

 
  1. /usr/local/php5/bin/phpize  
  2.  
  3. export PHP_PREFIX="/usr/local/php5/" 
  4.  
  5. ./configure --enable-apc --enable-apc-mmap --with-apxs=/usr/local/httpd-2.2.14/bin/apxs --with-php-config=$PHP_PREFIX/bin/php-config 

php.ini添加如下语句

 
  1. extension_dir="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626" 
  2. extension = apc.so  
  3. [APC]  
  4. apc.enabled = 1 
  5. apc.shm_segments = 1 
  6. apc.shm_size = 64M 
  7. apc.optimization = 1 
  8. apc.num_files_hint = 0 
  9. apc.ttl=7200 
  10. apc.user_ttl=7200 
  11. apc.gc_ttl = 3600 
  12. apc.cache_by_default = on

【注意*】

php5.3.3默认没有把php.ini文件里面的short_open_tag = Off设置为short_open_tag = On

所以我们需要把short_open_tag = Off设置为On;否则的话,访问php测试页面和php页面不显示的问题。(安装php-apc后,网站就无法显示,无法读取php变成空白页面)

最后测试,可以访问apc.php测试效果。(欲了解更多APC优化知识,可以参看http://www.perfgeeks.com/?p=298

由于水平有限 O(∩_∩)O~ ,写的不详细地方的请多指教。


本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/421481

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
SQL Apache HIVE
一文彻底掌握Apache Hudi的主键和分区配置
一文彻底掌握Apache Hudi的主键和分区配置
61 0
|
2月前
|
Java 程序员 API
Springboot-swagger配置(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-swagger配置(idea社区版2023.1.4+apache-maven-3.9.3-bin)
58 1
|
2月前
|
前端开发 Java 数据库连接
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
33 0
|
1月前
|
安全 Linux Apache
Apache代理服务器搭建和配置
Apache代理服务器搭建和配置
|
1月前
|
存储 缓存 负载均衡
【Apache ShenYu源码】如何实现负载均衡模块设计
整个模块为ShenYu提供了什么功能。我们可以看下上文我们提到的工厂对象。/***/核心方法很清晰,我们传入Upsteam列表,通过这个模块的负载均衡算法,负载均衡地返回其中一个对象。这也就是这个模块提供的功能。
18 1
|
1月前
|
XML Java Apache
Apache Flink自定义 logback xml配置
Apache Flink自定义 logback xml配置
152 0
|
1月前
|
监控 API Apache
实战!配置DataDog监控Apache Hudi应用指标
实战!配置DataDog监控Apache Hudi应用指标
21 0
|
3月前
|
消息中间件 Java Kafka
Apache Kafka-初体验Kafka(02)-Centos7下搭建单节点kafka_配置参数详解_基本命令实操
Apache Kafka-初体验Kafka(02)-Centos7下搭建单节点kafka_配置参数详解_基本命令实操
58 0
|
4月前
|
存储 Java 网络安全
ZooKeeper【部署 02】apache-zookeeper-3.6.0 集群版(准备+安装配置+启动验证)
ZooKeeper【部署 02】apache-zookeeper-3.6.0 集群版(准备+安装配置+启动验证)
44 0
|
4月前
|
Java 应用服务中间件 Spring
Tomcat【部署 01】安装包版本说明+安装+参数配置+启动(JDK11+最新版apache-tomcat-10.0.12)
Tomcat【部署 01】安装包版本说明+安装+参数配置+启动(JDK11+最新版apache-tomcat-10.0.12)
63 0

热门文章

最新文章

推荐镜像

更多