首页
关于
标签合集
友情链接
Search
1
一些简单方面的Linux生产随机密码shell
350 阅读
2
美超微主板IPMI使用教程
324 阅读
3
Ubuntu系统开启root登陆权限
250 阅读
4
linux下502自动重启脚本
230 阅读
5
利用廉价VPS做反代,保护你的真实服务器
178 阅读
OS
促销资讯
管理系统
网站运维
网文资讯
登录
Search
标签搜索
网站架构
linux
网站运营
centos
mysql
google
nginx
ssh
apache
服务器
kloxo
vps
架构分析
PHP
特价VPS
xen
shell
数据库
lamp
vpn
装逼爱好者
累计撰写
163
篇文章
累计收到
20
条评论
首页
栏目
OS
促销资讯
管理系统
网站运维
网文资讯
页面
关于
标签合集
友情链接
搜索到
64
篇与
的结果
2013-10-07
Nginx 屏蔽搜索引擎蜘蛛
将代码加入不让蜘蛛抓取的段内if ($http_user_agent ~* (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)){ return 403; }放入server段内则全站生效,放在location则只有对应的段生效对其他独立的location段无影响.
2013年10月07日
15 阅读
0 评论
0 点赞
2013-09-20
利用廉价VPS做反代,保护你的真实服务器
BUYVM有新机器上架,正好碰上。所以拿群里朋友“杰克”的新VPS做样板。说一下反代的做法。做反代的好处是可以不暴露你的真实服务器,就算有DCMA之类的,也有个缓冲余地。因为只是个接口而已。但是反代的主要目的是用来负载均衡和加速网页用的。不要只认为反代就是防别人投诉的。现在开始。一切以BUYVM的Debian VPS做样板。第一步,需要远程连上你的服务器。linux VPS,大多数都是无UI界面的。也不需要UI界面。LINUX系的VPS,远程有2个方法:VNC,SSH。 前者相当于WIN主机的3389,后者相当于WIN的TELNET也就是DOS模式。有的服务器是已经安装好了SSH服务的,也有的服务器是没有安装好的。如果没有安装好,那么VPS服务商的后台管理面版里,一般会有一个 "Console" 的按纽,让你可以用JAVA版的软件直接连进去。你可以通过这个接口安装SSH。apt-get updateapt-get install SSH安装好以后,可以使用 "Bitvise SSH Client"或者其它SSH 客户端远程 进去。我个人比较习惯用 Bitvise,可自行google下载。界面很简单,填入HOST也就是你VPS的IP, 和password,也就是你的ROOT密码。 login登录进去就行了。这时候就已经连上。左边有一行菜单,用到的有2个: 一是 "New terminal console",二是 "New SFTP window",前者是远程控制台,后者是FTP用来传文件。第二步,检查是不是已经有安装了APACHE等软件。这个要干掉。泥巴,It works!!!! 这VPS已经自动安装了 apache.我要干掉它。因为我将要使用squid。并不是在这台机器上放网站。使用命令: apt-get autoremove apache2 apache2.2-common果断YES啊。reboot 一下。。果然干掉了。第三步,安装SQUID这个还是照样使用命令。超简单。运行: apt-get install squid问你是不是继续,当然。需要几秒钟下载。然后即完成:第四步,配置SQUID需要使用FTP那个功能。打开远程服务器的SQUID配置文件并修改这个界面中,左边是你本地的目录和文件,右边是VPS上的目录和文件。SQUID的默认配置文件在 /etc/squid 目录中,拖到左边。下载下来,用文本编辑器处理编辑就可以了。好像有些复杂。。。。。我们简单些。全清掉。换上下面的配置:visible_hostname Mr9Site http_port 80 accel vhost vport cache_peer 220.220.220.220 parent 80 0 no-query originserver name=Mr9Default acl all src 0.0.0.0/0.0.0.0 no_cache allow allhttp_access allow all cache_mem 90 MB maximum_object_size 320010 KB maximum_object_size_in_memory 100 KB cache_dir ufs /var/spool/squid 10000 32 512 我做了2处标志。 第一个Mr9Site只是个服务器名称。你可以随便写点英文。但不要有空格。比如说 abc.abc.com,或者说 myvps1 这样子的。第2个标志,也就是那个 220.220.220.220 这个IP地址。是你的真实服务器的IP地址。 cache_mem是内存cache的大小,一般设置的比你的VPS内存小一些就行了。在这里,因为VPS是128M内存的,所以我设置了90M。上传覆盖掉VPS服务器上的那个配置文件。然后返回SSH控制台,运行这三个命令:squid -k killsquid -zsquid分别是:停止SQUID,初使化SQUID,开启SQUID。到此,安装成功。 这时候,任何指向你这个反代IP的请求,都会转发到你的真实服务器上去。所以你的新域名,只要解到这个新的反代服务器就OK了。这里没有用到加速功能。请自行度娘:squid 图片加速,HTML加速等等。转载自:http://www.dazhou.net/HowTo/liyonglianjiaVPSzuofandaibaohunidezhenshifuwuqi
2013年09月20日
178 阅读
0 评论
0 点赞
2011-07-31
修改hosts访问google
在hosts里添加Google Docs的解析IP直接绕过DNS查询,就能正常使用https的Google了。 hosts文件的位置: windows:C:\Windows\System32\drivers\etc\hosts linux:/etc/hosts用记事本打开hosts文件,下面这些内容添加到hosts文件:##Google.com Google.com 203.208.46.164 www.google.com #主页 203.208.46.164 google.com #主页 203.208.46.72 m.google.com #Google移动版 203.208.46.99 accounts.google.com #帐户 203.208.46.32 services.google.com #服务申请 203.208.46.24 goto.google.com #跳转 203.208.46.19 jmt0.google.com 203.208.46.139 wire.l.google.com 203.208.46.139 dl-ssl.google.com 203.208.46.139 dl.google.com 203.208.46.139 ssl.google.com 203.208.46.139 profiles.google.com 203.208.46.139 encrypted.google.com 203.208.46.139 chrome.angrybirds.com##Google.com.hk 谷歌香港 203.208.46.190 www.google.com.hk 203.208.46.190 www.google.com.tw 203.208.46.190 google.com.tw 203.208.46.145 images.google.com.hk 203.208.46.155 video.google.com.hk 203.208.46.37 maps.google.com.hk 203.208.46.82 news.google.com.hk 203.208.46.80 translate.google.com.hk 203.208.46.34 blogsearch.google.com.hk 203.208.46.3 picasaweb.google.com.hk 203.208.46.155 toolbar.google.com.hk 203.208.46.135 desktop.google.com.hk 203.208.46.28 id.google.com.hk 203.208.46.19 wenda.google.com.hk 203.208.46.180 www.googlechinawebmaster.com##Google.cn 谷歌中国(启用此地址无法正常使用谷歌音乐) 203.208.46.80 translate.google.cn #翻译 203.208.46.156 blogsearch.google.cn #博客搜索 203.208.46.175 pack.google.cn #软件精选(跳转) 203.208.46.149 news.google.cn #新闻(跳转) 203.208.46.136 video.google.cn #视频(跳转) 203.208.46.186 music.googleusercontent.cn##Google.com.tw Google台湾 203.208.46.132 www.google.com.tw #主页 203.208.46.159 picasaweb.google.com.tw #picasaweb##Google.co.jp Google日本 203.208.46.21 www.google.co.jp#IPv6:ipv6.google.co.jp 203.208.46.81 www.google.com.tr #土耳其 203.208.46.39 www.google.com.au #澳大利亚 203.208.46.185 www.google.com.vn #越南 203.208.46.135 www.google.com.pk #巴基斯坦 203.208.46.6 www.google.com.my #马来西亚 203.208.46.102 www.google.com.pe 203.208.46.138 www.google.co.za 203.208.46.130 www.google.co.ve 203.208.46.81 www.google.com.ph 203.208.46.157 www.google.com.ar 203.208.46.150 www.google.co.nz 203.208.46.16 www.google.lt 203.208.46.100 www.google.com.sg #新加坡 203.208.46.191 www.google.com.hk #香港 203.208.46.172 www.google.com.tw #台湾 203.208.46.153 www.google.co.jp #日本 203.208.46.7 www.google.ae 203.208.46.141 www.google.co.uk #英国 203.208.46.191 www.google.com.gr 203.208.46.37 www.google.de 203.208.46.82 www.google.co.il 203.208.46.137 www.google.fr #法国 203.208.46.149 www.google.it #意大利 203.208.46.167 www.google.lv 203.208.46.103 www.google.ca 203.208.46.39 www.google.pl 203.208.46.150 www.google.ch 203.208.46.141 www.google.ro 203.208.46.3 www.google.nl #荷兰 203.208.46.159 www.google.com.ru #俄罗斯 203.208.46.140 www.google.at #奥地利 203.208.46.182 www.google.be 203.208.46.21 www.google.co.kr #南韩 203.208.46.187 www.google.com.ua 203.208.46.129 www.google.fi #芬兰 203.208.46.4 www.google.co.in 203.208.46.172 www.google.pt 203.208.46.6 www.google.com.ly 203.208.46.169 www.google.com.br#Web 网页 203.208.46.171 www.google.com #主页 203.208.46.4 encrypted.google.com #主页 203.208.46.189 www.l.google.com 203.208.46.97 www0.l.google.com 203.208.46.65 www1.l.google.com 203.208.46.185 www3.l.google.com 203.208.46.132 suggestqueries.google.com #搜索建议 203.208.46.151 suggestqueries.l.google.com #搜索建议 203.208.46.164 clients0.google.com #客户端服务器 203.208.46.4 clients1.google.com #客户端服务器 203.208.46.163 clients2.google.com #客户端服务器 203.208.46.153 clients3.google.com #客户端服务器 203.208.46.89 clients4.google.com #客户端服务器 203.208.46.162 clients.l.google.com 203.208.46.85 clients1.google.com.hk # .com.hk 搜索建议 203.208.46.38 clients-china.l.google.com 203.208.46.160 linkhelp.clients.google.com#Images 图片 203.208.46.136 images.google.com #主页 203.208.46.95 images.l.google.com 203.208.46.4 tbn0.google.com 203.208.46.130 tbn1.google.com 203.208.46.7 tbn2.google.com 203.208.46.190 tbn3.google.com 203.208.46.131 tbn4.google.com 203.208.46.136 tbn5.google.com 203.208.46.184 tbn6.google.com#Video 视频 203.208.46.141 video.google.com #主页 203.208.46.164 0.gvt0.com 203.208.46.128 1.gvt0.com 203.208.46.27 2.gvt0.com 203.208.46.98 3.gvt0.com 203.208.46.32 4.gvt0.com 203.208.46.154 5.gvt0.com 203.208.46.80 video-stats.video.google.com 203.208.46.103 upload.video.google.com 203.208.46.97 sslvideo-upload.l.google.com 203.208.46.128 vp.video.google.com 203.208.46.142 vp.video.l.google.com 203.208.46.141 qwqy.vp.video.l.google.com 203.208.46.128 nz.vp.video.l.google.com 203.208.46.139 nztdug.vp.video.l.google.com 203.208.46.152 pr.vp.video.l.google.com 203.208.46.149 ug.vp.video.l.google.com 203.208.46.91 vp01.video.l.google.com 203.208.46.4 vp02.video.l.google.com 203.208.46.145 vp03.video.l.google.com 203.208.46.84 vp04.video.l.google.com 203.208.46.171 vp05.video.l.google.com 203.208.46.173 vp06.video.l.google.com 203.208.46.152 vp07.video.l.google.com 203.208.46.91 vp08.video.l.google.com 203.208.46.80 vp09.video.l.google.com 203.208.46.134 vp10.video.l.google.com 203.208.46.27 vp11.video.l.google.com 203.208.46.166 vp12.video.l.google.com 203.208.46.134 vp13.video.l.google.com 203.208.46.84 vp14.video.l.google.com 203.208.46.72 vp15.video.l.google.com 203.208.46.31 vp16.video.l.google.com 203.208.46.2 vp17.video.l.google.com 203.208.46.150 vp18.video.l.google.com 203.208.46.150 vp19.video.l.google.com 203.208.46.133 vp20.video.l.google.com203.208.46.66 0.gvt0.cn 203.208.46.164 1.gvt0.cn 203.208.46.177 2.gvt0.cn 203.208.46.177 3.gvt0.cn#Map 地图 203.208.46.8 maps.google.com #主页 203.208.46.183 local.google.com 203.208.46.86 ditu.google.com #中国版(镜像) 203.208.46.175 maps.l.google.com 203.208.46.131 maps-api-ssl.google.com 203.208.46.129 map.google.com 203.208.46.30 kh.google.com 203.208.46.5 kh.l.google.com 203.208.46.69 khmdb.google.com 203.208.46.162 khm.google.com 203.208.46.173 khm.l.google.com 203.208.46.174 khm0.google.com #Satellite View 203.208.46.165 khm1.google.com #Satellite View 203.208.46.161 khm2.google.com #Satellite View 203.208.46.24 khm3.google.com #Satellite View 203.208.46.91 cbk0.google.com #Street View 203.208.46.70 cbk1.google.com #Street View 203.208.46.94 cbk2.google.com #Street View 203.208.46.161 cbk3.google.com #Street View 203.208.46.186 mw0.google.com 203.208.46.175 mw1.google.com 203.208.46.29 mw2.google.com 203.208.46.38 mw3.google.com 203.208.46.133 mw-small.l.google.com 203.208.46.39 mt.l.google.com 203.208.46.81 mt0.google.com 203.208.46.131 mt1.google.com 203.208.46.179 mt2.google.com 203.208.46.84 mt3.google.com 203.208.46.80 mlt0.google.com 203.208.46.3 mlt1.google.com 203.208.46.185 mlt2.google.com 203.208.46.173 mlt3.google.com 203.208.46.172 gg.google.com 203.208.46.93 csi.l.google.com 203.208.46.144 id.google.com 203.208.46.141 id.l.google.com 203.208.46.102 id.google.cn 203.208.46.133 ditu.google.cn 203.208.46.141 mt0.google.cn 203.208.46.27 mt1.google.cn 203.208.46.31 mt2.google.cn 203.208.46.154 mt3.google.cn 203.208.46.167 maps.gstatic.cn#News 资讯 203.208.46.162 news.google.com #主页 203.208.46.176 news.l.google.com 203.208.46.16 nt0.ggpht.com 203.208.46.178 nt1.ggpht.com 203.208.46.33 nt2.ggpht.com 203.208.46.142 nt3.ggpht.com 203.208.46.19 nt4.ggpht.com 203.208.46.84 nt5.ggpht.com#Gmail 邮箱 203.208.46.183 mail.google.com #主页 203.208.46.188 googlemail.l.google.com 203.208.46.68 googlemail.l.google.com 203.208.46.24 googlemail.l.google.com 203.208.46.149 googlemail.l.google.com 203.208.46.27 chatenabled.mail.google.com #Gmail中Gtalk聊天服务 203.208.46.102 talk.gmail.com #Gmail中Gtalk聊天服务 203.208.46.2 gmail.google.com 203.208.46.69 gmail.l.google.com 203.208.46.101 www.gmail.com #Gmail主页 203.208.46.156 gmail.com #Gmail主页 203.208.46.27 pop.gmail.com #pop服务 203.208.46.141 smtp.gmail.com #smtp服务 203.208.46.171 smtp1.google.com 203.208.46.83 smtp2.google.com 203.208.46.143 smtp3.google.com 203.208.46.141 smtp4.google.com 203.208.46.28 smtp5.google.com 203.208.46.16 smtp-out.google.com 203.208.46.143 smtp-out2.google.com 203.208.46.178 smtp-out3.google.com 203.208.46.153 imap.google.com 203.208.46.24 gmail-pop.l.google.com 203.208.46.142 gmail-smtp.l.google.com 203.208.46.93 gmail-smtp-in.l.google.com 203.208.46.173 gmr-smtp-in.l.google.com#Books 图书 203.208.46.2 books.google.com #主页 203.208.46.69 bks0.books.google.com 203.208.46.168 bks1.books.google.com 203.208.46.103 bks2.books.google.com 203.208.46.160 bks3.books.google.com 203.208.46.91 bks4.books.google.com 203.208.46.3 bks5.books.google.com 203.208.46.34 bks6.books.google.com 203.208.46.37 bks7.books.google.com 203.208.46.97 bks8.books.google.com 203.208.46.29 bks9.books.google.com#Finance 财经 203.208.46.166 finance.google.com#Translate 翻译 203.208.46.138 translate.google.com 203.208.46.37 translate.google.cn#Trends 趋势 203.208.46.178 trends.google.com#Directory 网页目录 203.208.46.88 directory.google.com 203.208.46.21 dir.google.com #Google网页目录#Blog 博客搜索 203.208.46.163 blogsearch.google.com 203.208.46.139 blogsearch.google.cn#Calendar 日历 203.208.46.96 calendar.google.com#Photo/Picasa 照片/网络相册 203.208.46.149 photos.google.com 203.208.46.138 picasa.google.com 203.208.46.181 picasaweb.google.com 203.208.46.175 lh0.ggpht.com 203.208.46.38 lh1.ggpht.com 203.208.46.159 lh2.ggpht.com 203.208.46.91 lh3.ggpht.com 203.208.46.103 lh4.ggpht.com 203.208.46.190 lh5.ggpht.com 203.208.46.89 lh6.ggpht.com 203.208.46.179 lh7.ggpht.com 203.208.46.141 lh8.ggpht.com 203.208.46.32 lh9.ggpht.com 203.208.46.153 lh6.google.com#Docs 文档 203.208.46.163 docs.google.com 203.208.46.179 docs0.google.com 203.208.46.150 docs1.google.com 203.208.46.151 docs2.google.com 203.208.46.139 docs3.google.com 203.208.46.90 docs4.google.com 203.208.46.94 docs5.google.com 203.208.46.95 docs6.google.com 203.208.46.21 docs7.google.com 203.208.46.154 docs8.google.com 203.208.46.145 docs9.google.com 203.208.46.82 spreadsheet.google.com 203.208.46.148 spreadsheets.google.com 203.208.46.72 spreadsheets0.google.com 203.208.46.135 spreadsheets1.google.com 203.208.46.139 spreadsheets2.google.com 203.208.46.184 spreadsheets3.google.com 203.208.46.103 spreadsheets4.google.com 203.208.46.137 spreadsheets5.google.com 203.208.46.150 spreadsheets6.google.com 203.208.46.103 spreadsheets7.google.com 203.208.46.66 spreadsheets8.google.com 203.208.46.182 spreadsheets9.google.com 203.208.46.182 spreadsheets.l.google.com 203.208.46.72 spreadsheets-china.l.google.com 203.208.46.8 writely.google.com 203.208.46.132 writely.l.google.com 203.208.46.4 writely-com.l.google.com 203.208.46.65 writely-china.l.google.com#Reader 阅读器 203.208.46.29 reader.google.com 203.208.46.99 www2.l.google.com#Group 论坛 203.208.46.93 groups.google.com 203.208.46.188 groups.l.google.com 203.208.46.66 *.googlegroups.com 203.208.46.188 blob-s-docs.googlegroups.com 203.208.46.147 2503061233288453901-a-1802744773732722657-s-sites.googlegroups.com#Scholar 学术搜索 203.208.46.191 scholar.google.com 203.208.46.151 scholar.l.google.com#Tools 工具 203.208.46.158 tools.google.com 203.208.46.20 tools.l.google.com#Code 代码 203.208.46.72 code.google.com #主页 203.208.46.135 code.l.google.com 203.208.46.137 *.googlecode.com 203.208.46.136 chromium.googlecode.com 203.208.46.19 searchforchrome.googlecode.com 203.208.46.89 android-scripting.googlecode.com #Android Scripting Environment 203.208.46.29 earth-api-samples.googlecode.com 203.208.46.150 gmaps-samples-flash.googlecode.com 203.208.46.69 google-code-feed-gadget.googlecode.com 203.208.46.67 china-addthis.googlecode.com 203.208.46.69 get-flash-videos.googlecode.com #get-flash-videos 203.208.46.186 youplayer.googlecode.com #YouPlayer 203.208.46.173 cclive.googlecode.com #ccLive#Labs 实验室 203.208.46.129 labs.google.com 203.208.46.20 www.googlelabs.com 203.208.46.95 browsersize.googlelabs.com #Browser Size 203.208.46.96 citytours.googlelabs.com #City Tours 203.208.46.16 fastflip.googlelabs.com #Fast Flip 203.208.46.100 followfinder.googlelabs.com #Follow Finder 203.208.46.170 image-swirl.googlelabs.com #Image Swirl 203.208.46.66 listen.googlelabs.com #Google Listen 203.208.46.169 livingstories.googlelabs.com #Living Stories 203.208.46.181 newstimeline.googlelabs.com #Google News Timeline 203.208.46.178 relatedlinks.googlelabs.com #Related Links 203.208.46.27 scriptconv.googlelabs.com #Script Converter 203.208.46.98 similar-images.googlelabs.com #Similar Images 203.208.46.168 storegadget.googlelabs.com #Google Checkout Store Gadget 203.208.46.176 tables.googlelabs.com #Fusion Tables 203.208.46.84 appinventor.googlelabs.com 203.208.46.92 appspot.l.google.com#Knol 在线百科全书 203.208.46.68 knol.google.com#SketchUp 3D建模工具 203.208.46.131 sketchup.google.com#Pack 软件精选 203.208.46.155 pack.google.com 203.208.46.22 cache.pack.google.com 203.208.46.24 pack.google.cn#Blogger 博客服务 203.208.46.17 www.blogger.com 203.208.46.184 blogger.com 203.208.46.65 buttons.blogger.com 203.208.46.34 beta.blogger.com 203.208.46.102 draft.blogger.com #Blogger 测试区 203.208.46.85 status.blogger.com #Blogger 状态 203.208.46.8 help.blogger.com #支持中心 203.208.46.128 buzz.blogger.com #Blogger Buzz博客(英文) 203.208.46.128 photos1.blogger.com 203.208.46.22 bp0.blogger.com 203.208.46.8 bp1.blogger.com 203.208.46.101 bp2.blogger.com 203.208.46.67 bloggerphotos.l.google.com 203.208.46.20 blogger.google.com 203.208.46.146 www2.blogger.com 203.208.46.154 blogger.l.google.com 203.208.46.85 www.blogblog.com 203.208.46.37 www1.blogblog.com 203.208.46.137 www2.blogblog.com 203.208.46.142 img.blogblog.com 203.208.46.187 img1.blogblog.com 203.208.46.142 img2.blogblog.com 203.208.46.183 img.blshe.com#Blogspot 博客服务 203.208.46.97 www.blogspot.com #主页 203.208.46.173 blogsofnote.blogspot.com #留言博客(英文版本) 203.208.46.17 knownissues.blogspot.com #已知问题 203.208.46.96 1.bp.blogspot.com 203.208.46.91 2.bp.blogspot.com 203.208.46.67 3.bp.blogspot.com 203.208.46.37 4.bp.blogspot.com 203.208.46.7 bloggertemplatespreview.blogspot.com #模板编辑器的实时预览功能#Google 官方博客群 203.208.46.80 adwordsapi.blogspot.com 203.208.46.88 adsense-zhs.blogspot.com 203.208.46.132 android-developers.blogspot.com 203.208.46.168 apacdeveloper.blogspot.com #Google Asia Pacific Developer Blog 203.208.46.85 booksearch.blogspot.com #Inside Google Books 203.208.46.187 chrome.blogspot.com 203.208.46.160 doubleclickpublishersapi.blogspot.com 203.208.46.88 emeadev.blogspot.com #Google Europe, Middle East & Africa Developer Blog 203.208.46.35 gearsblog.blogspot.com 203.208.46.103 google-code-featured.blogspot.com #Featured Projects on Google Code 203.208.46.103 google-entertainment-it.blogspot.com 203.208.46.161 google-opensource.blogspot.com 203.208.46.188 googleajaxsearchapi.blogspot.com 203.208.46.18 googleappengine.blogspot.com 203.208.46.153 googleappsdeveloper.blogspot.com 203.208.46.101 googleblog.blogspot.com #Official Google Blog 203.208.46.88 googlecheckout.blogspot.com 203.208.46.185 googlecheckoutapi.blogspot.com 203.208.46.179 googlechinablog.blogspot.com 203.208.46.153 googlechromereleases.blogspot.com #Google Chrome Releases 203.208.46.130 googlecode.blogspot.com 203.208.46.169 googlecustomsearch.blogspot.com #Google Custom Search Blog 203.208.46.130 googleenterprise.blogspot.com 203.208.46.30 googlegeodevelopers.blogspot.com #Google Geo Developers Blog 203.208.46.26 googlemashupeditor.blogspot.com 203.208.46.7 googlemobile.blogspot.com 203.208.46.144 googleresearch.blogspot.com 203.208.46.181 googletalk.blogspot.com 203.208.46.143 googlewebmaster-cn.blogspot.com 203.208.46.145 googlewebmastercentral.blogspot.com 203.208.46.157 googlewebtoolkit.blogspot.com 203.208.46.96 golangblog.blogspot.com 203.208.46.160 gmailblog.blogspot.com 203.208.46.188 igoogledeveloper.blogspot.com #iGoogle Developer Blog 203.208.46.142 webmproject.blogspot.com 203.208.46.158 youtube-global.blogspot.com #YouTube Blog #BlogSpot 上的其他常用博客 203.208.46.39 googlesystem.blogspot.com #Google Operating System #203.208.46.175 *.blogspot.com #可以添加你自己的博客地址到这里#Checkout 买家 203.208.46.159 checkout.google.com#Orkut 网络社区(尚未部署至 ipv6) 203.208.46.151 help.orkut.com 203.208.46.141 officialorkutblog.blogspot.com 203.208.46.163 blog.orkut.com 203.208.46.138 en.blog.orkut.com#Sites 协作平台 203.208.46.159 sites.google.com 203.208.46.100 gsamplemaps.googlepages.com#Google Apps 企业应用套件 203.208.46.179 apps.google.com #主页 203.208.46.85 ghs.google.com 203.208.46.69 ghs46.google.com #GHS 双栈入口! 203.208.46.181 ghs.l.google.com 203.208.46.164 ghs46.l.google.com 203.208.46.139 blog.opensocial.org #203.208.46.36 ghs.google.com #可以添加你 GApps 域名的博客地址 / GSites 地址到这里#Mashups/App Engine GAE 203.208.46.143 googlemashups.com #Google Mashup Editor 203.208.46.24 www.googlemashups.com 203.208.46.68 googlemashups.l.google.com 203.208.46.2 *.googlemashups.com 203.208.46.33 appengine.google.com #主页 203.208.46.161 appspot.l.google.com 203.208.46.8 *.appspot.com 203.208.46.8 androidappdocs.appspot.com 203.208.46.149 productideas.appspot.com #Google 汇问 203.208.46.101 wave-api.appspot.com #Google Wave API 203.208.46.82 wave-skynet.appspot.com #SkyNet 203.208.46.100 cactus-wave.appspot.com 203.208.46.132 storegadgetwizard.appspot.com #Google Checkout Store Gadget 203.208.46.165 moderator.appspot.com #Google Moderator 203.208.46.169 haiticrisis.appspot.com #Google Person Finder: Haiti Earthquake 203.208.46.149 mytracks.appspot.com #My Tracks for Android 203.208.46.158 reader2twitter.appspot.com #Reader2Tweet 203.208.46.84 twitese.appspot.com 203.208.46.18 gfw.appspot.com 203.208.46.28 go2china9.appspot.com 203.208.46.183 mirrorrr.appspot.com 203.208.46.87 mirrornt.appspot.com 203.208.46.102 soproxy.appspot.com 203.208.46.168 so-proxy.appspot.com 203.208.46.97 go-west.appspot.com 203.208.46.35 proxytea.appspot.com 203.208.46.80 sivanproxy.appspot.com 203.208.46.159 proxybay.appspot.com 203.208.46.174 ipgoto.appspot.com 203.208.46.173 meme2028.appspot.com 203.208.46.148 autoproxy2pac.appspot.com#Google APIs 开发接口服务 203.208.46.80 chart.apis.google.com #Google 图表 API 203.208.46.148 *.googleapis.com 203.208.46.154 translate.googleapis.com #Google 翻译 API 203.208.46.162 ajax.googleapis.com #Ajax API 203.208.46.152 googleapis-ajax.google.com 203.208.46.162 googleapis-ajax.l.google.com 203.208.46.88 commondatastorage.googleapis.com#Google Hosted 托管服务 203.208.46.152 www.googlehosted.com 203.208.46.67 music.googleusercontent.com #音乐播放器 专辑封面 等 203.208.46.156 googlehosted.l.google.com 203.208.46.145 base.googlehosted.com 203.208.46.157 base0.googlehosted.com 203.208.46.30 base1.googlehosted.com 203.208.46.80 base2.googlehosted.com 203.208.46.70 base3.googlehosted.com 203.208.46.65 base4.googlehosted.com 203.208.46.130 base5.googlehosted.com#GoogleUserContent 用户自定义的Google服务 203.208.46.84 www.googleusercontent.com 203.208.46.143 clients1.googleusercontent.com 203.208.46.139 clients2.googleusercontent.com 203.208.46.188 webcache.googleusercontent.com #网页快照 203.208.46.176 lh0.googleusercontent.com 203.208.46.82 lh1.googleusercontent.com 203.208.46.180 lh2.googleusercontent.com 203.208.46.95 lh3.googleusercontent.com 203.208.46.155 lh3.googleusercontent.com #谷歌音乐(大陆) 203.208.46.130 lh4.googleusercontent.com #谷歌音乐(大陆) 203.208.46.141 lh5.googleusercontent.com #谷歌音乐(大陆) 203.208.46.160 lh6.googleusercontent.com #谷歌音乐(大陆) 203.208.46.67 s2.googleusercontent.com 203.208.46.142 wave.googleusercontent.com #Wave 203.208.46.38 blogger.googleusercontent.com #Blogger 203.208.46.70 translate.googleusercontent.com #翻译 203.208.46.146 music-onebox.googleusercontent.com #音乐歌曲CD封面图片 203.208.46.70 spreadsheets-opensocial.googleusercontent.com #表格 203.208.46.36 www-opensocial.googleusercontent.com 203.208.46.30 www-gm-opensocial.googleusercontent.com #Gmail? 203.208.46.185 www-opensocial-sandbox.googleusercontent.com #SandBox 203.208.46.91 www-open-opensocial.googleusercontent.com 203.208.46.177 1-open-opensocial.googleusercontent.com 203.208.46.70 www-focus-opensocial.googleusercontent.com #缩略图 203.208.46.138 images0-focus-opensocial.googleusercontent.com #缩略图 203.208.46.33 images1-focus-opensocial.googleusercontent.com #缩略图 203.208.46.178 images2-focus-opensocial.googleusercontent.com #缩略图 203.208.46.163 doc-00-7o-docs.googleusercontent.com 203.208.46.147 doc-08-7o-docs.googleusercontent.com 203.208.46.33 doc-10-7o-docs.googleusercontent.com 203.208.46.153 doc-14-7o-docs.googleusercontent.com 203.208.46.152 doc-0c-7o-docs.googleusercontent.com 203.208.46.67 doc-0g-7o-docs.googleusercontent.com 203.208.46.17 doc-0s-7o-docs.googleusercontent.com 203.208.46.34 www-focus-opensocial.googleusercontent.com 203.208.46.138 0-focus-opensocial.googleusercontent.com 203.208.46.103 1-focus-opensocial.googleusercontent.com 203.208.46.180 2-focus-opensocial.googleusercontent.com 203.208.46.3 3-focus-opensocial.googleusercontent.com 203.208.46.165 www-open-opensocial.googleusercontent.com 203.208.46.156 0-open-opensocial.googleusercontent.com 203.208.46.30 1-open-opensocial.googleusercontent.com 203.208.46.164 2-open-opensocial.googleusercontent.com 203.208.46.165 3-open-opensocial.googleusercontent.com 203.208.46.31 www-wave-opensocial.googleusercontent.com #Wave 203.208.46.83 0-wave-opensocial.googleusercontent.com 203.208.46.2 1-wave-opensocial.googleusercontent.com 203.208.46.90 2-wave-opensocial.googleusercontent.com 203.208.46.176 3-wave-opensocial.googleusercontent.com 203.208.46.32 4-wave-opensocial.googleusercontent.com 203.208.46.103 5-wave-opensocial.googleusercontent.com 203.208.46.8 6-wave-opensocial.googleusercontent.com 203.208.46.18 7-wave-opensocial.googleusercontent.com 203.208.46.67 8-wave-opensocial.googleusercontent.com 203.208.46.36 9-wave-opensocial.googleusercontent.com 203.208.46.16 10-wave-opensocial.googleusercontent.com 203.208.46.28 11-wave-opensocial.googleusercontent.com 203.208.46.132 12-wave-opensocial.googleusercontent.com 203.208.46.139 13-wave-opensocial.googleusercontent.com 203.208.46.102 14-wave-opensocial.googleusercontent.com 203.208.46.2 15-wave-opensocial.googleusercontent.com 203.208.46.179 16-wave-opensocial.googleusercontent.com 203.208.46.132 17-wave-opensocial.googleusercontent.com 203.208.46.136 18-wave-opensocial.googleusercontent.com 203.208.46.39 19-wave-opensocial.googleusercontent.com 203.208.46.22 20-wave-opensocial.googleusercontent.com 203.208.46.190 21-wave-opensocial.googleusercontent.com 203.208.46.37 22-wave-opensocial.googleusercontent.com 203.208.46.163 23-wave-opensocial.googleusercontent.com 203.208.46.3 24-wave-opensocial.googleusercontent.com 203.208.46.146 25-wave-opensocial.googleusercontent.com 203.208.46.173 26-wave-opensocial.googleusercontent.com 203.208.46.28 27-wave-opensocial.googleusercontent.com 203.208.46.176 28-wave-opensocial.googleusercontent.com 203.208.46.147 29-wave-opensocial.googleusercontent.com 203.208.46.173 30-wave-opensocial.googleusercontent.com 203.208.46.141 31-wave-opensocial.googleusercontent.com 203.208.46.18 32-wave-opensocial.googleusercontent.com 203.208.46.166 33-wave-opensocial.googleusercontent.com 203.208.46.138 34-wave-opensocial.googleusercontent.com 203.208.46.4 35-wave-opensocial.googleusercontent.com 203.208.46.98 36-wave-opensocial.googleusercontent.com 203.208.46.138 37-wave-opensocial.googleusercontent.com 203.208.46.145 38-wave-opensocial.googleusercontent.com 203.208.46.20 39-wave-opensocial.googleusercontent.com 203.208.46.131 40-wave-opensocial.googleusercontent.com 203.208.46.87 1927502848-wave-opensocial.googleusercontent.com 203.208.46.92 la5dhjn62ripv179lf7outfl68h6dc3c-a-wave-opensocial.googleusercontent.com 203.208.46.71 3hdrrlnlknhi77nrmsjnjr152ueo3soc-a-calendar-opensocial.googleusercontent.com 203.208.46.88 eds9earadhd329tuipi6kfc947ts928j-a-sites-opensocial.googleusercontent.com 203.208.46.157 sp5ovcebgtpf6rg65f53gdnvqtt3a58n-a-sites-opensocial.googleusercontent.com#Chrome 谷歌浏览器 203.208.46.83 chrome.google.com 203.208.46.182 browsersync.google.com 203.208.46.68 browsersync.l.google.com#Chromium Chromium 项目 203.208.46.142 chromium.org #跳转至 www 203.208.46.191 www.chromium.org 203.208.46.34 dev.chromium.org 203.208.46.153 blog.chromium.org 203.208.46.7 build.chromium.org#Chromium OS Chromium 操作系统 203.208.46.179 goto.ext.google.com 203.208.46.69 welcome-cros.appspot.com #Chromium 主菜单#Sandbox 沙盒 203.208.46.173 sandbox.google.com#Wave 波浪 203.208.46.99 wave.google.com 203.208.46.139 www4.l.google.com 203.208.46.100 wave0.google.com 203.208.46.38 wave1.google.com 203.208.46.100 googlewave.com#WiFi 203.208.46.86 wifi.google.com 203.208.46.173 wifi.l.google.com#GTalk 聊天 203.208.46.31 talk.l.google.com 203.208.46.83 default.talk.google.com 203.208.46.100 talkgadget.google.com 203.208.46.96 rtmp0.google.com 203.208.46.162 users.talk.google.com#Buzz 203.208.46.103 buzz.google.com#Answers/Guru/WenDa 问答社区(国际版已停止运营) 203.208.46.146 answers.google.com 203.208.46.136 guru.google.com 203.208.46.68 guru.google.co.th #泰国 203.208.46.158 wenda.google.com.hk#iGoogle Modules iGoogle 小工具 203.208.46.88 gmodules.com 203.208.46.91 www.gmodules.com 203.208.46.22 www.ig.gmodules.com 203.208.46.67 ig.gmodules.com 203.208.46.174 ads.gmodules.com 203.208.46.101 p.gmodules.com 203.208.46.131 1.ig.gmodules.com 203.208.46.16 2.ig.gmodules.com 203.208.46.68 3.ig.gmodules.com 203.208.46.24 4.ig.gmodules.com 203.208.46.8 5.ig.gmodules.com 203.208.46.184 6.ig.gmodules.com 203.208.46.160 maps.gmodules.com 203.208.46.187 img0.gmodules.com 203.208.46.149 img1.gmodules.com 203.208.46.140 img2.gmodules.com 203.208.46.103 img3.gmodules.com 203.208.46.98 skins.gmodules.com 203.208.46.39 friendconnect.gmodules.com 203.208.46.37 mc8tdi0ripmbpds25eboaupdulritrp6.friendconnect.gmodules.com 203.208.46.181 r1rk9np7bpcsfoeekl0khkd2juj27q3o.friendconnect.gmodules.com 203.208.46.96 r1rk9np7bpcsfoeekl0khkd2juj27q3o.a.friendconnect.gmodules.com#GStatic Google 静态文件存储 203.208.46.175 www.gstatic.com 203.208.46.7 csi.gstatic.com 203.208.46.185 maps.gstatic.com 203.208.46.184 ssl.gstatic.com 203.208.46.166 t0.gstatic.com 203.208.46.8 t1.gstatic.com 203.208.46.176 t2.gstatic.com 203.208.46.147 t3.gstatic.com 203.208.46.162 t4.gstatic.com 203.208.46.145 mt0.gstatic.com##Google其他服务 #YouTube 203.208.46.31 www.youtube.com 203.208.46.179 www.youtube-nocookie.com 203.208.46.182 youtube-ui-china.l.google.com 203.208.46.186 m.youtube.com 203.208.46.137 tw.youtube.com 203.208.46.17 youtu.be 203.208.46.166 gdata.youtube.com 203.208.46.169 help.youtube.com 203.208.46.158 upload.youtube.com 203.208.46.147 insight.youtube.com 203.208.46.131 img.youtube.com 203.208.46.71 s2.youtube.com 203.208.46.177 youtube.com 203.208.46.182 apiblog.youtube.com #YouTube API 开发博客 203.208.46.87 clients1.youtube.com 203.208.46.169 static.cache.l.google.com 203.208.46.180 ytimg.l.google.com 203.208.46.6 i.ytimg.com 203.208.46.165 i1.ytimg.com 203.208.46.72 i2.ytimg.com 203.208.46.184 i3.ytimg.com 203.208.46.70 i4.ytimg.com 203.208.46.186 d.yimg.com 203.208.46.93 s.ytimg.com203.208.46.175 v1.lscache1.c.youtube.com 203.208.46.96 v1.lscache2.c.youtube.com 203.208.46.18 v1.lscache3.c.youtube.com 203.208.46.88 v1.lscache4.c.youtube.com 203.208.46.136 v1.lscache5.c.youtube.com 203.208.46.4 v1.lscache6.c.youtube.com 203.208.46.65 v1.lscache7.c.youtube.com 203.208.46.80 v1.lscache8.c.youtube.com 203.208.46.25 v2.lscache1.c.youtube.com 203.208.46.70 v2.lscache2.c.youtube.com 203.208.46.88 v2.lscache3.c.youtube.com 203.208.46.34 v2.lscache4.c.youtube.com 203.208.46.33 v2.lscache5.c.youtube.com 203.208.46.156 v2.lscache6.c.youtube.com 203.208.46.22 v2.lscache7.c.youtube.com 203.208.46.184 v2.lscache8.c.youtube.com 203.208.46.102 v3.lscache1.c.youtube.com 203.208.46.100 v3.lscache2.c.youtube.com 203.208.46.87 v3.lscache3.c.youtube.com 203.208.46.154 v3.lscache4.c.youtube.com 203.208.46.145 v3.lscache5.c.youtube.com 203.208.46.177 v3.lscache6.c.youtube.com 203.208.46.166 v3.lscache7.c.youtube.com 203.208.46.16 v3.lscache8.c.youtube.com 203.208.46.8 v4.lscache1.c.youtube.com 203.208.46.191 v4.lscache2.c.youtube.com 203.208.46.95 v4.lscache3.c.youtube.com 203.208.46.100 v4.lscache4.c.youtube.com 203.208.46.155 v4.lscache5.c.youtube.com 203.208.46.5 v4.lscache6.c.youtube.com 203.208.46.166 v4.lscache7.c.youtube.com 203.208.46.190 v4.lscache8.c.youtube.com 203.208.46.134 v5.lscache1.c.youtube.com 203.208.46.159 v5.lscache2.c.youtube.com 203.208.46.182 v5.lscache3.c.youtube.com 203.208.46.178 v5.lscache4.c.youtube.com 203.208.46.148 v5.lscache5.c.youtube.com 203.208.46.68 v5.lscache6.c.youtube.com 203.208.46.8 v5.lscache7.c.youtube.com 203.208.46.39 v5.lscache8.c.youtube.com 203.208.46.3 v6.lscache1.c.youtube.com 203.208.46.97 v6.lscache2.c.youtube.com 203.208.46.87 v6.lscache3.c.youtube.com 203.208.46.185 v6.lscache4.c.youtube.com 203.208.46.23 v6.lscache5.c.youtube.com 203.208.46.139 v6.lscache6.c.youtube.com 203.208.46.135 v6.lscache7.c.youtube.com 203.208.46.18 v6.lscache8.c.youtube.com 203.208.46.165 v7.lscache1.c.youtube.com 203.208.46.30 v7.lscache2.c.youtube.com 203.208.46.18 v7.lscache3.c.youtube.com 203.208.46.185 v7.lscache4.c.youtube.com 203.208.46.160 v7.lscache5.c.youtube.com 203.208.46.70 v7.lscache6.c.youtube.com 203.208.46.81 v7.lscache7.c.youtube.com 203.208.46.36 v7.lscache8.c.youtube.com 203.208.46.70 v8.lscache1.c.youtube.com 203.208.46.20 v8.lscache2.c.youtube.com 203.208.46.66 v8.lscache3.c.youtube.com 203.208.46.165 v8.lscache4.c.youtube.com 203.208.46.190 v8.lscache5.c.youtube.com 203.208.46.39 v8.lscache6.c.youtube.com 203.208.46.156 v8.lscache7.c.youtube.com 203.208.46.180 v8.lscache8.c.youtube.com 203.208.46.128 v9.lscache1.c.youtube.com 203.208.46.156 v9.lscache2.c.youtube.com 203.208.46.149 v9.lscache3.c.youtube.com 203.208.46.83 v9.lscache4.c.youtube.com 203.208.46.155 v9.lscache5.c.youtube.com 203.208.46.102 v9.lscache6.c.youtube.com 203.208.46.103 v9.lscache7.c.youtube.com 203.208.46.23 v9.lscache8.c.youtube.com 203.208.46.23 v10.lscache1.c.youtube.com 203.208.46.20 v10.lscache2.c.youtube.com 203.208.46.31 v10.lscache3.c.youtube.com 203.208.46.69 v10.lscache4.c.youtube.com 203.208.46.177 v10.lscache5.c.youtube.com 203.208.46.185 v10.lscache6.c.youtube.com 203.208.46.164 v10.lscache7.c.youtube.com 203.208.46.84 v10.lscache8.c.youtube.com 203.208.46.150 v11.lscache1.c.youtube.com 203.208.46.162 v11.lscache2.c.youtube.com 203.208.46.157 v11.lscache3.c.youtube.com 203.208.46.36 v11.lscache4.c.youtube.com 203.208.46.7 v11.lscache5.c.youtube.com 203.208.46.65 v11.lscache6.c.youtube.com 203.208.46.165 v11.lscache7.c.youtube.com 203.208.46.70 v11.lscache8.c.youtube.com 203.208.46.34 v12.lscache1.c.youtube.com 203.208.46.91 v12.lscache2.c.youtube.com 203.208.46.175 v12.lscache3.c.youtube.com 203.208.46.131 v12.lscache4.c.youtube.com 203.208.46.173 v12.lscache5.c.youtube.com 203.208.46.103 v12.lscache6.c.youtube.com 203.208.46.17 v12.lscache7.c.youtube.com 203.208.46.2 v12.lscache8.c.youtube.com 203.208.46.19 v13.lscache1.c.youtube.com 203.208.46.93 v13.lscache2.c.youtube.com 203.208.46.180 v13.lscache3.c.youtube.com 203.208.46.21 v13.lscache4.c.youtube.com 203.208.46.145 v13.lscache5.c.youtube.com 203.208.46.135 v13.lscache6.c.youtube.com 203.208.46.95 v13.lscache7.c.youtube.com 203.208.46.174 v13.lscache8.c.youtube.com 203.208.46.158 v14.lscache1.c.youtube.com 203.208.46.7 v14.lscache2.c.youtube.com 203.208.46.87 v14.lscache3.c.youtube.com 203.208.46.95 v14.lscache4.c.youtube.com 203.208.46.154 v14.lscache5.c.youtube.com 203.208.46.147 v14.lscache6.c.youtube.com 203.208.46.90 v14.lscache7.c.youtube.com 203.208.46.35 v14.lscache8.c.youtube.com 203.208.46.184 v15.lscache1.c.youtube.com 203.208.46.150 v15.lscache2.c.youtube.com 203.208.46.35 v15.lscache3.c.youtube.com 203.208.46.176 v15.lscache4.c.youtube.com 203.208.46.175 v15.lscache5.c.youtube.com 203.208.46.71 v15.lscache6.c.youtube.com 203.208.46.17 v15.lscache7.c.youtube.com 203.208.46.17 v15.lscache8.c.youtube.com 203.208.46.66 v16.lscache1.c.youtube.com 203.208.46.31 v16.lscache2.c.youtube.com 203.208.46.134 v16.lscache3.c.youtube.com 203.208.46.67 v16.lscache4.c.youtube.com 203.208.46.7 v16.lscache5.c.youtube.com 203.208.46.159 v16.lscache6.c.youtube.com 203.208.46.163 v16.lscache7.c.youtube.com 203.208.46.190 v16.lscache8.c.youtube.com 203.208.46.94 v17.lscache1.c.youtube.com 203.208.46.169 v17.lscache2.c.youtube.com 203.208.46.71 v17.lscache3.c.youtube.com 203.208.46.96 v17.lscache4.c.youtube.com 203.208.46.160 v17.lscache5.c.youtube.com 203.208.46.97 v17.lscache6.c.youtube.com 203.208.46.90 v17.lscache7.c.youtube.com 203.208.46.150 v17.lscache8.c.youtube.com 203.208.46.131 v18.lscache1.c.youtube.com 203.208.46.190 v18.lscache2.c.youtube.com 203.208.46.103 v18.lscache3.c.youtube.com 203.208.46.157 v18.lscache4.c.youtube.com 203.208.46.72 v18.lscache5.c.youtube.com 203.208.46.98 v18.lscache6.c.youtube.com 203.208.46.135 v18.lscache7.c.youtube.com 203.208.46.5 v18.lscache8.c.youtube.com 203.208.46.6 v19.lscache1.c.youtube.com 203.208.46.34 v19.lscache2.c.youtube.com 203.208.46.17 v19.lscache3.c.youtube.com 203.208.46.34 v19.lscache4.c.youtube.com 203.208.46.183 v19.lscache5.c.youtube.com 203.208.46.177 v19.lscache6.c.youtube.com 203.208.46.153 v19.lscache7.c.youtube.com 203.208.46.150 v19.lscache8.c.youtube.com 203.208.46.181 v20.lscache1.c.youtube.com 203.208.46.19 v20.lscache2.c.youtube.com 203.208.46.141 v20.lscache3.c.youtube.com 203.208.46.21 v20.lscache4.c.youtube.com 203.208.46.165 v20.lscache5.c.youtube.com 203.208.46.148 v20.lscache6.c.youtube.com 203.208.46.147 v20.lscache7.c.youtube.com 203.208.46.39 v20.lscache8.c.youtube.com 203.208.46.37 v21.lscache1.c.youtube.com 203.208.46.39 v21.lscache2.c.youtube.com 203.208.46.8 v21.lscache3.c.youtube.com 203.208.46.38 v21.lscache4.c.youtube.com 203.208.46.156 v21.lscache5.c.youtube.com 203.208.46.129 v21.lscache6.c.youtube.com 203.208.46.152 v21.lscache7.c.youtube.com 203.208.46.83 v21.lscache8.c.youtube.com 203.208.46.22 v22.lscache1.c.youtube.com 203.208.46.39 v22.lscache2.c.youtube.com 203.208.46.188 v22.lscache3.c.youtube.com 203.208.46.135 v22.lscache4.c.youtube.com 203.208.46.94 v22.lscache5.c.youtube.com 203.208.46.85 v22.lscache6.c.youtube.com 203.208.46.158 v22.lscache7.c.youtube.com 203.208.46.2 v22.lscache8.c.youtube.com 203.208.46.131 v23.lscache1.c.youtube.com 203.208.46.168 v23.lscache2.c.youtube.com 203.208.46.186 v23.lscache3.c.youtube.com 203.208.46.86 v23.lscache4.c.youtube.com 203.208.46.172 v23.lscache5.c.youtube.com 203.208.46.83 v23.lscache6.c.youtube.com 203.208.46.86 v23.lscache7.c.youtube.com 203.208.46.185 v23.lscache8.c.youtube.com 203.208.46.156 v24.lscache1.c.youtube.com 203.208.46.140 v24.lscache2.c.youtube.com 203.208.46.173 v24.lscache3.c.youtube.com 203.208.46.33 v24.lscache4.c.youtube.com 203.208.46.7 v24.lscache5.c.youtube.com 203.208.46.29 v24.lscache6.c.youtube.com 203.208.46.28 v24.lscache7.c.youtube.com 203.208.46.22 v24.lscache8.c.youtube.com#Android Google手机操作系统 203.208.46.27 www.android.com 203.208.46.80 android.com 203.208.46.180 developer.android.com 203.208.46.72 source.android.com#The Go Programming Language Go 编程语言 203.208.46.162 golang.org 203.208.46.170 www.golang.org 203.208.46.139 blog.golang.org#Analytics 分析(Google所提供的网站流量统计服务) 203.208.46.96 www.google-analytics.com 203.208.46.95 *.google-analytics.com 203.208.46.28 ssl.google-analytics.com#FeedBurner 203.208.46.27 feedburner.google.com 203.208.46.160 www.feedburner.com 203.208.46.69 feeds.feedburner.com 203.208.46.176 feeds2.feedburner.com 203.208.46.130 feedproxy.google.com #Feed 跳转代理#Panoramio 203.208.46.167 www.panoramio.com 203.208.46.35 static.panoramio.com#Goo.gl Google短网址服务 203.208.46.176 goo.gl 203.208.46.3 service.urchin.com#Google.org Google 公益 203.208.46.20 blog.google.org
2011年07月31日
25 阅读
2 评论
0 点赞
2011-07-31
修改或增加主题的(blockquote)样式
下面就是更改css文件啦~我还是从inove主题中复制出来的, 同样, 如果你懒的自己找的话, 就直接复制下面的代码吧~ blockquote { background:#F4F5F7 url(blockquote.gif) 3px 3px no-repeat; border:1px dashed #CCC; padding:8px 12px 8px 36px; margin:5px 0;} 修改你自己主题中的style.css这个文件, 搜索blockquote, 我的css文件中就一个blockquote, 如果你的css文件中有很多的话, 就替换类似这种形式的代码吧.blockquote{……}保存上传就可以啦下面我搜集了一些blockquote,放出来给大家用,希望大家会喜欢blockquote引用样式1 1 2 blockquote {background: #ECF6F3; margin: 0px 25px 15px 25px; padding: 0px 25px 0px 10px; border: 5px solid #e9e3d1;} #content blockquote p {margin: 0px; padding: 10px 0px 10px 0px;} blockquote引用样式2 1 blockquote{border-left:5px solid #DDD; margin:15px 30px 0 10px; padding-left:20px} blockquote引用样式3 1 2 3 4 5 6 blockquote { margin: 1em 3em; padding: .5em; background-color: #f6ebc1; } blockquote p { margin: 0; } blockquote引用样式4 1 2 3 4 5 6 7 blockquote { margin: 1em 3em; padding: .5em 1em; border-left: 5px solid #fce27c; background-color: #f6ebc1; } blockquote p { margin: 0; } blockquote引用样式5 1 blockquote { margin: 1em 20px; padding-left: 50px; background: transparent url(quote.gif) no-repeat; } blockquote引用样式6 1 2 3 4 5 6 7 8 9 10 11 12 blockquote { margin: 1em 2em; border-left: 1px dashed #999; padding-left: 1em; } blockquote p:first-letter { float: left; margin: .2em .3em .1em 0; font-family: “Monotype Corsiva”, “Apple Chancery”, fantasy; font-size: 220%; font-weight: bold; } blockquote p:first-line { font-variant: small-caps; } blockquote引用样式7 1 2 3 4 5 6 7 8 9 blockquote { color: #66a; font-weight: bold; font-style: italic; margin: 1em 3em; } blockquote p:before { content: ‘”‘; } blockquote p:after { content: ‘”‘; } blockquote引用样式8 1 2 3 4 5 6 7 8 blockquote { margin: 5px 10px 5px 10px; padding: 15px 20px 15px 20px; border-width: 1px; border-style: solid; border-color: #cfcfcf; background: url(images/blockquote1-img.png) no-repeat; } blockquote引用样式9 1 2 3 4 5 6 7 8 9 10 blockquote { margin: 5px 10px 5px 10px; padding: 10px 10px 10px 10px; border-width: 3px; border-style: solid; border-color: #980000; color: #9b5c5c; font-size: 14px; font-style: italic; } blockquote引用样式10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 blockquote { margin: 5px 10px 5px 10px; padding: 10px 60px 10px 10px; border-width: 1px; border-style: solid; border-color: #cfcfcf; background-color: #d3eefd; background-image: url(images/blockquote3-img.png); background-repeat: no-repeat; background-position: top right; font-family: Georgia; font-size: 14px; font-weight: bold; color: #8f8f8f; } blockquote引用样式11 1 2 3 4 5 6 7 8 9 10 11 12 13 blockquote { margin: 5px 10px 5px 10px; padding: 10px 120px 10px 10px; border-width: 1px; border-style: solid; border-color: #cfcfcf; background-image: url(images/blockquote4-img.png); background-repeat: repeat-y; font-family: Arial; font-size: 14px; font-weight: bold; color: #efefef; } blockquote引用样式12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 blockquote { background:#f9f9f9; border-left:10px solid #ccc; margin:1.5em 10px; padding:.5em 10px; quotes:”201C”"201D”"2018″”2019″; width: 400px; font: italic normal 12pt/1.2em Georgia; color: #888; } blockquote:before { color:#ccc; content:open-quote; font-size:4em; line-height:.1em; margin-right:.25em; vertical-align:-.4em; } blockquote p { display:inline; }
2011年07月31日
21 阅读
0 评论
0 点赞
2011-07-30
门户网站架构Nginx+Apache+MySQL+PHP+Memcached+Squid
服务器的大用户量的承载方案一、前言二、编译安装三、 安装MySQL、memcache四、 安装Apache、PHP、eAccelerator、php-memcache五、 安装Squid六、后记一、前言,准备工作当前,LAMP开发模式是WEB开发的首选,如何搭建一个高效、可靠、稳定的WEB服务器一直是个热门主题,本文就是这个主题的一次尝试。我们采用的架构图如下:引用——– ———- ————- ——— ————| 客户端 | ===> |负载均衡器| ===> |反向代理/缓存| ===> |WEB服务器| ===> |数据库服务器|——– ———- ————- ——— ————Nginx Squid Apache,PHP MySQLeAccelerator/memcache准备工作:引用服务器: Intel(R) Xeon(TM) CPU 3.00GHz * 2, 2GB mem, SCISC 硬盘操作系统:CentOs4.4,内核版本2.6.9-22.ELsmp,gcc版本3.4.4软件:Apache 2.2.3(能使用MPM模式)PHP 5.2.0(选用该版本是因为5.2.0的引擎相对更高效)eAccelerator 0.9.5(加速PHP引擎,同时也可以加密PHP源程序)memcache 1.2.0(用于高速缓存常用数据)libevent 1.2a(memcache工作机制所需)MySQL 5.0.27(选用二进制版本,省去编译工作)Nginx 0.5.4(用做负载均衡器)squid-2.6.STABLE6(做反向代理的同时提供专业缓存功能)二、编译安装 安装Nginx1.) 安装Nginx发音为[engine x],是由俄罗斯人Igor Sysoev建立的项目,基于BSD许可。据说他当初是F5的成员之一,英文主页:http://nginx.net。俄罗斯的一些大网站已经使用它超过两年多了,一直表现不凡。Nginx的编译参数如下:[root@localhost]#./configure –prefix=/usr/local/server/nginx –with-openssl=/usr/include \–with-pcre=/usr/include/pcre/ –with-http_stub_status_module –without-http_memcached_module \–without-http_fastcgi_module –without-http_rewrite_module –without-http_map_module \–without-http_geo_module –without-http_autoindex_module在这里,需要说明一下,由于Nginx的配置文件中我想用到正则,所以需要 pcre 模块的支持。我已经安装了 pcre 及 pcre-devel 的rpm包,但是 Ngxin 并不能正确找到 .h/.so/.a/.la 文件,因此我稍微变通了一下:[root@localhost]#mkdir /usr/include/pcre/.libs/[root@localhost]#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.a[root@localhost]#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.la然后,修改 objs/Makefile 大概在908行的位置上,注释掉以下内容:./configure –disable-shared接下来,就可以正常执行 make 及 make install 了。2.) 修改配置文件 /usr/local/server/nginx/conf/nginx.conf以下是我的 nginx.conf 内容,仅供参考:#运行用户user nobody nobody;#启动进程worker_processes 2;#全局错误日志及PID文件error_log logs/error.log notice;pid logs/nginx.pid;#工作模式及连接数上限events {use epoll;worker_connections 1024;}#设定http服务器,利用它的反向代理功能提供负载均衡支持http {#设定mime类型include conf/mime.types;default_type application/octet-stream;#设定日志格式log_format main ‘$remote_addr – $remote_user [$time_local] ‘‘”$request” $status $bytes_sent ‘‘”$http_referer” “$http_user_agent” ‘‘”$gzip_ratio”‘;log_format download ‘$remote_addr – $remote_user [$time_local] ‘‘”$request” $status $bytes_sent ‘‘”$http_referer” “$http_user_agent” ‘‘”$http_range” “$sent_http_content_range”‘;#设定请求缓冲client_header_buffer_size 1k;large_client_header_buffers 4 4k;#开启gzip模块gzip on;gzip_min_length 1100;gzip_buffers 4 8k;gzip_types text/plain;output_buffers 1 32k;postpone_output 1460;#设定access logaccess_log logs/access.log main;client_header_timeout 3m;client_body_timeout 3m;send_timeout 3m;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;#设定负载均衡的服务器列表upstream mysvr {#weigth参数表示权值,权值越高被分配到的几率越大#本机上的Squid开启3128端口server 192.168.8.1:3128 weight=5;server 192.168.8.2:80 weight=1;server 192.168.8.3:80 weight=6;}#设定虚拟主机server {listen 80;server_name 192.168.8.1 www.enew.com.cn;charset gb2312;#设定本虚拟主机的访问日志access_log logs/www.enew.com.cn.access.log main;#如果访问 /img/*, /js/*, /css/* 资源,则直接取本地文件,不通过squid#如果这些文件较多,不推荐这种方式,因为通过squid的缓存效果更好location ~ ^/(img|js|css)/ {root /data3/Html;expires 24h;}#对 “/” 启用负载均衡location / {proxy_pass http://mysvr;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;}#设定查看Nginx状态的地址location /NginxStatus {stub_status on;access_log on;auth_basic “NginxStatus”;auth_basic_user_file conf/htpasswd;}}}备注:conf/htpasswd 文件的内容用 apache 提供的 htpasswd 工具来产生即可,内容大致如下:3.) 查看 Nginx 运行状态输入地址 http://192.168.8.1/NginxStatus/,输入验证帐号密码,即可看到类似如下内容:Active connections: 328server accepts handled requests9309 8982 28890Reading: 1 Writing: 3 Waiting: 324第一行表示目前活跃的连接数第三行的第三个数字表示Nginx运行到当前时间接受到的总请求数,如果快达到了上限,就需要加大上限值了。第四行是Nginx的队列状态安装MySQL、memcache1.) 安装MySQL,步骤如下:[root@localhost]#tar zxf mysql-standard-5.0.27-linux-i686.tar.gz -C /usr/local/server[root@localhost]#mv /usr/local/server/mysql-standard-5.0.27-linux-i686 /usr/local/server/mysql[root@localhost]#cd /usr/local/server/mysql[root@localhost]#./scripts/mysql_install_db –basedir=/usr/local/server/mysql \–datadir=/usr/local/server/mysql/data –user=nobody[root@localhost]#cp /usr/local/server/mysql/support-files/my-large.cnf \/usr/local/server/mysql/data/my.cnf2.) 修改 MySQL 配置,增加部分优化参数,如下:[root@localhost]#vi /usr/local/server/mysql/data/my.cnf主要内容如下:[mysqld]basedir = /usr/local/server/mysqldatadir = /usr/local/server/mysql/datauser = nobodyport = 3306socket = /tmp/mysql.sockwait_timeout = 30long_query_time=1#log-queries-not-using-indexes = TRUElog-slow-queries=/usr/local/server/mysql/slow.loglog-error = /usr/local/server/mysql/error.logexternal-locking = FALSEkey_buffer_size = 512Mback_log = 400table_cache = 512sort_buffer_size = 2Mjoin_buffer_size = 4Mread_buffer_size = 2Mread_rnd_buffer_size = 4Mmyisam_sort_buffer_size = 64Mthread_cache_size = 32query_cache_limit = 2Mquery_cache_size = 64Mthread_concurrency = 4thread_stack = 128Ktmp_table_size = 64Mbinlog_cache_size = 2Mmax_binlog_size = 128Mmax_binlog_cache_size = 512Mmax_relay_log_size = 128Mbulk_insert_buffer_size = 8Mmyisam_repair_threads = 1skip-bdb#如果不需要使用innodb就关闭该选项#skip-innodbinnodb_data_home_dir = /usr/local/server/mysql/data/innodb_data_file_path = ibdata1:256M;ibdata2:256M:autoextendinnodb_log_group_home_dir = /usr/local/server/mysql/data/innodb_log_arch_dir = /usr/local/server/mysql/data/innodb_buffer_pool_size = 512Minnodb_additional_mem_pool_size = 8Minnodb_log_file_size = 128Minnodb_log_buffer_size = 8Minnodb_lock_wait_timeout = 50innodb_flush_log_at_trx_commit = 2innodb_file_io_threads = 4innodb_thread_concurrency = 16innodb_log_files_in_group = 3以上配置参数请根据具体的需要稍作修改。运行以下命令即可启动 MySQL 服务器:/usr/local/server/mysql/bin/mysqld_safe \–defaults-file=/usr/local/server/mysql/data/my.cnf &由于 MySQL 不是安装在标准目录下,因此必须要修改 mysqld_safe 中的 my_print_defaults 文件所在位置,才能通过mysqld_safe 来启动 MySQL 服务器。3.) memcache + libevent 安装编译安装:[root@localhost]#cd libevent-1.2a[root@localhost]#./configure –prefix=/usr/ && make && make install[root@localhost]#cd ../memcached-1.2.0[root@localhost]#./configure –prefix=/usr/local/server/memcached –with-libevent=/usr/[root@localhost]#make && make install备注:如果 libevent 不是安装在 /usr 目录下,那么需要把 libevent-1.2a.so.1 拷贝/链接到 /usr/lib 中,否则memcached 无法正常加载。运行以下命令来启动 memcached:[root@localhost]#/usr/local/server/memcached/bin/memcached \-l 192.168.8.1 -d -p 10000 -u nobody -m 128表示用 daemon 的方式启动 memcached,监听在 192.168.8.1 的 10000 端口上,运行用户为 nobody,为其分配128MB 的内存。安装Apache、PHP、eAccelerator、php-memcache四、) 安装Apache、PHP、eAccelerator、php-memcache由于Apache2下的php静态方式编译十分麻烦,因此在这里采用动态模块(DSO)方式。1.) 安装Apache 2.2.3[root@localhost]#./configure –prefix=/usr/local/server/apache –disable-userdir –disable-actions \–disable-negotiation –disable-autoindex –disable-filter –disable-include –disable-status \–disable-asis –disable-auth –disable-authn-default –disable-authn-file –disable-authz-groupfile \–disable-authz-host –disable-authz-default –disable-authz-user –disable-userdir \–enable-expires –enable-module=so备注:在这里,取消了一些不必要的模块,如果你需要用到这些模块,那么请去掉部分参数。2.) 安装PHP 5.2.0[root@localhost]#./configure –prefix=/usr/local/server/php –with-mysql \–with-apxs2=/usr/local/server/apache/bin/apxs –with-freetype-dir=/usr/ –with-png-dir=/usr/ \–with-gd=/usr/ –with-jpeg-dir=/usr/ –with-zlib –enable-magic-quotes –with-iconv \–without-sqlite –without-pdo-sqlite –with-pdo-mysql –disable-dom –disable-simplexml \–enable-roxen-zts[root@localhost]#make && make install备注:如果不需要gd或者pdo等模块,请自行去掉。3.) 安装eAccelerator-0.9.5[root@localhost]#cd eAccelerator-0.9.5[root@localhost]#export PHP_PREFIX=/usr/local/server/php[root@localhost]#$PHP_PREFIX/bin/phpize[root@localhost]#./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config[root@localhost]#make && make install4.) 安装memcache模块[root@localhost]#cd memcache-2.1.0[root@localhost]#export PHP_PREFIX=/usr/local/server/php[root@localhost]#$PHP_PREFIX/bin/phpize[root@localhost]#./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config[root@localhost]#make && make install5.) 修改 php.ini 配置然后修改 php.ini,修改/加入类似以下内容:extension_dir = “/usr/local/server/php/lib/”extension=”eaccelerator.so”eaccelerator.shm_size=”32″ ;设定eaccelerator的共享内存为32MBeaccelerator.cache_dir=”/usr/local/server/eaccelerator”eaccelerator.enable=”1″eaccelerator.optimizer=”1″eaccelerator.check_mtime=”1″eaccelerator.debug=”0″eaccelerator.filter=”*.php”eaccelerator.shm_max=”0″eaccelerator.shm_ttl=”0″eaccelerator.shm_prune_period=”3600″eaccelerator.shm_only=”0″eaccelerator.compress=”1″eaccelerator.compress_level=”9″eaccelerator.log_file = “/usr/local/server/apache/logs/eaccelerator_log”eaccelerator.allowed_admin_path = “/usr/local/server/apache/htdocs/ea_admin”extension=”memcache.so”在这里,最好是在apache的配置中增加默认文件类型的cache机制,即利用apache的expires模块,新增类似如下几行:ExpiresActive OnExpiresByType text/html “access plus 10 minutes”ExpiresByType text/css “access plus 1 day”ExpiresByType image/jpg “access 1 month”ExpiresByType image/gif “access 1 month”ExpiresByType image/jpg “access 1 month”ExpiresByType application/x-shockwave-flash “access plus 3 day”这么设置是由于我的这些静态文件通常很少更新,因此我选择的是”access”规则,如果更新相对比较频繁,可以改用”modification”规则;或者也可以用”access”规则,但是在文件更新的时候,执行一下”touch”命令,把文件的时间刷新一下即可。 安装Squid五、) 安装Squid[root@localhost]#./configure –prefix=/usr/local/server/squid –enable-async-io=100 –disable-delay-pools –disable-mem-gen-trace –disable-useragent-log –enable-kill-parent-hack –disable-arp-acl –enable-epoll –disable-ident-lookups –enable-snmp –enable-large-cache-files –with-large-files[root@localhost]#make && make install或使用如下安装方法:[root@localhost]#yum install squid如果是2.6的内核,才能支持epoll的IO模式,旧版本的内核则只能选择poll或其他模式了;另外,记得带上支持大文件的选项,否则在accesslog等文件达到2G的时候就会报错。设定 squid 的配置大概如下内容:#设定缓存目录为 /var/cache1 和 /var/lib/squid,每次处理缓存大小为128MB,当缓存空间使用达到95%时#新的内容将取代旧的而不直接添加到目录中,直到空间又下降到90%才停止这一活动#/var/cache1 最大1024MB,/var/lib/squid 最大 5000MB,都是 16*256 级子目录cache_dir aufs /var/cache1 1024 16 256cache_dir aufs /var/lib/squid 5000 16 256cache_mem 128 MBcache_swap_low 90cache_swap_high 95#设置存储策略等maximum_object_size 4096 KBminimum_object_size 0 KBmaximum_object_size_in_memory 80 KBipcache_size 1024ipcache_low 90ipcache_high 95cache_replacement_policy lrumemory_replacement_policy lru#设置超时策略forward_timeout 20 secondsconnect_timeout 15 secondsread_timeout 3 minutesrequest_timeout 1 minutespersistent_request_timeout 15 secondsclient_lifetime 15 minutesshutdown_lifetime 5 secondsnegative_ttl 10 seconds#限制一个ip最大只能有16个连接acl OverConnLimit maxconn 16http_access deny OverConnLimit#限制baidu spider访问#acl AntiBaidu req_header User-Agent Baiduspider#http_access deny AntiBaidu#常规设置visible_hostname cache.enew.comcache_mgr webmaster@enew.comclient_persistent_connections offserver_persistent_connections oncache_effective_user nobodycache_effective_group nobodytcp_recv_bufsize 65535 byteshalf_closed_clients off#设定不缓存的规则hierarchy_stoplist cgi-binacl QUERY urlpath_regex cgi-bincache deny QUERY#不要相信ETag 因为有gzipacl apache rep_header Server ^Apachebroken_vary_encoding allow apache#设置access log,并且令其格式和apache的格式一样,方便awstats分析emulate_httpd_log onlogformat apache %>a %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %初始化和启动squid[root@localhost]#/usr/local/server/squid/sbin/squid -z[root@localhost]#/usr/local/server/squid/sbin/squid第一条命令是先初始化squid缓存哈希子目录,只需执行一次即可。六、后记六、后记一、)想要启用squid所需的改变想要更好的利用squid的cache功能,不是把它启用了就可以的,我们需要做以下几个调整:1、启用apache的 mod_expires 模块,修改 httpd.conf,加入以下内容:#expiresdefault “modification plus 2 weeks”expiresactiveonexpiresbytype text/html “access plus 10 minutes”expiresbytypeimage/gif “modification plus 1 month”expiresbytype image/jpeg “modificationplus 1 month”expiresbytype image/png “modification plus 1month”expiresbytype text/css “access plus 1 day”expiresbytypeapplication/x-shockwave-flash “access plus 3 day”以上配置的作用是规定各种类型文件的cache规则,对那些图片/flash等静态文件总是cache起来,可根据各自的需要做适当调整。2、修改 php.ini 配置,如下:session.cache_limiter = nocache以上配置的作用是默认取消php中的cache功能,避免不正常的cache产生。3、修改应用程序例如,有一个php程序页面static.php,它存放着某些查询数据库后的结果,并且数据更新并不频繁,于是,我们就可以考虑对其cache。只需在static.php中加入类似如下代码:header(‘Cache-Control: max-age=86400,must-revalidate’);header(‘Pragma:’);header(‘Last-Modified: ‘ .gmdate(‘D, d M Y H:i:s’) . ‘ GMT’ );header(“Expires: ” .gmdate (‘D, d M YH:i:s’, time() + ’86400′ ). ‘ GMT’);以上代码的意思是,输出一个http头部信息,让squid知道本页面默认缓存时长为一天。二、)squidclient简要介绍*取得squid运行状态信息: squidclient -p 80 mgr:info*取得squid内存使用情况: squidclient -p 80 mgr:mem*取得squid已经缓存的列表: squidclient -p 80 mgr:objects. use it carefully,it may crash*取得squid的磁盘使用情况: squidclient -p 80 mgr:diskd*强制更新某个url:squidclient -p 80 -m PURGE http://www.enew.com.cn/static.php*更多的请查看:squidclient-h 或者 squidclient -p 80 mgr:原文地址:http://blog.csdn.net/rushcc2006/archive/2009/11/11/4796892.aspx
2011年07月30日
70 阅读
1 评论
0 点赞
2011-07-29
IIS6.0下PHP FastCGI环境搭建
FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。今天介绍一下IIS6.0下PHP FastCGI环境搭建,一些资料称IIS下FastCGI的运行效率是ISPAI的两倍之多。不管到底怎么样,如果您还停留在ISAPI的运行环境下的话,一定要先测试再使用。免得造成不必要的麻烦。第一步:下载安装FastCGI Extension for IIS下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en安装后确认IIS中,Web 服务扩展 – FastCGI Handler处于打开状态;第二步:注册PHP到FastCGI打开C:\WINDOWS\system32\inetsrv\fcgiext.ini文件:在文件最下方 [Types] 下添加以下配置:[Types]php=PHP[PHP]ExePath=C:\PHP\php-cgi.exe注:ExePath这个路径为存放PHP文件夹的路径;第三步:配置php.ini主要是以下两项,其它的按个人需要进行配置:extension_dir = “C:\PHP\ext”fastcgi.impersonate = 1第四步:配置IIS支持右键网站 -> 属性 -> 主目录 -> 配置 -> 添加,如下图配置:可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll最后:重启IIS;cmd–iisreset;phpinfo();Server API CGI/FastCGIOK!
2011年07月29日
16 阅读
0 评论
0 点赞
2011-07-29
Linux下LAMP(Apache+PHP+MySql)环境配置(第二版)
LAMP是一个缩写Linux+Apache+MySql+PHP,它指一组通常一起使用来运行动态网站或者服务器的自由软件:* Linux,操作系统;* Apache,网页服务器;* MySQL,数据库管理系统(或者数据库服务器);* PHP 和有時 Perl 或 Python,脚本语言。今天介绍一下Linux下LAMP(Apache+PHP+MySql)环境配置:1、下载软件MySql:wget http://down1.chinaunix.net/distfiles/mysql-5.0.56.tar.gzApache:wget http://apache.freelamp.com/httpd/httpd-2.2.13.tar.gzPHP:wget http://125.39.113.23:9203/CDE349DEF7D7A6AC19DE5771F752CA258C693F634815D4BE/cn.php.net/distributions/php-5.2.10.tar.bz22、安装MySql安装步骤:shell> groupadd mysqlshell> useradd -g mysql mysqlshell> gunzip < mysql-VERSION.tar.gz | tar -xvf – 或 tar -zxvf mysql-5.0.56.tar.gz(解压mysql源码包)shell> cd mysql-VERSION(进入mysql源码文件夹)shell> ./configure –prefix=/usr/local/mysqlshell> makeshell> make installshell> cp support-files/my-medium.cnf /etc/my.cnfshell> cd /usr/local/mysqlshell> bin/mysql_install_db –user=mysqlshell> chown -R root .shell> chown -R mysql varshell> chgrp -R mysql .shell> bin/mysqld_safe –user=mysql &修改mysql root 密码$ mysqladmin -u root password newpass添加服务项cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqldchmod 755 /etc/init.d/mysqldchkconfig –add mysqld3、安装Apachetar zvxf httpd-2.2.13.tar.gzcd httpd-2.2.13修改src/include/httpd.h 增大最大线程数#define HARD_SERVER_LIMIT 256改成#define HARD_SERVER_LIMIT 2560保存退出编译apache./configure –prefix=/usr/local/apache –enable-module=so –enable-module=rewrite –enable-shared=max –htdocsdir=/var/www &&makemake install#这里我们通过enable-module参数告诉设置脚本,我们需要启动so和rewrite模块,so模块是用来提DSO支持的apache核 心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进apache,以后需要用 到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块,否则还是建议你在第一次编译的时候把rewrite模 块编译好。enable-shared=max 这个参数的作用时编译apache时,把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。好了安装apache很简单的哦,启动apache看看/usr/local/apache/bin/apachectl start然后 通过浏览器查看http://youhost/,如果正常则说明安装成功。apache设为linux服务cp /usr/local/apache2/bin/apachectl /etc/init.d/httpdvi /etc/init.d/httpd在在#!/bin/sh后面加入下面两行#chkconfig:345 85 15#description: Start and stops the Apache HTTP Server.然后chmod +x /etc/rc.d/init.d/httpdchkconfig –add httpd4、安装PHP(1)tar zvxf php-5.2.10.tar.bz2(2)cd php-5.2.10(3)./configure -prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc -with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi –enable-fpm –enable-force-cgi-redirect –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-ldap –with-ldap-sasl –-with-apxs2=/usr/local/apache/bin/apxs(4)make(5)make install最后一步重新启动apache报如下错误:httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied原因:是Linux有一个SELinux保护模式引起的。解决办法:1关闭SELINUX的方法:vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启这个方法可能会对服务器带来风险。2不关闭SELINUX的方法:依次执行如下命令# setenforce 0# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so# service httpd restart# setenforce 1vi /usr/local/apache/conf/httpd.conf查找在此范围添加AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps然CPOPY PHP的配置文件cp ../php-5.2.10/php.ini.dist /usr/local/php/lib/php.ini修改php.ini文件register_globals = Onok!重新启动一下apache服务器/usr/local/apache/bin/apachectl restart然后写个php测试页info.php:内容如下<?phpphpinfo();?>正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功。tar zvxf httpd-2.2.13.tar.gzcd httpd-2.2.13修改src/include/httpd.h 增大最大线程数#define HARD_SERVER_LIMIT 256改成#define HARD_SERVER_LIMIT 2560保存退出编译apache./configure –prefix=/usr/local/apache –enable-module=so –enable-module=rewrite –enable-shared=max –htdocsdir=/var/www &&makemake install#这里我们通过enable-module参数告诉设置脚本,我们需要启动so和rewrite模块,so模块是用来提DSO支持的apache核 心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进apache,以后需要用 到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块,否则还是建议你在第一次编译的时候把rewrite模 块编译好。enable-shared=max 这个参数的作用时编译apache时,把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。好了安装apache很简单的哦,启动apache看看/usr/local/apache/bin/apachectl start然后 通过浏览器查看http://youhost/,如果正常则说明安装成功。
2011年07月29日
18 阅读
2 评论
0 点赞
2011-07-28
又拍网架构-又一个用到python的网站
又拍网是一个照片分享社区,从2005年6月至今积累了260万用户,1.1亿张照片,目前的日访问量为200多万。5年的发展历程里经历过许多起伏,也积累了一些经验,在这篇文章会介绍一些在技术上的积累。又拍网和大多数Web2.0站点一样,构建于大量开源软件之上,包括MySQL、PHP、nginx、Python、memcached、redis、Solr、Hadoop和RabbitMQ等等。又拍网的服务器端开发语言主要是PHP和Python,其中PHP用于编写Web逻辑(通过HTTP和用户直接打交道), 而Python则主要用于开发内部服务和后台任务。在客户端则使用了大量的Javascript, 这里要感谢一下MooTools这个JS框架,它使得我们很享受前端开发过程。 另外,我们把图片处理过程从PHP进程里独立出来变成一个服务。这个服务基于nginx,但是是作为nginx的一个模块而开放REST API。图1:开发语言由于PHP的单线程模型,我们把耗时较久的运算和I/O操作从HTTP请求周期中分离出来, 交给由Python实现的任务进程来完成,以保证请求响应速度。这些任务主要包括:邮件发送、数据索引、数据聚合和好友动态推送(稍候会有介绍)等等。通常这些任务由用户触发,并且,用户的一个行为可能会触发多种任务的执行。 比如,用户上传了一张新的照片,我们需要更新索引,也需要向他的朋友推送一条新的动态。PHP通过消息队列(我们用的是RabbitMQ)来触发任务执行。图2:PHP和Python的协作数据库一向是网站架构中最具挑战性的,瓶颈通常出现在这里。又拍网的照片数据量很大,数据库也几度出现严重的压力问题。 因此,这里我主要介绍一下又拍网在分库设计这方面的一些尝试。分库设计和很多使用MySQL的2.0站点一样,又拍网的MySQL集群经历了从最初的一个主库一个从库、到一个主库多个从库、 然后到多个主库多个从库的一个发展过程。最初是由一台主库和一台从库组成,当时从库只用作备份和容灾,当主库出现故障时,从库就手动变成主库,一般情况下,从库不作读写操作(同步除外)。随着压力的增加,我们加上了memcached,当时只用其缓存单行数据。 但是,单行数据的缓存并不能很好地解决压力问题,因为单行数据的查询通常很快。所以我们把一些实时性要求不高的Query放到从库去执行。后面又通过添加多个从库来分流查询压力,不过随着数据量的增加,主库的写压力也越来越大。在参考了一些相关产品和其它网站的做法后,我们决定进行数据库拆分。也就是将数据存放到不同的数据库服务器中,一般可以按两个纬度来拆分数据:垂直拆分:是指按功能模块拆分,比如可以将群组相关表和照片相关表存放在不同的数据库中,这种方式多个数据库之间的表结构不同。水平拆分:而水平拆分是将同一个表的数据进行分块保存到不同的数据库中,这些数据库中的表结构完全相同。拆分方式一般都会先进行垂直拆分,因为这种方式拆分方式实现起来比较简单,根据表名访问不同的数据库就可以了。但是垂直拆分方式并不能彻底解决所有压力问题,另外,也要看应用类型是否合适这种拆分方式。如果合适的话,也能很好的起到分散数据库压力的作用。比如对于豆瓣我觉得比较适合采用垂直拆分, 因为豆瓣的各核心业务/模块(书籍、电影、音乐)相对独立,数据的增加速度也比较平稳。不同的是,又拍网的核心业务对象是用户上传的照片,而照片数据的增加速度随着用户量的增加越来越快。压力基本上都在照片表上,显然垂直拆分并不能从根本上解决我们的问题,所以,我们采用水平拆分的方式。拆分规则水平拆分实现起来相对复杂,我们要先确定一个拆分规则,也就是按什么条件将数据进行切分。 一般2.0网站都以用户为中心,数据基本都跟随用户,比如用户的照片、朋友和评论等等。因此一个比较自然的选择是根据用户来切分。每个用户都对应一个数据库,访问某个用户的数据时, 我们要先确定他/她所对应的数据库,然后连接到该数据库进行实际的数据读写。那么,怎么样对应用户和数据库呢?我们有这些选择:· 按算法对应最简单的算法是按用户ID的奇偶性来对应,将奇数ID的用户对应到数据库A,而偶数ID的用户则对应到数据库B。这个方法的最大问题是,只能分成两个库。另一个算法是按用户ID所在区间对应,比如ID在0-10000之间的用户对应到数据库A, ID在10000-20000这个范围的对应到数据库B,以此类推。按算法分实现起来比较方便,也比较高效,但是不能满足后续的伸缩性要求,如果需要增加数据库节点,必需调整算法或移动很大的数据集, 比较难做到在不停止服务的前提下进行扩充数据库节点。· 按索引/映射表对应这种方法是指建立一个索引表,保存每个用户的ID和数据库ID的对应关系,每次读写用户数据时先从这个表获取对应数据库。新用户注册后,在所有可用的数据库中随机挑选一个为其建立索引。这种方法比较灵活,有很好的伸缩性。一个缺点是增加了一次数据库访问,所以性能上没有按算法对应好。比较之后,我们采用的是索引表的方式,我们愿意为其灵活性损失一些性能,更何况我们还有memcached, 因为索引数据基本不会改变的缘故,缓存命中率非常高。所以能很大程度上减少了性能损失。图4:数据访问过程索引表的方式能够比较方便地添加数据库节点,在增加节点时,只要将其添加到可用数据库列表里即可。 当然如果需要平衡各个节点的压力的话,还是需要进行数据的迁移,但是这个时候的迁移是少量的,可以逐步进行。要迁移用户A的数据,首先要将其状态置为迁移数据中,这个状态的用户不能进行写操作,并在页面上进行提示。 然后将用户A的数据全部复制到新增加的节点上后,更新映射表,然后将用户A的状态置为正常,最后将原来对应的数据库上的数据删除。这个过程通常会在临晨进行,所以,所以很少会有用户碰到迁移数据中的情况。当然,有些数据是不属于某个用户的,比如系统消息、配置等等,我们把这些数据保存在一个全局库中。问题分库会给你在应用的开发和部署上都带来很多麻烦。· 不能执行跨库的关联查询如果我们需要查询的数据分布于不同的数据库,我们没办法通过JOIN的方式查询获得。比如要获得好友的最新照片,你不能保证所有好友的数据都在同一个数据库里。一个解决办法是通过多次查询,再进行聚合的方式。我们需要尽量避免类似的需求。有些需求可以通过保存多份数据来解决,比如User-A和User-B的数据库分别是DB-1和DB-2, 当User-A评论了User-B的照片时,我们会同时在DB-1和DB-2中保存这条评论信息,我们首先在DB-2中的photo_comments表中插入一条新的记录,然后在DB-1中的user_comments表中插入一条新的记录。这两个表的结构如下图所示。这样我们可以通过查询photo_comments表得到User-B的某张照片的所有评论, 也可以通过查询user_comments表获得User-A的所有评论。另外可以考虑使用全文检索工具来解决某些需求, 我们使用Solr来提供全站标签检索和照片搜索服务。图5:评论表结构· 不能保证数据的一致/完整性跨库的数据没有外键约束,也没有事务保证。比如上面的评论照片的例子, 很可能出现成功插入photo_comments表,但是插入user_comments表时却出错了。一个办法是在两个库上都开启事务,然后先插入photo_comments,再插入user_comments, 然后提交两个事务。这个办法也不能完全保证这个操作的原子性。· 所有查询必须提供数据库线索比如要查看一张照片,仅凭一个照片ID是不够的,还必须提供上传这张照片的用户的ID(也就是数据库线索),才能找到它实际的存放位置。因此,我们必须重新设计很多URL地址,而有些老的地址我们又必须保证其仍然有效。我们把照片地址改成/photos/{username}/{photo_id}/的形式,然后对于系统升级前上传的照片ID, 我们又增加一张映射表,保存photo_id和user_id的对应关系。当访问老的照片地址时,我们通过查询这张表获得用户信息, 然后再重定向到新的地址。· 自增ID如果要在节点数据库上使用自增字段,那么我们就不能保证全局唯一。这倒不是很严重的问题,但是当节点之间的数据发生关系时,就会使得问题变得比较麻烦。我们可以再来看看上面提到的评论的例子。如果photo_comments表中的comment_id的自增字段,当我们在DB-2.photo_comments表插入新的评论时, 得到一个新的comment_id,假如值为101,而User-A的ID为1,那么我们还需要在DB-1.user_comments表中插入(1, 101 …)。 User-A是个很活跃的用户,他又评论了User-C的照片,而User-C的数据库是DB-3。 很巧的是这条新评论的ID也是101,这种情况很用可能发生。那么我们又在DB-1.user_comments表中插入一行像这样(1, 101 …)的数据。 那么我们要怎么设置user_comments表的主键呢(标识一行数据)?可以不设啊,不幸的是有的时候(框架、缓存等原因)必需设置。那么可以以user_id、 comment_id和photo_id为组合主键,但是photo_id也有可能一样(的确很巧)。看来只能再加上photo_owner_id了, 但是这个结果又让我们实在有点无法接受,太复杂的组合键在写入时会带来一定的性能影响,这样的自然键看起来也很不自然。所以,我们放弃了在节点上使用自增字段,想办法让这些ID变成全局唯一。为此增加了一个专门用来生成ID的数据库,这个库中的表结构都很简单,只有一个自增字段id。 当我们要插入新的评论时,我们先在ID库的photo_comments表里插入一条空的记录,以获得一个唯一的评论ID。 当然这些逻辑都已经封装在我们的框架里了,对于开发人员是透明的。 为什么不用其它方案呢,比如一些支持incr操作的Key-Value数据库。我们还是比较放心把数据放在MySQL里。 另外,我们会定期清理ID库的数据,以保证获取新ID的效率。实现我们称前面提到的一个数据库节点为Shard,一个Shard由两个台物理服务器组成, 我们称它们为Node-A和Node-B,Node-A和Node-B之间是配置成Master-Master相互复制的。 虽然是Master-Master的部署方式,但是同一时间我们还是只使用其中一个,原因是复制的延迟问题, 当然在Web应用里,我们可以在用户会话里放置一个A或B来保证同一用户一次会话里只访问一个数据库, 这样可以避免一些延迟问题。但是我们的Python任务是没有任何状态的,不能保证和PHP应用读写相同的数据库。那么为什么不配置成Master-Slave呢?我们觉得只用一台太浪费了,所以我们在每台服务器上都创建多个逻辑数据库。 如下图所示,在Node-A和Node-B上我们都建立了shard_001和shard_002两个逻辑数据库, Node-A上的shard_001和Node-B上的shard_001组成一个Shard,而同一时间只有一个逻辑数据库处于Active状态。 这个时候如果需要访问Shard-001的数据时,我们连接的是Node-A上的shard_001, 而访问Shard-002的数据则是连接Node-B上的shard_002。以这种交叉的方式将压力分散到每台物理服务器上。 以Master-Master方式部署的另一个好处是,我们可以不停止服务的情况下进行表结构升级, 升级前先停止复制,升级Inactive的库,然后升级应用,再将已经升级好的数据库切换成Active状态, 原来的Active数据库切换成Inactive状态,然后升级它的表结构,最后恢复复制。 当然这个步骤不一定适合所有升级过程,如果表结构的更改会导致数据复制失败,那么还是需要停止服务再升级的。图6:数据库布局前面提到过添加服务器时,为了保证负载的平衡,我们需要迁移一部分数据到新的服务器上。为了避免短期内迁移的必要,我们在实际部署的时候,每台机器上部署了8个逻辑数据库, 添加服务器后,我们只要将这些逻辑数据库迁移到新服务器就可以了。最好是每次添加一倍的服务器, 然后将每台的1/2逻辑数据迁移到一台新服务器上,这样能很好的平衡负载。当然,最后到了每台上只有一个逻辑库时,迁移就无法避免了,不过那应该是比较久远的事情了。我们把分库逻辑都封装在我们的PHP框架里了,开发人员基本上不需要被这些繁琐的事情困扰。下面是使用我们的框架进行照片数据的读写的一些例子:array(‘type’ => ‘long’, ‘primary’ => true, ‘global_auto_increment’ => true),‘user_id’ => array(‘type’ => ‘long’),‘title’ => array(‘type’ => ’string’),‘posted_date’ => array(‘type’ => ‘date’),));$photo = $Photos->new_object(array(‘user_id’ => 1, ‘title’ => ‘Workforme’));$photo->insert();// 加载ID为10001的照片,注意第一个参数为用户ID$photo = $Photos->load(1, 10001);// 更改照片属性$photo->title = ‘Database Sharding’;$photo->update();// 删除照片$photo->delete();// 获取ID为1的用户在2010-06-01之后上传的照片$photos = $Photos->fetch(array(‘user_id’ => 1, ‘posted_date__gt’ => ‘2010-06-01′));?>首先要定义一个ShardedDBTable对象,所有的API都是通过这个对象开放。第一个参数是对象类型名称, 如果这个名称已经存在,那么将返回之前定义的对象。你也可以通过get_table(‘Photos’)这个函数来获取之前定义的Table对象。 第二个参数是对应的数据库表名,而第三个参数是数据库线索字段,你会发现在后面的所有API中全部需要指定这个字段的值。 第四个参数是字段定义,其中photo_id字段的global_auto_increment属性被置为true,这就是前面所说的全局自增ID, 只要指定了这个属性,框架会处理好ID的事情。如果我们要访问全局库中的数据,我们需要定义一个DBTable对象。array(‘type’ => ‘long’, ‘primary’ => true, ‘auto_increment’ => true),‘username’ => array(‘type’ => ’string’),));?>DBTable是ShardedDBTable的父类,除了定义时参数有些不同(DBTable不需要指定数据库线索字段),它们提供一样的API。缓存我们的框架提供了缓存功能,对开发人员是透明的。load(1, 10001);?>比如上面的方法调用,框架先尝试以Photos-1-10001为Key在缓存中查找,未找到的话再执行数据库查询并放入缓存。当更改照片属性或删除照片时,框架负责从缓存中删除该照片。这种单个对象的缓存实现起来比较简单。稍微麻烦的是像下面这样的列表查询结果的缓存。fetch(array(‘user_id’ => 1, ‘posted_date__gt’ => ‘2010-06-01′));?>我们把这个查询分成两步,第一步先查出符合条件的照片ID,然后再根据照片ID分别查找具体的照片信息。 这么做可以更好的利用缓存。第一个查询的缓存Key为Photos-list-{shard_key}-{md5(查询条件SQL语句)}, Value是照片ID列表(逗号间隔)。其中shard_key为user_id的值1。目前来看,列表缓存也不麻烦。 但是如果用户修改了某张照片的上传时间呢,这个时候缓存中的数据就不一定符合条件了。所以,我们需要一个机制来保证我们不会从缓存中得到过期的列表数据。我们为每张表设置了一个revision,当该表的数据发生变化时(调用insert/update/delete方法), 我们就更新它的revision,所以我们把列表的缓存Key改为Photos-list-{shard_key}-{md5(查询条件SQL语句)}-{revision}, 这样我们就不会再得到过期列表了。revision信息也是存放在缓存里的,Key为Photos-revision。这样做看起来不错,但是好像列表缓存的利用率不会太高。因为我们是以整个数据类型的revision为缓存Key的后缀,显然这个revision更新的非常频繁,任何一个用户修改或上传了照片都会导致它的更新,哪怕那个用户根本不在我们要查询的Shard里。要隔离用户的动作对其他用户的影响,我们可以通过缩小revision的作用范围来达到这个目的。 所以revision的缓存Key变成Photos-{shard_key}-revision,这样的话当ID为1的用户修改了他的照片信息时, 只会更新Photos-1-revision这个Key所对应的revision。因为全局库没有shard_key,所以修改了全局库中的表的一行数据,还是会导致整个表的缓存失效。 但是大部分情况下,数据都是有区域范围的,比如我们的帮助论坛的主题帖子, 帖子属于主题。修改了其中一个主题的一个帖子,没必要使所有主题的帖子缓存都失效。 所以我们在DBTable上增加了一个叫isolate_key的属性。array(‘type’ => ‘long’, ‘primary’ => true),‘post_id’ => array(‘type’ => ‘long’, ‘primary’ => true, ‘auto_increment’ => true),‘author_id’ => array(‘type’ => ‘long’),‘content’ => array(‘type’ => ’string’),‘posted_at’ => array(‘type’ => ‘datetime’),‘modified_at’ => array(‘type’ => ‘datetime’),‘modified_by’ => array(‘type’ => ‘long’),), ‘topic_id’);?>注意构造函数的最后一个参数topic_id就是指以字段topic_id作为isolate_key,它的作用和shard_key一样用于隔离revision的作用范围。ShardedDBTable继承自DBTable,所以也可以指定isolate_key。 ShardedDBTable指定了isolate_key的话,能够更大幅度缩小revision的作用范围。 比如相册和照片的关联表yp_album_photos,当用户往他的其中一个相册里添加了新的照片时, 会导致其它相册的照片列表缓存也失效。如果我指定这张表的isolate_key为album_id的话, 我们就把这种影响限制在了本相册内。我们的缓存分为两级,第一级只是一个PHP数组,有效范围是Request。而第二级是memcached。这么做的原因是,很多数据在一个Request周期内需要加载多次,这样可以减少memcached的网络请求。另外我们的框架也会尽可能的发送memcached的gets命令来获取数据, 从而减少网络请求。总结这个架构使得我们在很长一段时间内都不必再为数据库压力所困扰。我们的设计很多地方参考了netlog和flickr的实现,因此非常感谢他们将一些实现细节发布出来。关于作者:周兆兆(Zola,不是你熟知的那个),又拍网架构师。6年IT从业经验,不太专注于某项技术,对很多技术都感兴趣。————————————————————作为国内最大的图片服务提供商之一,Yupoo! 的 Alexa 排名大约在 5300 左右。同时收集到的一些数据如下:带宽:4000M/S (参考)服务器数量:60 台左右Web服务器:Lighttpd, Apache, nginx应用服务器:Tomcat其他:Python, Java, MogileFS 、ImageMagick 等首先看一下网站的架构图:该架构图给出了很好的概览(点击可以查看在 Yupoo! 上的大图和原图,请注意该图版权信息)。关于 Squid 与 TomcatSquid 与 Tomcat 似乎在 Web 2.0 站点的架构中较少看到。我首先是对 Squid 有点疑问,对此阿华的解释是”目前暂时还没找到效率比 Squid 高的缓存系统,原来命中率的确很差,后来在 Squid 前又装了层 Lighttpd, 基于 url 做 hash, 同一个图片始终会到同一台 squid 去,所以命中率彻底提高了”对于应用服务器层的 Tomcat,现在 Yupoo! 技术人员也在逐渐用其他轻量级的东西替代,而 YPWS/YPFS 现在已经用 Python 进行开发了。名次解释:YPWS–Yupoo Web Server YPWS 是用 Python开发的一个小型 Web 服务器,提供基本的 Web 服务外,可以增加针对用户、图片、外链网站显示的逻辑判断,可以安装于任何有空闲资源的服务器中,遇到性能瓶颈时方便横向扩展。YPFS–Yupoo File System 与 YPWS 类似,YPFS 也是基于这个 Web 服务器上开发的图片上传服务器。【Updated: 有网友留言质疑 Python 的效率,Yupoo 老大刘平阳在 del.icio.us 上写到 “YPWS用Python自己写的,每台机器每秒可以处理294个请求, 现在压力几乎都在10%以下”】图片处理层接下来的 Image Process Server 负责处理用户上传的图片。使用的软件包也是 ImageMagick,在上次存储升级的同时,对于锐化的比率也调整过了(我个人感觉,效果的确好了很多)。”Magickd“ 是图像处理的一个远程接口服务,可以安装在任何有空闲 CPU资源的机器上,类似 Memcached的服务方式。我们知道 Flickr 的缩略图功能原来是用 ImageMagick 软件包的,后来被雅虎收购后出于版权原因而不用了(?);EXIF 与 IPTC Flicke 是用 Perl 抽取的,我是非常建议 Yupoo! 针对 EXIF 做些文章,这也是潜在产生受益的一个重点。图片存储层原来 Yupoo! 的存储采用了磁盘阵列柜,基于 NFS 方式的,随着数据量的增大,”Yupoo! 开发部从07年6月份就开始着手研究一套大容量的、能满足 Yupoo! 今后发展需要的、安全可靠的存储系统“,看来 Yupoo! 系统比较有信心,也是满怀期待的,毕竟这要支撑以 TB 计算的海量图片的存储和管理。我们知道,一张图片除了原图外,还有不同尺寸的,这些图片统一存储在 MogileFS 中。对于其他部分,常见的 Web 2.0 网站必须软件都能看到,如 MySQL、Memcached 、Lighttpd 等。Yupoo! 一方面采用不少相对比较成熟的开源软件,一方面也在自行开发定制适合自己的架构组件。这也是一个 Web 2.0 公司所必需要走的一个途径。来源:http://www.bopor.com/?p=652
2011年07月28日
8 阅读
0 评论
0 点赞
2011-07-27
VMware下linux虚拟机工具安装
虚拟化在我们现在的网站架构中,可以说是无处不在,如果你有在VMware,像我一样碰到了Linux下的时间跑不准问题。那么安装虚拟机工具则可以帮您解决这一烦恼。1、在VM菜单下选择Install VMwaretools(在虚拟机配置里面);2、挂接VMwaretools 的ISO镜像盘;#mkdir /mnt/cdrom#mount -t iso9660 /dev/cdrom /mnt/cdrom3、将VMwaretools的安装包拷贝到磁盘;#cp /mnt/cdrom/vmware-linux-tools.tar.gz /tmp注:安装包名,根据实际版本定。4、解压;#cd /tmp#tar -zxvf vmware-linux-tools.tar.gz5、安装;#lsbin doc etc FILES INSTALL installer lib vmware-install.plvmware-install.pl则为安装文件。#./vmware-install.pl安装时会提示一些路径,如果没有特殊需要则按默认安装即可。6、重启系统,完成安装。
2011年07月27日
14 阅读
0 评论
0 点赞
2011-07-26
MySql数据库迁移常用方法
在MySql的日常使用中不可避免的会出现数据迁移的时候。如:更换数据库服务器、更换数据库类型。小插曲:我国的文字真是博大精深,“迁移”这个词能把我们常做的数据库的迁移都表达清楚。如: 释义1:搬移;从一处搬到另一处。(对应:更换数据库服务器) 释义2:变化、变迁。(对应:更换数据库类型)。 1、更换数据库服务器可采用数据库备份程序:mysqldumpmysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语句。有3种方式来调用mysqldump:shell> mysqldump [options] db_name [tables]shell> mysqldump [options] —database DB1 [DB2 DB3...]shell> mysqldump [options] –all–database如果没有指定任何表或使用了—database或–all–database选项,则转储整个数据库。要想获得你的版本的mysqldump支持的选项,执行mysqldump —help。如果运行mysqldump没有–quick或–opt选项,mysqldump在转储结果前将整个结果集装入内存。如果转储大数据库可能会出现问题。该选项默认启用,但可以用–skip-opt禁用。如果使用最新版本的mysqldump程序生成一个转储重装到很旧版本的MySQL服务器中,不应使用–opt或-e选项。mysqldump最常用于备份一个整个的数据库:shell> mysqldump –opt db_name > backup-file.sql你可以这样将转储文件读回到服务器:shell> mysql db_name < backup-file.sql或者为:shell> mysql -e “source /path-to–backup/backup-file.sql” db_namemysqldump也可用于从一个MySQL服务器向另一个服务器复制数据时装载数据库:shell> mysqldump –opt db_name | mysql –host=remote_host -C db_name2、更换数据库类型可采用:MySQL GUI ToolsMySQL GUI Tools一个可视化界面的MySQL数据库管理控制台,提供了四个非常好用的图形化应用程序,方便数据库管理和数据查询。这些图形化管理工具可以大大提 高数据库管理、备份、迁移和查询效率,即使没有丰富的SQL语言基础的用户也可以应用自如。它们分别是:MySQL Migration Toolkit:数据库迁移MySQL Administrator:MySQL管理器MySQL Query Browser:用于数据查询的图形化客户端MySQL Workbench:DB Design工具(zsh)下载地址:http://dev.mysql.com/downloads/gui-tools/5.0.html
2011年07月26日
19 阅读
0 评论
0 点赞
1
2
3
...
7