摘要:错误提示: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent原因: 在session_start()之前如果有输出内容,会出错,解决办法: 在session_start()之前加上ob_start();index.php<?phperror_reporting(-1);ob_start();//不加会出错,无法写入sessionregister_shutdown_function('close');echo
阅读全文
摘要:架构 Varnish+nginx+php(FastCGI)+MYSQL5+MenCache+MenCachedb (一)2008年09月27日 星期六 11:42架构 Varnish+nginx+php(FastCGI)+MYSQL5+MenCache+MenCachedb说明:我在设计系统架构时,进行了大胆的尝试,只用6台Web服务器,达到了可承受4000万PV(页面访问量)的性能: 抛弃了 Apache,因为它能承受的并发连接相对较低; 抛弃了 Squid,因为它在内存利用、访问速度、并发连接、清除缓存等方面不如 Varnish; 抛弃了 PHP4,因为 PHP5 处理面向对象代码的...
阅读全文
摘要:<?php$a = "http://www.baidu.com/img/baidu_jgylogo3.gif";$local = 'socket1.gif';//$aa = getImg($a,$local);$aa = getImg_curl($a,$local);/* *@ 完整的图片地址 *@ 要存储的文件名 */function getImg_socket( $url = "", $filename = "" ) { if(is_dir(basename($filename))) { echo "
阅读全文
摘要:转自:http://www.cnblogs.com/itech/archive/2010/08/08/1795179.html动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。 大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。 大型动态应用系统又可分为几个子系统: 1)Web前端系统 ...
阅读全文
摘要:<?phpdefine("MYSQL_OPEN_LOGS",true);class mysqliHelp{ private $db; public function __construct() { //如果要查询日志log的话,怎么办 } public function __get($name ) { //echo "__GET:",$name; if(in_array($name,array("db"),true))//或者isset($this->$name) return $this->$name; retur
阅读全文
摘要:1 crub.class.php<?phpclass Crumb { CONST SALT = "your-secret-salt"; static $ttl = 1; //$ttl表示这个随机串的有效时间(秒) ...
阅读全文
摘要:中国科技大学源cd/etc/yum.repos.dmvCentOS-Base.repo CentOS-Base.repo.savewget http://centos.ustc.edu.cn/CentOS-Base.repo.5mv CentOS-Base.repo.5 CentOS-Base.repoyum updatePS:如果在配置YUM源后,第一次运行yum update命令,出现如下错误。warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID*****这是由于yum安装了旧版本的GPG keys造成的,解决
阅读全文
摘要:prefork模式这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小。worker模式此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开
阅读全文
摘要:作者: freemouse 日期 2010年08月27日 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://www.cnphp.info/apache-prefork-module-command-parse.html我的VPS自从上个月配置完后一直没有再优化配置了,由于之前担心VPS的内存不够用,所以在配置服务器参数时,更多考虑如何节省内存,结果内存是省下来了,运行效率却一直不高;基于此,决定开始研究服务器参数优化。开篇:apache prefork 模块指令什么是MPM?既然是研究prefork模块,有必要提一提apache的多路处理模块(MPM)的
阅读全文
摘要:手头有一个网站在线人数增多,访问时很慢。初步认为是服务器资源不足了,但经反复测试,一旦连接上,不断点击同一个页面上不同的链接,都能迅速打开,这种现象就是说明apache最大连接数已经满了,新的访客只能排队等待有空闲的链接,而如果一旦连接上,在keeyalive 的存活时间内(KeepAliveTimeout,默认5秒)都不用重新打开连接,因此解决的方法就是加大apache的最大连接数。1.在哪里设置?服务器的为FreeBSD 6.2 ,apache 2.24,使用默认配置(FreeBSD 默认不加载自定义MPM配置),默认最大连接数是250在/usr/local/etc/apache22/ht
阅读全文
摘要:在开发的过程中经常会遇到需要重新编译的问题,遇到这种情况该如何查看以前的编译参数下面详细解释经常需要重新编译的如今大部分是这四个nginx,apache,mysql,phpnginx编译参数:#/usr/local/nginx/sbin/nginx -VCODE:nginx version: nginx/0.6.32built by gcc 4.1.2 20071124 (Red Hat 4.1.2-42)configure arguments: --user=www --group=www --prefix=/usr/local/nginx/ --with-http_stub_status_
阅读全文
摘要:<?php if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="My Realm"'); header('HTTP/1.0 401 Unauthorized'); echo '需要验证用户名、密码!'; exit; } else if($_SERVER['PHP_AUTH_USER']=="admin" && $_SERVER['PHP_A
阅读全文
摘要:前言本文写于2007年11月,那时候我是在Discuz!开发组为PHPChina的《PHPer》写的稿,一直也没有发到blog上了,今天偶然之间记起,顺手转发过来。一、关于模板引擎的前言从phplib到smarty,再到Discuz!的模板机制,本文试图通过PHP模板引擎为你讲解作者自己的PHP心得。我清楚的记得在我刚上大学开始学习PHP的时候,曾经在phpe.net看到过一篇关于phplib Template和FastTemplate这两模板引擎性能比较的文章。让我在接下来半年的时间内持续的使用着phplib。不可否认phplib是左 右了一代PHP开发人员对于PHP模板引擎的认识。或许你也
阅读全文
摘要:1、数据库集群由于访问比较频繁,而且为了支持更多的访问,Web Server一般都使用了负载均衡的集群,但是对于数据库来说,每秒钟的请求不断增加,随着服务器负载的增加,响应单个请求的速度越来越慢,如果库文件比较大,出现写操作的时候还会出现锁表时间过长等影响访问效率的事情。比如现在我们的Web Server是Linux+Apache+Php的三台机器组成的集群,MySQL运行在2G内存的平台上。由于WEB的访问量在高峰的时候几乎满负荷运LoadAvg(就是一分钟之内处于Running状态的进程数量)都在10-20之间,反映出来就是大量的请求都在访问数据库的时候被挂住了,导致一个请求没有完成,下一
阅读全文
摘要:1. LighttpdLighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。因为运行在Youtube 的后台,所以知名度很高。Lighttpd 特色在于它能做Flash streaming 和对fastcgi 的支持,这样对于Ruby on Rails 之类的程序提速不少,比起Apache 要好很多,Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。Fastcgi的优点在于:从稳定性上看, f
阅读全文
摘要:Linux 内核启动之后,启动的第一个进程就是 init 进程。该进程从 /etc/inittab 文件中读取配置,对系统进行一系列的初始化工作。下面我们来分析一下 /etc/inittab 文件的结构。inittab 文件的每一行的基本格式如下所示:l3:3:wait:/etc/rc.d/rc 3可以看到,该行使用冒号分成了四段。各段的意思如下。ID用于标识该配置项的 id,长度为 1~4 个字符。运行级列出在哪些运行级时执行该配置项的命令。本例表明使用运行级 3 启动系统时执行该条指令。动作指示该条命令应该如何执行。本例中动作为 wait,表示在这条命令未执行完之前不要去执行下一条命令。进
阅读全文
摘要:top命令的显示结果如下所示:top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% siMem: 191272k total, 173656k used, 17616k free, 22052k buffersSwap...
阅读全文
摘要:系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# lsmod # 列出加载的内核模块# env # 查看环境变量资源# free -m ...
阅读全文
摘要:过去当运行一个大的web应用时候意味着需要运行一个大型的web服务器。因为你的应用吸引了大量的用户,你将不得不在你的服务器里增加更多的内存和处理器。今天,“大型服务器”模式已经过去,取而代之的是大量的小服务器,使用各种各样的负载均衡技术。 “更多小服务器”的优势超过过去的“大型服务器”模式体现在两个方面: 1. 如果服务器宕机,那么负载均衡系统将停止请求到宕机的服务器,转而分发负载到其他正常运行的服务器上。 2. 扩展你的服务器更加容易。你要做的仅仅是加入新的服务器到负载均衡系统。不需要中断你的应用运行。 所以,把握住这个机会。当然,代价就是这要求你的应用开发时增加一点复杂度。这就是本...
阅读全文
摘要:环境:web1:10.80.11.243web2:10.80.11.244code:10.80.11.245更新code服务器的代码后,自动同步到web1和web2,删除code服务器文件,web1和web2也删除服务器端的安装(N台WEB都这样配置)1、首先要求Linux内核在2.6以上,才支持inotify[root@web1 html]# uname -aLinux web1 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux2、检查是否安装rsync软件[root@web1 html]#
阅读全文
摘要:Linux防火墙(iptables)的开启与关闭Linux中的防火墙主要是对iptables的设置和管理.1. Linux防火墙(Iptables)重启系统生效开启:chkconfigiptableson 关闭:chkconfigiptablesoff 2.Linux防火墙(Iptables) 即时生效,重启后失效开启:serviceiptablesstart 关闭:serviceiptablesstop 需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。在开启了Linux防火墙(Iptables)时,做如下设置,开启25和110端口,修改/etc/sysconfig/
阅读全文