Category Archive技术
Web Server/Apache/Nginx & 技术 30 Oct 2008 05:58 pm
Nginx for Windows
kevin写的nginx for windows 支持(Windows Vista, Windows XP, Windows 2000)
他的主页:http://www.kevinworthington.com/nginx/win32/
目前有三个主流版本下载:
| Branch | Download Package | Release Date |
| Development | 0.7.19 | 13 October 2008 |
| Stable | 0.6.32 | 07 July 2008 |
| Legacy | 0.5.37 | 07 July 2008 |
tips:请不要用在生产环境,仅供开发测试。
一。下载
我这里下载0.6.32版http://www.kevinworthington.com/nginx/win32/nginx-0.6.32-win32-setup.exe
下载后安装到c:\nginx。
到PHP 官方下载php
我这里下载PHP 5.2.6 zip package
下载后以解压到c:\php。
二。配置nginx
下面这张截图内容为廖老师 nginx 配置单:

上图中用红线椭圆圈起来的,是nginx php 配置的关键部分,没配置正确会出现404错误,让我郁闷很久。
如果你的程式放在有空格的文件夹下如program files下,可以用以下方法。
include fcgi.conf;
set $rootpath “D:\Program Files\wamp\www”;
fastcgi_param SCRIPT_FILENAME $rootpath$fastcgi_script_name;
三。启动nginx
执行c:\nginx\Start-nginx.bat启动
启动php的cgi server
关于php cgi server 可以使用以下命令:
php-cgi.exe -b 127.0.0.1:9000 -q
这样做,缺陷是命令行窗口一直打开,若关闭那cgi server 也关闭啦。到网上下载RunHiddenConsole.exe 可以使命令行窗口隐藏啦。
RunHiddenConsole.exe php-cgi.exe -b 127.0.0.1:9000 -q
你也可以写一个批处理来做这件事:
start_phpcgi.bat
@ECHO OFF
ECHO Starting PHP FastCGI…
RunHiddenConsole.exe c:/php/php-cgi.exe -b 127.0.0.1:9000 -q
EXIT
关闭的批处理
stop_phpcgi.bat
@ECHO OFF
ECHO Stopping PHP FastCGI…
bin\process.exe -k php-cgi.exe >nul
ECHO.
EXIT
最后写一个简单PHPINFO来验证PHP 是否工作正常。
参考:http://blog.chinaitlab.com/html/30/104830-166195.html
linux 维护优化 & 技术 27 Oct 2008 05:56 pm
使用vnstat监控流量
vnstat通/proc来监控流量,无需root权限,提供每日、每月等报表,并有php前台扩展。
http://humdi.net/vnstat/
wget http://humdi.net/vnstat/vnstat-1.6.tar.gz
tar zxvf vnstat-1.6.tar.gz
cd vnstat-1.6
make && make install ; vnstat –testkernel && vnstat -u -i eth0
如果用户在一个64位平台上编译,应改用make 64bit命令.
添加crontab
crontab -e
0-55/5 * * * * if [ -x /usr/bin/vnstat ] && [ `ls/var/lib/vnstat/ | wc -l` -ge 1 ]; then /usr/bin/vnstat -u; fi
vnStat 1.6 by Teemu Toivola -q, --query query database -h, --hours show hours -d, --days show days -m, --months show months -w, --weeks show weeks -t, --top10 show top10 -s, --short use short output -u, --update update database -i, --iface change interface (default: eth0) -?, --help short help -v, --version show version -tr, --traffic calculate traffic -l, --live show transfer rate in real time See also "--longhelp" for complete options list and "man vnstat". |
$ vnstat Database updated: Sun Dec 2 22:20:01 2007 inet (eth0) received: 735.00 GB (48.9%) transmitted: 769.38 GB (51.1%) total: 1.47 TB rx | tx | total -----------------------+------------+----------- yesterday 23.35 MB | 20.25 MB | 43.60 MB today 27.47 MB | 21.37 MB | 48.84 MB -----------------------+------------+----------- estimated 29 MB | 22 MB | 51 MB |
(with 2 interfaces)
$ vnstat
rx / tx / total / estimated
Internet (eth1):
yesterday 209.36 MB / 322.88 MB / 532.24 MB
today 1.99 GB / 2.46 GB / 4.46 GB / 4.67 GB
Local (eth0):
yesterday 248.27 MB / 4.63 GB / 4.87 GB
today 2.31 GB / 4.21 GB / 6.52 GB / 6.83 GB
|
$ vnstat -h inet (eth0) 22:15 ^ r | rt r | rt rt | rt rt | r rt rt | rt r rt rt | rt rt rt rt rt | rt rt rt r r rt r rt r rt rt rt | rt rt rt r rt rt rt rt rt rt rt rt rt | rt rt rt rt r r r r r rt rt rt rt rt rt rt rt rt rt -+---------------------------------------------------------------------------> | 23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 h rx (kB) tx (kB) h rx (kB) tx (kB) h rx (kB) tx (kB) 23 1,352 1,219 07 277 151 15 1,352 1,165 00 2,281 2,140 08 402 158 16 1,487 878 01 1,485 1,261 09 290 155 17 1,752 1,559 02 648 522 10 589 185 18 1,455 1,001 03 392 261 11 650 202 19 2,332 1,835 04 323 240 12 907 350 20 3,881 3,619 05 311 179 13 1,234 1,044 21 3,695 3,237 06 281 173 14 1,221 812 22 675 591 |
$ vnstat -d
inet (eth0) / daily
day rx | tx | total
------------------------+-------------+----------------------------------------
03.11. 26.57 MB | 27.39 MB | 53.97 MB %%%%%%:::::::
04.11. 22.23 MB | 16.71 MB | 38.94 MB %%%%%::::
05.11. 31.38 MB | 23.35 MB | 54.74 MB %%%%%%%::::::
06.11. 35.17 MB | 26.85 MB | 62.02 MB %%%%%%%%%::::::
07.11. 42.65 MB | 34.19 MB | 76.84 MB %%%%%%%%%%%::::::::
08.11. 36.65 MB | 26.75 MB | 63.40 MB %%%%%%%%%::::::
09.11. 35.01 MB | 27.45 MB | 62.47 MB %%%%%%%%:::::::
10.11. 24.48 MB | 22.72 MB | 47.20 MB %%%%%%:::::
11.11. 26.04 MB | 19.91 MB | 45.95 MB %%%%%%:::::
12.11. 27.89 MB | 18.73 MB | 46.61 MB %%%%%%%::::
13.11. 33.82 MB | 24.52 MB | 58.35 MB %%%%%%%%::::::
14.11. 39.11 MB | 31.76 MB | 70.86 MB %%%%%%%%%::::::::
15.11. 41.57 MB | 36.23 MB | 77.80 MB %%%%%%%%%%:::::::::
16.11. 36.93 MB | 33.51 MB | 70.44 MB %%%%%%%%%::::::::
17.11. 25.79 MB | 23.87 MB | 49.66 MB %%%%%%::::::
18.11. 29.51 MB | 22.50 MB | 52.01 MB %%%%%%%::::::
19.11. 43.46 MB | 32.91 MB | 76.38 MB %%%%%%%%%%%::::::::
20.11. 51.90 MB | 47.82 MB | 99.72 MB %%%%%%%%%%%%%::::::::::::
21.11. 38.77 MB | 34.21 MB | 72.98 MB %%%%%%%%%%::::::::
22.11. 34.54 MB | 31.22 MB | 65.76 MB %%%%%%%%::::::::
23.11. 22.61 MB | 21.16 MB | 43.76 MB %%%%%:::::
24.11. 22.49 MB | 20.84 MB | 43.34 MB %%%%%:::::
25.11. 31.60 MB | 26.50 MB | 58.10 MB %%%%%%%%::::::
26.11. 38.23 MB | 33.84 MB | 72.07 MB %%%%%%%%%%::::::::
27.11. 43.54 MB | 41.88 MB | 85.42 MB %%%%%%%%%%%::::::::::
28.11. 38.86 MB | 30.87 MB | 69.73 MB %%%%%%%%%::::::::
29.11. 40.16 MB | 33.64 MB | 73.79 MB %%%%%%%%%%::::::::
30.11. 32.73 MB | 28.67 MB | 61.40 MB %%%%%%%%:::::::
01.12. 23.35 MB | 20.25 MB | 43.60 MB %%%%%:::::
02.12. 27.27 MB | 21.21 MB | 48.47 MB %%%%%%%:::::
------------------------+-------------+----------------------------------------
estimated 29 MB | 22 MB | 51 MB
|
$ vnstat -m inet (eth0) / monthly month rx | tx | total -------------------------+--------------+-------------------------------------- Jan '07 1.33 GB | 1.25 GB | 2.58 GB %%%%%%%%%:::::::: Feb '07 1.31 GB | 1.51 GB | 2.82 GB %%%%%%%%%:::::::::: Mar '07 1.54 GB | 1.66 GB | 3.20 GB %%%%%%%%%%%::::::::::: Apr '07 1.27 GB | 1.13 GB | 2.40 GB %%%%%%%%:::::::: May '07 1.17 GB | 1.31 GB | 2.48 GB %%%%%%%%::::::::: Jun '07 920.61 MB | 2.00 GB | 2.90 GB %%%%%%::::::::::::: Jul '07 917.21 MB | 763.12 MB | 1.64 GB %%%%%%::::: Aug '07 915.59 MB | 905.99 MB | 1.78 GB %%%%%%:::::: Sep '07 926.10 MB | 678.70 MB | 1.57 GB %%%%%%:::: Oct '07 1.00 GB | 714.00 MB | 1.69 GB %%%%%%::::: Nov '07 0.99 GB | 842.16 MB | 1.81 GB %%%%%%%::::: Dec '07 50.62 MB | 41.46 MB | 92.07 MB -------------------------+--------------+-------------------------------------- estimated 808 MB | 663 MB | 1.44 GB |
$ vnstat -t inet (eth0) / top 10 # day rx | tx | total -------------------------------+-------------+--------------------------------- 1 26.03.06 6.41 GB | 10.83 GB | 17.24 GB %%%%%%%::::::::::: 2 05.02.04 8.31 GB | 7.08 GB | 15.39 GB %%%%%%%%%::::::: 3 04.02.05 7.96 GB | 6.21 GB | 14.17 GB %%%%%%%%:::::: 4 04.09.05 8.09 GB | 5.22 GB | 13.30 GB %%%%%%%%::::: 5 04.11.03 4.52 GB | 5.96 GB | 10.47 GB %%%%:::::: 6 26.06.05 4.12 GB | 6.10 GB | 10.22 GB %%%%:::::: 7 02.11.03 7.18 GB | 2.79 GB | 9.97 GB %%%%%%%::: 8 31.01.05 3.68 GB | 5.99 GB | 9.66 GB %%%%:::::: 9 28.08.03 5.93 GB | 3.69 GB | 9.62 GB %%%%%%:::: 10 23.12.03 4.36 GB | 5.23 GB | 9.59 GB %%%%%::::: -------------------------------+-------------+--------------------------------- |
$ vnstat -w Local (eth0) / weekly rx | tx | total ----------------------------+---------------+-------------- last 7 days 4.83 GB | 18.82 GB | 23.65 GB last week 2.52 GB | 14.58 GB | 17.10 GB current week 2.31 GB | 4.24 GB | 6.55 GB ----------------------------+---------------+-------------- estimated 17.66 GB | 32.36 GB | 50.02 GB |
$ vnstat -tr
10386 packets sampled in 5 seconds
Traffic average for eth1
rx 112.21 kB/s 620 packets/s
tx 1444.77 kB/s 1456 packets/s
|
$ vnstat -l
Monitoring eth0... (press CTRL-C to stop)
rx: 430.68 kB/s 291 p/s tx: 10.21 kB/s 147 p/s
eth0 / traffic statistics
rx | tx
--------------------------------------+----------------------------------------
bytes 32.79 MB | 957 kB
--------------------------------------+----------------------------------------
max 656.39 kB/s | 90.50 kB/s
average 419.78 kB/s | 11.97 kB/s
min 288.37 kB/s | 7.03 kB/s
--------------------------------------+----------------------------------------
packets 23298 | 12348
--------------------------------------+----------------------------------------
max 732 p/s | 609 p/s
average 291 p/s | 154 p/s
min 195 p/s | 100 p/s
--------------------------------------+----------------------------------------
time 1.33 minutes
|
linux 维护优化 & 技术 27 Oct 2008 05:28 pm
使用iftop实时监控网卡流量
iftop是类似于top的实时流量监控工具,无报表功能,需使用root运行。
官方网站:http://www.ex-parrot.com/~pdw/iftop/
目前最新版本为: iftop-0.17pre3.tar.gz
安装需要:
libpcap
http://www.tcpdump.org/
安装libpcap时出错
gcc -O2 -I. -DHAVE_CONFIG_H -D_U_=”__attribute__((unused))” -c ./fad-getad.c
In file included from ./fad-getad.c:64:
/usr/include/linux/if_packet.h:52: 错误:expected specifier-qualifier-list before ‘__u32’
make: *** [fad-getad.o] 错误 1
#include <linux/types.h>
加入到
/usr/include/linux/if_packet.h
libcurses
界面:
界面说明:
第一行为带宽,这里为1Mbit,不是字节哦.
连接列表,最后三个分别是2秒,10秒和40秒的平均流量
=>代表发送,<= 代表接收
最后三行表示发送,接收和全部的流量,第二列为你运行iftop到目前流量,第三列为高峰值,第四列为平均值。
命令:
iftop: display bandwidth usage on an interface by host
Synopsis: iftop -h | [-npbBP] [-i interface] [-f filter code] [-N net/mask]
-h display this message
-n don’t do hostname lookups(不进行dns解析)
-N don’t convert port numbers to services (直接显示端口号,不显示服务名称)
-p run in promiscuous mode (show traffic between other
hosts on the same network segment)(嗅探器)
-b don’t display a bar graph of traffic
-B Display bandwidth in bytes (以字节统计)
-i interface listen on named interface
-f filter code use filter code to select packets to count
(default: none, but only IP packets are counted)
-F net/mask show traffic flows in/out of network
-P show ports as well as hosts(按照端口对应ip地址)
-m limit sets the upper limit for the bandwidth scale
-c config file specifies an alternative configuration file
iftop, version 0.17pre3
copyright (c) 2002 Paul Warren <pdw@ex-parrot.com> and contributors
安装
wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17pre3.tar.gz
tar zxvf iftop-0.17pre3.tar.gz
cd iftop-0.17pre3
./configure
make
make install
iftop
========================================================
12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb
mqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqqvqqqqqqqqqqqqq
192.168.54.96 => 192.168.54.83 1.00Kb 1.86Kb 2.42Kb
<= 160b 518b 485b
192.168.54.96 => 202.96.209.5 0b 0b 95b
<= 0b 0b 168b
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
TX: cumm: 3.77KB peak: rates:Kb 1.00Kb 1.86Kb 2.51Kb
RX: 980B 1.31Kb 160b 518b 653b
TOTAL: 4.73KB 7.10Kb 1.16Kb 2.36Kb 3.15Kb
Web Server/Apache/Nginx & 技术 27 Oct 2008 11:53 am
使用nginx负载均衡lucene
server a是之前退役的,现存放着一些小些php站点和lucene 搜索,
server a
cpu: Xeon(TM) CPU 2.80GHz (双核*2)
mem:1G*2
disk:scsi 74G *2 (raid 0)
os:as4
app:nginx+php+fcgi+xcache+mysql+tomcat+postfix
server b为刚退役,没有站点。
server b
cpu: Xeon(TM) CPU 2.80GHz (双核*2)
mem:1G*2
disk: sata 80G *1 (7200)
os:as4
app:nginx+tomcat
—————————————
server a 的搜索每天有几十万PV,平均load 5,更新索引达30,高峰时tomcat会挂掉。
产品结构:nginx代理tomcat,jsp提供搜索结果,jsp+mysql记录搜索关键字,crontab定时生成索引。
方案一:server a 提供生成索引和mysql服务,server b 提供纯web搜索服务,用rsync同步索引文件。
方案二:server a 提供生成索引和mysql服务,server b 和server a使用负载均衡一起提供需web搜索服务,用rsync同步索引文件。
一。先设置两台服务器时间是同步的。
二。设置rsync时不需要登录。
用server b 去拉server a的索引
使用crontab+ssh每天自动完全备份mysql数据
三。写更新的bash和设置crontab
rsync在第一次是全部同步,以后就是只更新有异动的文件。
目前索引为1G左右,
cache使用三级目录分布小文件,占4G
在server b上
vi rsync_index.sh
#!/bin/bash
#获取lucene索引
/usr/bin/rsync -avlR –delete -e /usr/bin/ssh rsync@221.0.0.1:/lucene/index / >> /opt/shell/rsync_index.log
vi rsync_cache.sh
#!/bin/bash
#获取职位的cache和关键词
/usr/bin/rsync -avlR –delete -e /usr/bin/ssh rsync@221.0.0.1:/lucene/keyword / >> /opt/shell/rsync_keyword.log
/usr/bin/rsync -avlR –delete -e /usr/bin/ssh rsync@221.0.0.1:/lucene/cache / >> /opt/shell/rsync_cache.log
crontab每小时更新一次。
50 * * * * /bin/sh /opt/shell/rsync_cache.sh > /dev/null 2>&1
52 * * * * /bin/sh /opt/shell/rsync_index.sh > /dev/null 2>&1
四。设置nginx
设置nginx的配置文件,使用方案一
location / {
proxy_pass http://127.0.0.1:8080;
location ~* ^.+\.(jpg|jpeg|gif|png|css|js)$ {
root /opt/tomcat/webapps/search;
access_log off;
expires 3d;
break;
}
}
重启nginx,将域名指向server b.
server b平均load 为5,当rsync更新时load 会达到20,还是不可靠,使用方案二。
upstream mysvr {
#ip_hash; (据说可以以C类IP将用户固定在某台server,开启后并发大降不能肯定是否有bug)
server 127.0.0.1:8080;
server 221.0.0.1:8080;
}
server {
…..
location / {
#proxy_pass http://127.0.0.1:8080;
proxy_pass http://mysvr;
location ~* ^.+\.(jpg|jpeg|gif|png|css|js)$ {
root /opt/tomcat/webapps/search;
access_log off;
expires 3d;
break;
}
}
…….
}
重启nginx,将域名指向server b.
server b 和server 平均load 为1~2,更新会到5,还可以接受。
Web Server/Apache/Nginx & 技术 22 Oct 2008 06:28 pm
设置tomcat用jsvc启动
根据tomcat官方的document说明,linux下设置开机自启动可以使用jsvc(tomcat包里自带)
设置tomcat以独立的用户运行(防止以root运行,权限太大) shell>sudo useradd -d /opt/tomcat -s /usr/sbin/nologin tomcat 上边的这个命令是添加一个系统用户tomcat,并且设置为不可登录系统。
设置用户tomcat 对tomcat6的访问权限 shell>sudo chown -R tomcat:website /opt/tomcat
安装jsvc,前提需要系统安装了gcc(系统一般默认安装),autoconf,libc6-dev 解压jsvc.tar.g shell>cd /opt/tomcat/bin
shell>sudo tar zxvf jsvc.tar.gz
准备编译配置文件 shell>cd jsvc-src shell>sudo sh support/buildconf.sh 如果成功,命令终端会打出: support/buildconf.sh: configure script generated successfully
为configure添加执行权限 shell>sudo chmod 755 configure
编译 shell>sudo ./configure –with-java=/usr/java/jdk1.6.0_10(java的安装路径) shell>sudo make 如果没有出现错误,jsvc就安装成功了。
设置启动脚本
修改/opt/tomcat/bin/jsvc-src/native/Tomcat5.sh 文件
# Adapt the following lines to your configuration
JAVA_HOME=/usr/java/jdk1.6.0_10
CATALINA_HOME=/opt/tomcat
DAEMON_HOME=/opt/tomcat/bin
TOMCAT_USER=tomcat# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/opt/tomcatCATALINA_OPTS=”"
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
case “$1″ in
start)
#
# Start Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc \
-user $TOMCAT_USER \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
-Dcatalina.base=$CATALINA_BASE \
-Djava.io.tmpdir=$TMP_DIR \
-wait 10 \
-pidfile $PID_FILE \
-outfile $CATALINA_HOME/logs/catalina.out \
-errfile ‘&1′ \
$CATALINA_OPTS \
-cp $CLASSPATH \
org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;stop)
#
# Stop Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc \
-stop \
-pidfile $PID_FILE \
org.apache.catalina.startup.Bootstrap
exit $?
;;*)
echo “Usage tomcat.sh start/stop”
exit 1;;
esac拷贝jsvc带的tomcat5.sh 脚本拷贝到 /etc/init.d/ 下,并改名为tomcat
shell>sudo cp /opt/tomcat/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
设置 /etc/init.d/tomcat的可执行权限 Shell>sudo chmod 755 /etc/init.d/tomcat在/etc/rc2.d/下设置一个/etc/init.d/tomcat 的软链接 shell>cd /etc/rc2.d/ shell>sudo ln -s /etc/init.d/tomcat S16tomcat /etc/init.d/tomcat start ps aux|grep java 可以看到2个进程,一个是root,一个是tomcat 参考 http://wiki.ubuntu.org.cn/Tomcat6
Web Server/Apache/Nginx & 技术 22 Oct 2008 09:23 am
优化tomcat 内存
编辑tomcatpath/bin/catalina.sh
在最前面加上下面两行
CATALINA_OPTS=’-Xms800m -Xmx1000m’
JAVA_OPTS=’-Xms800m -Xmx1000m’
表示初始化内存为800MB,可以使用的最大内存为1000MB
另外需要考虑的是Java提供的垃圾回收机制。虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。收集垃圾可以接受的速度与应用有关,应该通过分析实际的垃圾收集的时间和频率来调整。如果堆的大小很大,那么完全垃圾收集就会很慢,但是频度会降低。如果你把堆的大小和内存的需要一致,完全收集就很快,但是会更加频繁。调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求。在基准测试的时候,为保证最好的性能,要把堆的大小设大,保证垃圾收集不在整个基准测试的过程中出现。
如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过 3-5 秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究 垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的 80% 作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。
参考:
http://vod.sjtu.edu.cn/help/Article_Show.asp?ArticleID=1387&ArticlePage=1
linux 维护优化 & 技术 17 Oct 2008 11:51 am
Linux下查看版本号的命令
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:14 EST 2007 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /proc/version
Linux version 2.6.18-8.el5 (brewbuilder@ls20-bc1-14.build.redhat.com) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Fri Jan 26 14:15:14 EST 2007
[root@localhost ~]# lsb_release -a
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5 (Tikanga)
Release: 5
Codename: Tikanga
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5 (Tikanga)
[root@localhost ~]# rpm -q redhat-release
redhat-release-5Server-5.0.0.9
[root@localhost ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 5 (Tikanga)
Kernel \r on an \m
参考:http://www.51testing.com/?89868/action_viewspace_itemid_11978.html
LINUX & 技术 17 Oct 2008 11:49 am
新上8G的web服务器
硬件
dell1950
5405(四核)*2 (EM64T)
4G*2
SAS 15K 146*2 (raid1)
软件
rhel5(64bit)
nginx 0.6.32
mysql5.1.26rc
php5.2.6
fcgi
xcache1.2.2
nginx 状态
Active connections: 5325
server accepts handled requests
2897229 2897229 12880032
Reading: 15 Writing: 26 Waiting: 5284
系统top
top - 11:36:32 up 15:02, 1 user, load average: 0.09, 0.14, 0.16
Tasks: 188 total, 2 running, 186 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.9%us, 0.7%sy, 0.0%ni, 97.0%id, 0.2%wa, 0.0%hi, 0.1%si,
Mem: 8174384k total, 5894848k used, 2279536k free, 305804k buffe
Swap: 8191992k total, 0k used, 8191992k free, 4748588k cache
应用
大量静态页(php 404 动态生成)
在做迁移时原系统出现坏道导致tar打包失败,load飚到五百多,
让机房重启后ssh也不能上,只能硬上新服务器。
手忙脚乱了3小时将备份的数据移到了新机器。
做迁移一定要多做准备!
LINUX & 技术 17 Oct 2008 11:08 am
CentOS 常见问答集FAQ
CentOS 常见问答集 FAQ
1, CentOS 是什么?
CentOS 是众多 Linux 发行版中的一种。全称: The Community ENTerprise Operating System 。
她是将 Red Hat Enterprise Linux (此后简称 RHEL ) 的源代码再编译,并去除 RHEL 中 Red Hat 公司商标,以及去除 RHEL 中商业组件的 Linux 发行版之一。她的目标是在不违反著作权、商标权等法律的前提下,完全兼容 RHEL 。
2, CentOS 怎样发音?
CentOS 官方推荐的发音是 [sent ou is](森特-欧-爱斯)。
3, 和其他 Linux 发行版比起来 ,CentOS 更适合作为桌面系统吗?
CentOS并不是为桌面系统而设计。
- 红帽企业 Linux AS — 适用于高端的,用于关键业务处理的系统 <–CentOS 的对应版本
- 红帽企业 Linux ES — 适用于小到中型服务器
- 红帽企业 Linux WS — 适用于技术/设计工作站
- 红帽企业 Desktop — 适用于安全,可管理的客户机环境
4 CentOS 5 已经发布了!是否要立刻升级到 CentOS 5 ?
随着 CentOS 5 (于2007年4月12日)的发布,好多正在将各种各样的系统运行在 CentOS 4 下的朋友是不是都已经迫不及待了呢?其实,虽然 CentOS 5 已经(于2007年4月12日)发布了,但 CentOS 4 的生命力还远远没有终结。CentOS 官方对 CentOS 4 (安全更新)的支持,将持续到 2012年2月29日!所以,正在使用 CentOS 4 做服务器的朋友,完全不必担心你的系统会显得很旧 — 到2012年的这几年里,足够我们考虑怎样让当前运行的系统适应新的 CentOS 5 环境,并逐步在 CentOS 4 (安全更新)支持期限内,在保证系统的稳定运作的前提下转移到新环境 — 这总比匆匆忙忙转移到新环境而遇到一大堆由于环境不同而导致的不兼容问题要强得多。
5 在哪里可以找到一些 CentOS 的文档?
CentOS 官方文档: http://www.centos.org/docs/ (官方一般性的配置文档)
Red Hat 官方文档: https://www.redhat.com/docs/ (由于 CentOS 与 RHEL 的兼容,参照 RHEL 的配置文档同样能够得到相应的解决方案)
6 CentOS 各版本及各版本所搭载的软件有哪些不同?
从 CentOS 2 开始的各版本及各版本所搭载软件的不同如下:
| CentOS 2 | CentOS 3.8 | CentOS 4.4 | CentOS 5.0 | |
| 内 核 | 2.4.9 | 2.4.21 | 2.6.9 | 2.6.18 |
| GCC | 2.96 | 3.2.3 | 3.4.6 | 4.1.1 |
| Web 服务器 | apache 1.3.27 | httpd 2.0.46 | httpd 2.0.52 | httpd 2.2.3 |
| PHP | 4.1.2 | 4.3.2 | 4.3.9 | 5.1.6 |
| MySQL | 3.23.58 | 3.23.58 | 4.1.20 | 5.0.22 |
| PostgreSQL | 7.1.3 | 7.3.15 | 7.4.13 | 8.1.4 |
| Python | 1.5.2 | 2.2.3 | 2.3.4 | 2.4.3 |
| Perl | 5.6.1 | 5.8.0 | 5.8.5 | 5.8.8 |
| Samba | 2.2.7 | 3.0.9 | 3.0.10 | 3.0.23c |
| Sendmail | 8.11.6 | 8.12.11 | 8.13.1 | 8.13.8 |
| Postfix | X | 2.0.16 | 2.2.10 | 2.3.3 |
| OpenSSH | 3.1p1 | 3.6.1p2 | 3.9p1 | 4.3p2 |
| OpenSSL | 0.9.6b | 0.9.7a | 0.9.7a | 0.9.8b |
| iptables | 1.2.5 | 1.2.8 | 1.2.11 | 1.3.5 |
| Bind | 9.2.1 | 9.2.4 | 9.2.4 | 9.3.3 |
Web Server/Apache/Nginx & 技术 14 Oct 2008 01:27 pm
ncache试用
NCACHE 是基于 NGINX 的 WEB 服务器模型构件起来的缓存系统, 是SINA公司的开源产品.
起初的目的是为了提升缓存响应速度而开发的,因为SQUID实在比较慢, 而NGINX的优势就在于网络服务上,所以NCACHE计划也就诞生了.
NCACHE最早的时候是作为NGINX的一个HTTP模块进行开发的,因为当时希望做到更好的兼容性和可扩展性,作为独立模块,可以被更好的推广和使用,安装也会很方便.但后来发现随着代码量的增加,功能的扩充,NGINX的原有模块框架已经不能很好的满足我们了,因此,我们提取了NGINX的内核代码,并把CACHE部分欠入其中,形成了今天的NCACHE
NCACHE本身功能并不强大,且不具备像SQUID般完善的功能和开发框架,甚至不能支持RFC中关于CACHE部分的描述. NCACHE完全是一套定制化的产品,可以满足像我们一样需要快速部署,简单易用,大并发量,大存储量的朋友们的需求,它不需要复杂的配置,不需要冗余的复杂代码,并使用最先进的技术组合.
NCACHE 2.0版本,是作为一个完整的NGINX 模块进行发布和使用的,从原有的NCACHE内核中进行了剥离,更方便开发者的安装和配置
http://code.google.com/p/ncache/
下载后重新编译nginx
配制文件检查无错;
生成cache目录;
nginx在80,使用apache在8080做后台;
产生max-age;
time_count:1583 request_count:29 shoot_count:0 disk_writes:4 store_files:10 upstream_count:2 free_index:16777215