Skip to content


使用iftop实时监控网卡流量

iftop是类似于top的实时流量监控工具,无报表功能,需使用root运行。

官方网站http://www.ex-parrot.com/~pdw/iftop/ 目前最新版本为: iftop-0.17pre3.tar.gz 安装需要: libpcap和libcurses
用yum或手动编译 yum install libpcap-devel

安装libpcap时出错 http://www.tcpdump.org/ gcc -O2 -I.  -DHAVE_CONFIG_H  -DU=”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 加入到 /usr/include/linux/if_packet.h
make,make install,通过!

iftop界面: v0.12 screenshot 

iftop界面说明: 第一行为带宽,这里为1Mbit,不是字节哦. 连接列表,最后三个分别是2秒,10秒和40秒的平均流量 =>代表发送,<= 代表接收 最后三行表示发送,接收和全部的流量,第二列为你运行iftop到目前流量,第三列为高峰值,第四列为平均值。

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 <[email protected]> and contributors

iftop安装 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                       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

Posted in linux 维护优化, 技术.

Tagged with , .


使用nginx负载均衡lucene

server a是之前退役的,现存放着一些小些php站点和lucene 搜索, server a cpu: Xeon(TM) CPU 2.80GHz (双核2) mem:1G2 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:1G2 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同步索引文件。

一。先设置两台服务器时间是同步的。

Linux的时间设置与同步 (NTP)

二。设置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 [email protected]:/lucene/index / >> /opt/shell/rsync_index.log

vi rsync_cache.sh #!/bin/bash #获取职位的cache和关键词 /usr/bin/rsync -avlR –delete -e /usr/bin/ssh [email protected]:/lucene/keyword / >> /opt/shell/rsync_keyword.log /usr/bin/rsync -avlR –delete -e /usr/bin/ssh [email protected]:/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,还可以接受。

Posted in Nginx, Tomcat.

Tagged with , , , .


设置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/tomcat CATALINA_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

Posted in Tomcat, 技术.

Tagged with .


优化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

Posted in Tomcat, 技术.

Tagged with , .


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 ([email protected]) (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

Posted in Linux 命令, 技术.

Tagged with .


新上8G的web服务器

硬件 dell1950 5405(四核)2 (EM64T) 4G2 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小时将备份的数据移到了新机器。 做迁移一定要多做准备!

Posted in LINUX, 技术.

Tagged with .


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

Posted in LINUX, 技术.

Tagged with , .


[转][笑话] 为什么水木社区坏了一个礼拜都没有修好?

发信人: Linxs (没有宽恕就没有未来), 信区: NewExpress 标  题: Re: 比较怀疑水木挂站是非技术原因 发信站: 水木社区(临时站) (Fri Apr  4 00:32:08 2008, 站内 事实是这样的 一天上帝在机房吃煎饼油条,结果滴了油在机箱边缘上 本来油是不导电的,应该没事,所以上帝没当回事 那滴油沿着机箱边缘渗到里头, 进入电源盒子,滴在了风扇的轴的端处 本来油滴在轴承上,是件好事情, 但是,上帝滴的那滴是带有食品颗粒的食用油 过了短时间,渐渐发霉,变酸,变粘 唐山的机房通风很好,沙尘也经常进来,慢慢的黏在了轴承上 再有就是静电产生的一些絮状物,也黏在了轴承上 这个现象在我们普通的机箱也是经常见到的 其实,机箱里脏兮兮的,灰尘和赃物也没什么的 但是,偏偏那天上帝吃的太油,滴的不是一滴,而是两滴油在机箱上! 第一滴油进入了电源盒子里,那第二滴油呢? 第二滴沿着近似路线也渗到了机箱里,但是没有落在电影盒子里的风扇轴承上, 是被风扇吹着斜落在到了主板接硬盘上的某个线上, 渐渐的发霉,发酸。。。。 如果上帝只是在机房里吃一次煎饼油条,那么事情也许就不会落到今天的地步。 但是,互联网的墨菲定律,最担心的事情一定会发生。 我们最担心上帝在机房吃煎饼油条,那么上帝一定会在机房吃肩膀油条。 在后来的2次进入机房的机会,上帝又在机房吃煎饼油条,一共3次, 总共落下了大小5片煎饼油条的碎屑。 机房是不养宠物的。 有了上帝留下的这些零食,蚂蚁不知道从哪里钻出来了。 很快蚂蚁就搬光了地上的碎屑,走了。 看起来事情也许到此为止了,但是真正的故事才刚刚开始。。。 落在队伍最后面的那只蚂蚁,因为体弱跟不上大部队,在后面慢慢吞吞的走啊。 造化赋予人一个短处,必然同时赋予人一个长处。对于蚂蚁也是一样的。 这只落在队伍最后面的小蚂蚁,虽然体弱,但是嗅觉灵敏。 它闻到了来自机箱上方的发酸的油滴气味,便转上沿着机箱缝隙爬了进去 离它最近的是那滴掉在硬盘线上的油滴, 小蚂蚁奋勇地向这滴上帝之油爬去 历经千辛,走迷宫似的绕过主板上的电路,来到了硬盘线上的酸油面前。 不幸的事情发生了。。。。 这天是2008年1月29日,也就是上证A股指数大跌8%的1月28日的第二天早上9点整 很多受伤的人都在这个时间段打开电脑/电视,准备开始炒股。 民用电量的短时间上升,导致了部分地区电力线的电压的快速下降, 来自水木上某个网友在职公司开发的某个供电系统的自动控制系统开始动作, 往包括唐山机房所在的地区的电网新增加一个供电电源 如果这个自动控制系统做的很精细,新增电源的的瞬间电压骤变控制的好, 灾难就不会发生。 但是,项目管理里有个定律,眼睛看不到的细节最容易出问题。 理所当然的,瞬间电压的骤变发生了。 机房里,运载着水木社区的电源风扇受这个电压骤变影响,微微的抖了一下。 轴承的瞬间加速度的变化,导致了那团围绕在上帝之油上的灰尘与絮状物的结合体 受了震动,本来摇摇欲坠的它,落了下去,掉在电源盒子的底部, 很快被风扇的风吹到一个螺丝孔边,落了下去,进入了机箱的内部空间。 砸到了那只正在用触角品尝硬盘线上的第二滴上帝之酸油的蚂蚁身上, 一下子把蚂蚁砸昏了,蚂蚁和灰尘絮状物结合体接着往下掉, 在经过CPU风扇前,被向内吹的CPU风扇吸引,斜着往主板下下方飞去 最终蚂蚁靠着触角上黏黏的发酸食用油, 黏在了CPU下方北桥芯片上的名为GPIO16的管脚上, 而后脚悬空靠近主板上的一根地线,摇摇晃晃。 这根名为GPIO16的管脚被主板BIOS重定义为低电平RESET 北桥芯片! 最后,机箱里的紊流开始发挥作用! 每隔一段时间,蚂蚁的后脚被微微的紊流一吹便碰到那根地线,直接RESET系统! 如果水木不是用raiseFS,或许就不会有这么严重的问题。 如果raise的老婆不出轨,raise就不会杀妻,就不会受控,raiseFS就会更稳定。 如果raiseFS更稳定,就不会那么容易崩溃导致水木死掉。 但是,这个世界上没有那么多如果。 事实就是raise的老婆出轨,raise杀妻,raiseFS有bug。 在多次无规则随机的重启之后,水木的FS系统终于崩溃了! 这就是水木社区硬盘崩溃的非技术原因! 但是,从中,我们更多的看到,是人,某些人造成了这次灾难! 他们,包括 – 违反规定在机房吃煎饼油条的KCN, – 大量滥用地沟油的煎饼油条老板, – 那只贪吃的蚂蚁, – 造成2008年1月28日上证指数大跌的主力资金操盘手 – 设计电力自动控制系统的某水木网友, – 水木服务器的系统BIOS设计人员, – 勾引raise老婆的第三者 – 不贞洁的raise老婆 – 因冲动杀人的raise同学 – 制造紊流的西方上帝 是他们,有意无意的共同参与了2008年4月1日水木社区崩溃灾难的这场阴谋。

Posted in 未分类.

Tagged with .


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

Posted in Nginx, 技术.

Tagged with , .


让nginx的expires和防盗链都有效

expires有效,防盗链失效  <code>    
             location ~* ^.+\.(jpg|jpeg|gif|png|css|js|swf)$ {
             access_log   off;
             root /opt/htdocs/career;
     expires 1h;
     #break;
     }

     location ~* ^.+\.(jpg|jpeg|gif|png|swf|rar|zip)$ {
    valid_referers none blocked *.c1gstudio.com;
    if ($invalid_referer) {
        rewrite ^/ http://leech.c1gstudio.com/leech.gif;
        return 412;
    }
     }

只有js和css的expire有效,防盗链有效 location ~<em> ^.+.(jpg|jpeg|gif|png|swf|rar|zip)$ { valid_referers none blocked </em>.c1gstudio.com; if ($invalid_referer) { rewrite ^/ <a href="http://leech.c1gstudio.com/leech.gif">http://leech.c1gstudio.com/leech.gif</a>; return 412; } } location ~* ^.+.(jpg|jpeg|gif|png|css|js|swf)$ { access_log off; root /opt/htdocs/career; expires 1h; #break; }</p> <p>

让expire和防盗链都有效 <br /> location ~<em> ^.+.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ { valid_referers none blocked </em>.c1gstudio.com; if ($invalid_referer) { rewrite ^/ <a href="http://leech.c1gstudio.com/leech.gif">http://leech.c1gstudio.com/leech.gif</a>; return 412; } access_log off; root /opt/htdocs/career; expires 1h; break;</p> <pre><code> }

Posted in Nginx, 技术.

Tagged with , , .