设为首页 收藏本站
查看: 858|回复: 0

[经验分享] Apache+Fastcgi模块+APC经典配置

[复制链接]

尚未签到

发表于 2018-11-26 12:07:54 | 显示全部楼层 |阅读模式
  前言 * FastCGI是一个程序接口,它能加速公共网关接口(CGI),CGI是一种用最常见的方式使Web服务器调用应用程序的Web应用程序。按一个FastCGI工具来看,用户要求进入一个网站并使用一个专门的应用软件的话,使用FastCGI能够快3到30倍。FastCGI是Web服务器的一种插件。
  一、安装apache fastcgi模块:


  • 下载地址:http://down.51cto.com/data/139939 (51cto下载中心)

  • tar -zxvf mod_fastcgi-current.tar.gz

  • cd mod_fastcgi
  • cp Makefile.AP2 Makefile
  • vi Makefile 修改top_dir=/usr/local/apache2  #你的apache安装路径或者直接编(apache2.0已经安装)
  • make
  • make install(这里采用apache而不采用nginx的原因是:虽然nginx有很多优点,但是对于大部分中小型网站来说,apache经过优化可以满足访问要求。)

  二、安装MYSQL



  • tar -zxvf mysql-5.0.75.tar.gz  //解压
  • cd mysql-5.0.75
  • ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=all
  • make
  • make install
  • groupadd mysql  //创建组mysql
  • useradd -g mysql mysql  //创建mysql用户,把mysql加入到mysql组

  • cd /usr/local/mysql/
  • cp share/mysql/my-medium.cnf  /etc/my.cnf

  • cp share/mysql/mysql.server /etc/init.d/mysqld

  • (以上是把mysql加入系统服务)

  • chown -R mysql.mysql /usr/local/mysql
  • /usr/local/mysql/bin/mysql_install_db --user=mysql  //初始化数据库
  • chown -R mysql.mysql /usr/local/mysql/var
  • /usr/local/mysql/bin/mysqld_safe --user=mysql &  //启动数据库(或者 service mysqld restart)

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


  • yum -y install libevent*
  • wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
  • tar zxvf libevent-1.4.12-stable.tar.gz
  • cd libevent-1.4.12
  • ./configure --prefix=/usr/local/libenent
  • mak && make install


  • tar -jxvf php-5.3.3.tar.bz2
  • cd php-5.3.3
  • ./configure \
  • --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc \
  • --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config \
  • --with-zlib --with-curl --with-jpeg-dir --with-freetype-dir --with-png-dir \
  • --with-libxml-dir=/usr/ --with-gd  --with-openssl  \
  • --with-openssl --with-ldap --with-ldap-sasl --with-xmlrpc --without-pear \
  • --enable-xml --enable-gd-native-ttf \
  • --enable-ctype --enable-calendar --enable-inline-optimization \
  • --enable-magic-quotes --with-bz2 --enable-mbstring \
  • --enable-fpm  --enable-safe-mode  --enable-bcmath  --enable-shmop \
  • --enable-sysvsem --enable-mbregex  --enable-mbstring --enable-pcntl  \
  • --enable-zip --enable-ftp --enable-sockets --enable-soap --with-libevent-dir=/usr/local/libevent/
  • make && make install

  • cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
  • chmod +x /etc/init.d/php-fpm

  • 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


  • 增加: LoadModule fastcgi_module modules/mod_fastcgi.so
  • 有的话不用添加。

  • 在vhosts.conf文件的项目中加入以下(如果不引用vhosts.conf的话可以把下面的语句加入http.conf的最后)
  •     ScriptAlias /cgi-bin/ "/usr/local/php5/bin/"
  •     FastCgiExternalServer /usr/local/php5/bin/php-fpm -host 127.0.0.1:9000
  •     AddType application/x-httpd-php .php
  •     AddHandler php5-fastcgi .php
  •     Action php5-fastcgi /cgi-bin/php-fpm

  •    
  •     Options -Indexes FollowSymLinks +ExecCGI
  •     Order allow,deny
  •     Allow from all
  •    

  • #Action php5-fastcgi /cgi-bin/php-fpm中的php-fpm一定要和FastCgiExternalServer中的文件名一样.而且/cgi-bin/和前面的ScriptAlias的路径也要一样,两句放一块就是说上面的映射也就是所有的.php文件都由/cgi-bin/php-fpm 处理
  • 否則會出錯的.
  • 加完以上的,安装完成了。但是php-fpm.conf配置文件需要优化(常见优化见后期给出)

  • 注:在增加了apc.so后总是出现linux Warning: PHP Startup: Unable to load dynamic library
  • 后怎么更改都不行,后重新编译php-5.3.3,并加上
  • --with-libevent-dir=/usr/local/libevent参数,一切OK!最好不要用系统默认的

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


  • /usr/local/php5/bin/phpize

  • export PHP_PREFIX="/usr/local/php5/"

  • ./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添加如下语句


  • extension_dir="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626"
  • extension = apc.so
  • [APC]
  • apc.enabled = 1
  • apc.shm_segments = 1
  • apc.shm_size = 64M
  • apc.optimization = 1
  • apc.num_files_hint = 0
  • apc.ttl=7200
  • apc.user_ttl=7200
  • apc.gc_ttl = 3600
  • 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~ ,写的不详细地方的请多指教。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639825-1-1.html 上篇帖子: Apache internal dummy connection 解决 下篇帖子: apache最大连接数性能测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表