zoukankan      html  css  js  c++  java
  • 四十、LAMP与LNMP加速与缓存优化进阶实战上部

    实例:

     一、 所有服务器配置定时时间同步,必须通过web server上网。

       有两种方式:

      1.服务器A能进行上网,作为web server ,通过指定为ntp服务器,所有服务器访问这个服务器

      2.服务器A能进行上网,作为网关,所有服务器通过此网关连接外部互联网

       例如:B,C,D三台主机,如何添加路由条目,让其能够访问互联网,指向A主机吗?

       1)B,C,D三台主机的上网网关配置成A的内网卡地址

       2)A 上开启路由转发/etc/sysctl.conf

         net.ipv4_forward=1

        执行:sysctl -p 生效

         共享上网的防护墙命令

          iptables -P OUTPUT ACCEPT

          iptables  -P FORWARD  ACCEPT

          iptables   -P INPUT ACCEPT

          iptables  -t nat -A POSTROUTING -s  172.168.1.0/24  -o eth0 -j SNAT  --to-source 10.0.0.7(内网地址)

    二、两台web服务器如何检测nfs挂掉了,又如何切换到备份nfs机器上,实时检测nfs状态,并且实现自动挂在到备份机器上

           对于nfs机器切换挂在到备份服务器,目前是采用手工挂载;可以用监控软件(zabbix agios)进行服务状态的监控。

    主内容:

    php缓存加速器:

             前面主要是LAMP和LNMP的基础搭建,显然在企业工作中不够的,在大的并发的情况下,是不足以支撑服务进行工作的,所以要进行优化

             无论是LAMP或者LNMP进行优化,都是优化php.ini文件,当然,在nginx上,也许还会多一个文件php-fpm文件

           结构如下:

      

             1)无论是apache、nginx 在调用php程序的时候,都需要进行编译解析,这就需要花费一定的时间,对于高并发而言,在性能上就大打折扣

             2)如果动态数据还需要调用数据库的话,不断往后传递的过程,也是需要时间的,所以在性能上也是有差距的

             优化1)其实是称之为php缓存加速器,将解析结果缓存起来,称之为(操作码缓存),apache或者nginx服务是在编译后源代码称为opcode,缓存这个opcode。优化后一般并发是800左右。

    三、环境准备

    系统 命令 结果
    操作系统 cat /etc/redhat-release CentOS release 6.5 (Final)
    位数 uname -m x86_64
    apache /application/apache/bin/apachectl -V Server version: Apache/2.2.27 (Unix)
    nginx /application/nginx/sbin/nginx -v nginx version: nginx/1.6.2
    mysql mysql -uroot -p Server version: 5.5.32/Server version: 5.1.72
    php /application/php/bin/php -v PHP 5.3.27
         
         
         
         
         
         
         
         

         yum grouplist  可以查看yum安装的系统

         /application/php/bin/php -i| grep  /configure  查看php编译安装的参数

         grep CONFIGURE_LINE /application/mysql/bin/mysqlbug  查看mysql的编译安装参数

        cat /application/apache/build/config.nice   查看apche编译安装的参数

        /application/nginx/sbin/nginx -V  查看nginx编译安装的参数

     四、配置php加速器

        首先要解决perl的环境问题,不然可能会带来意想不到的安装错误,因为加速器好多是用php写的,或者和perl是相关的,所以提前需要配置

      1)配置环境变量LC_ALL

         echo 'export LC_ALL=C'>> /etc/profile

         source /etc/profile

       eaccelerator 是一个自由的开放源代码的php加速,优化和动态内容缓存的扩展模块。

     1.  自有软件包解压   unzip nginx-php-ext-soft.zip
     2.  将内部软件按放到当前目录下:mv nginx-php-ext-soft/* .
     3.  解压软件 tar jxf eaccelerator-0.9.6.tar.bz2
     4.  cd eaccelerator-0.9.6
     5.  /application/php/bin/phpize ( phpize是扩展php的外挂模块,在执行前都要编译这个东西)
     6 . /configure --enable-eaccelerator=shared --with-php-config=/application/php/bin/php-config
     7.  make
     8   make install

    apache
     9.  ls /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/

    nginx

     10.   ll /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/

     eaccelerator.so   表示安装成功

    加速器有多种,eaccelerator 模块 加速器  优点:缓存、加速、优化  ;缺点:不常用,除此之外,xcache是一个又快又稳的php opcode缓存器。与同类哦【code缓存器相比更胜一筹

      1.  ls xcache*
      2.  tar jxf xcache-1.3.2.tar.bz2
      3.  cd xcache-1.3.2
      4 .  /application/php/bin/phpize
      5. ./configure --enable-xcache   --with-php-config=/application/php/bin/php-config
      6.  make
      7.  make install

    nginx
      8.  ll /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/

    apache

      9. ls /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/

    php加速 加速器软件种类:xcache,eaccelerator,zend,apc

    2)php和数据库之间也要一个缓存memcached,是一个c/s架构,这里安装客户端;memcached是nosql数据库,是非关系型关系看,memcached、resin是key-value型关系;resin是防止丢失。新浪开发memcachedb,防止memcached丢失。

    1.tar xf memcache-2.2.5.tgz
    2. cd memcache-2.2.5
    3./application/php/bin/phpize
    4. ./configure --with-php-config=/application/php/bin/php-config
    5. make
    6. make install
    7. ls /application/php5.3.27/lib/phpy /extensions/no-debug-zts-20090626/

    3)PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询并获取数据。

    1. cd  /home/oldboy/tools
    2.  tar zxf PDO_MYSQL-1.0.2.tgz
    3.  cd PDO_MYSQL-1.0.2
    4.   /application/php/bin/phpize
    5.  ./configure  --with-php-config=/application/php/bin/php-config --with-pdo-mysql=/application/mysql
    6. make
    7.  make install
    8.  ls /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/

     4)ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读写和处理超过89种基本格式的图片文件。imagickphp也要安装,一起生成省略图片的软件,imagickphp调用ImageMagick

    1.tar zxf ImageMagick.tar.gz
    2. cd ImageMagick-6.5.1-2
    3.  ./configure
    4. make
    5  yum install perl-devel -y
     6. make

      Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 24.
    BEGIN failed--compilation aborted at Makefile.PL line 24.
    make[1]: *** [PerlMagick/Makefile] Error 2   --此错误要yum install perl-devel -y

     1.  tar zxf imagick-2.3.0.tgz
     2.  /application/php/bin/phpize
     3.  cd imagick-2.3.0
     4.  /application/php/bin/phpize
     5.  ./configure --with-php-config=/application/php/bin/php-config
     6.  make
     7.  make install
     8.  ll /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/

       

  • 相关阅读:
    java内部类
    navicat使用教程-PJ
    提交代码时的注意事项
    多线程技术
    Apache POI使用详解
    网站链接收藏夹
    MySQL优化
    Oracle创建用户、角色、授权、建表
    oracle 安装提示未找到文件安装
    Json对象与Json字符串的转化、JSON字符串与Java对象的转换
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/11632098.html
Copyright © 2011-2022 走看看