四十、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\nagios)进行服务状态的监控。

主内容:
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/
四十、LAMP与LNMP加速与缓存优化进阶实战上部的更多相关文章
- 四十一、LAMP与LNMP加速与缓存优化进阶实战下部
一.配置,在nginx和apache所在的服务器中: 1.配置:cd /application/php/lib/php.ini 1)extension_dir="/application/p ...
- 四十二、LAMP与LNMP web架构深度优化实战-第一部
1.nginx.conf配置文件基本参数优化 1.1 隐藏nginx header内版本号信息 一些特定的系统及服务漏洞一般都和特定的软件版本号有关,我们应尽量隐藏服务器的敏感信息(软件名称及版本等信 ...
- 四十三、LAMP与LNMP web架构深度优化实战-第二部
1. 配置nginx gzip压缩功能 服务器对发出的内容进行压缩,带宽少了,体验好,速度快,但是服务端压,会使cpu使用高,压缩比高的进行压缩:文本.程序文件.数据文件.图片视频不要压缩,一般 ...
- WDCP,LNMP安装PHP缓存加速扩展eAccelerator,xcache和memcached
VPS主机性能配置如果太差,则在运行Wordpress博客和Discuz! 论坛等高消耗程序时能够明显感觉出VPS有些吃力.另外,即使VPS主机的CPU.内存.硬盘I/O等性能足够好,但是在面对大流量 ...
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/ind ...
- NeHe OpenGL教程 第四十五课:顶点缓存
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- “LAMP“或“LNMP”组合
Linux作为操作系统,Apache和 Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器. 由于这四个软件都是免费或开放源码软件(FLOSS ...
- Gradle 1.12用户指南翻译——第四十九章. Build Dashboard 插件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Gradle 1.12用户指南翻译——第四十八章. Wrapper 插件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
随机推荐
- 使用GDI+显示OpenCV中的图像IplImage
OpenCV虽然自带了轻量级的界面库HighGUI,但是支持的图像化元素实在是太少了,一般只在前期算法测试时使用.实际产品还是使用MFC库.因此本文记录了如何在GDI+中显示OpenCV中的IplIm ...
- tx2系统备份与恢复
https://blog.csdn.net/ycy_dy/article/details/80493392 https://blog.csdn.net/piaopiaopiaopiaopiao/art ...
- Arduino - -- 串口双向通信
需要用到Arduino UNO的串口双向通信功能,以下源码: int val; void setup() { Serial.begin(9600); // opensserial port, se ...
- Mac OS 终端 iTerm2配置大全
转载链接:https://www.cnblogs.com/diyxiaoshitou/p/9017413.html,在按照原文执行时发现有些问题,所以本文对原文中存在问题的地方做了些调整. 之前一直使 ...
- HZNU-ACM寒假集训Day3小结 搜索
简单搜索 1.DFS UVA 548 树 1.可以用数组方式实现二叉树,在申请结点时仍用“动态化静态”的思想,写newnode函数 2.给定二叉树的中序遍历和后序遍历,可以构造出这棵二叉树,方法是根据 ...
- centos7-DNS(主从)
一.安装DNS. 本机ip:192.168.1.3 [root@localhost ~]# yum -y install bind bind-utlis 二.编辑配置文件. [root@localho ...
- Nginx系列p2:重载,热部署,日志分割
今天我们来学习 nginx 的 重载.热部署.日志分割功能 重载:当我们需要修改配置文件中的一些值,我们可以直接修改该配置文件,然后重新启动 nginx 服务,就可以实现在 nginx 不停止服务的情 ...
- DP背包问题学习笔记及系列练习题
01 背包: 01背包:在M件物品中取出若干件物品放到背包中,每件物品对应的体积v1,v2,v3,....对应的价值为w1,w2,w3,,,,,每件物品最多拿一件. 和很多DP题一样,对于每一个物品, ...
- 读书笔记 - js高级程序设计 - 第五章 引用类型
引用类型 和 类 不是一个概念 用typeof来检测属性是否存在 typeof args.name == "string" 需要实验 访问属性的方法 .号和[] 一般情况下要 ...
- 进度2_家庭记账本App
今天在昨天的基础上,相继完成了三个页面的布局和显示情况: 新增加的xml文件如下: activity_add.xml: <?xml version="1.0" encodin ...