存档

‘服务器’ 分类的存档

真的了解memcached吗?

2011年7月18日 effect 没有评论

1 什么是memcached?

Memcached 是一个高性能的分布式内存对象缓存系统,基于一个存储键/值对的hashmap,也就是常说的Key-Value。主要特性是分布式和内存存储,所以读写速度是非常神速的,1.5W/s没问题的。

2 memecached启动参数

memcached -d -m 2048  -p 11211 -P /tmp/memcached.pid

-d 守护模式

-m 分配最大的内存单位MB

-p 监听端口

-P 保存pid的文件,只有-d的时候才有效果

其他的参数见memcached -h

结合上面的启动参数,关闭memcached的命令是:kill `cat /tmp/memcached.pid`   ,需要注意的是:memcached是存储在内存中,所以kill之后,存储的数据全部没了。

3 服务器状态

使用命令:telnet memcached-server-address port,这样就可以连接上memcached服务器,然后输入stats 即可得到服务器各项状态数据,主要状态说明:

pid 服务器进程id

uptime 服务器运行秒数

time 服务器当前时间锉

version 服务器版本

pointer_size 操作系统指针大小(32位的就是32)

rusage_user 进程累计用户时间

rusage_system 进程累计系统时间

curr_connections  当前打开的连接数

total_connections 系统启动后的连接总数

cmd_get   get请求总数

cmd_set  set请求总数

cmd_flush  flush请求总数

get_hits  get请求命中次数

get_misses  get未命中次数

delete_misses   delete未命中次数

delete_hits delete命中次数

threads  线程数

bytes 存储的item占用的 字节数

curr_items 当前item数目

total_items  系统启动后的总字节数目

evictions  为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)

limit_maxbytes   分配的内存大小

bytes_read  读取字节数目

bytes_written  发送字节数目

缓存命中率 = get_hits/cmd_get * 100%

4  php-client

有三种php-client:

1)MemcachedClient.php   使用的是php socket和服务器交互,不推荐 。

2)pecl的memcache扩展 推荐

3) pecl的memcached扩展 基于libmemcached的扩展,相比memcache多了很多方法,而且效率各方面也优于memcache扩展。强烈推荐

5 推荐的分布式方式

memcached服务器本身没有分布式的功能,分布式都是通过客户端根据key值算出对应的服务器节点。比较常规的分布式是求余法,但是这个方法有个致命的硬伤:当要增加或者删减一个服务器节点的时候,当时的缓存命中率大大降低。推荐的方法是一致性hash模式。

如果你使用的是memcache扩展,那么想要使用一致性hash模式,请在php.ini中增加或者修改配置:

Memcache.hash_strategy =consistent
Memcache.hash_function =crc32

如果使用的是memcached,那么在代码中使用:
$mem->setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT);
$mem->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE,true);

6 参考资料

memcached api文档翻译:http://blog.csdn.net/lgg201/article/details/6002928

memcached 安装方式:http://www.9enjoy.com/php-memcached/

一致性hash: http://baike.baidu.com/view/1588037.htm

分类: php, 服务器 标签:

rsync服务器搭建

2010年8月4日 effect 没有评论

rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用

本文的例子在centos环境下运行

1.安装
一个命令就搞定 yum install -y rsync。如果你想编译也可以。

2.建立配置文件

[root@localhost public_html]# vi /etc/rsyncd.conf
uid=root
gid=root
max connections=4
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
secrets file=/etc/rsyncd.passwd
 
#www的模块
[www]
comment=www hah
path=/data/www
#path是模块对应的路径
read only=no
exclude=test
auth user=work

阅读全文…

分类: 服务器 标签:

nginx URL重写

2010年8月3日 effect 没有评论

正则表达式匹配,其中:
* ~ 为区分大小写匹配
* ~* 为不区分大小写匹配
* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配
文件及目录匹配,其中:
* -f和!-f用来判断是否存在文件
* -d和!-d用来判断是否存在目录
* -e和!-e用来判断是否存在文件或目录
* -x和!-x用来判断文件是否可执行
flag标记有:
* last 相当于Apache里的[L]标记,表示完成rewrite,不再匹配后面的规则
* break 与last类似
* redirect 返回302临时重定向
* permanent 返回301永久重定向
一些可用的全局变量有,可以用做条件判断(待补全) 阅读全文…

分类: 服务器 标签:

python apache django配置

2010年8月2日 effect 没有评论

原创,转载注明出处

决定研究python,我本身做WEB出身,所以自然先整合python和apache的应用,apache用的是mod_python模块。

这次整合在window xp平台

安装:

1.python, 下载页面:http://www.python.org/download/ 我选择的是2.5的版本,相信装过软件的都会装,

2.apache 自己用的开发机,apache用的是xampp套件,这个套件非常出色,建议开发者可以使用这个。

3.下载mod_python。下载地址:http://www.apache.org/dist/httpd/modpython/win/3.3.1/
注意mod_python一定要选择好版本,我的python用的是2.5,apache用的是2.2 所以我选择 mod_python-3.3.1.win32-py2.5-Apache2.2.exe。直接点击安装即可,最好有一不是要选择你的apache的安装目录。不要选错了。

4.安装django。下载地址:http://www.djangoproject.com/download/ 解压缩到D盘,比如目录为:d:/django。 然后打开DOS窗口(不会的跟着做。鼠标屏幕左下角的开始—–>选择运行,输入cmd 回车)。
然后输入命令:
d:
cd django
python setup.py install
这样就安装好了。

5. 新建一个项目:
在DOS窗口里面输入:django-admin startproject news (记住:如果你要把项目到d:/python里面,那么就得先CD到这个目录里面)

接着就是配置apache了。

编辑apache的httpd.conf

增加:LoadModule python_module modules/mod_python.so

<VirtualHost 127.0.0.1>
ServerName www.python.l
DocumentRoot D:\python\news
</VirtualHost>
 
<Directory "d:/python/news">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    SetHandler python-program
    AddHandler mod_python .py
    PythonPath "sys.path+['d:/python']"
    PythonHandler django.core.handlers.modpython  
    SetEnv DJANGO_SETTINGS_MODULE news.settings
    PythonDebug On
</Directory>

好了,把更改你的hosts文件 把 www.python.l 指向127.0.0.1

重启apache

打开浏览器输入:http://www.python.l

如果看到 it’s work就恭喜你 成功了

分类: 服务器 标签:

svn配置备忘

2010年8月2日 effect 没有评论

国庆没事,干脆研究一下SVN(全称为subversion)

工作环境:winxp中用VM创建了FREEBSD6.1,也可以说客户端是WINXP,服务器用FB(freebsd的简称)

第一步:FB安装svn server,
这个好办,几个命令就搞定
#cd /usr/ports/dev/subversion
#make install clean
然后是很长的等待时间。

第二步:在FB编译SVNSERVER的时候WINXP去下一个SVN的客户端软件,推荐tortoiseSVN,华军或者天空 都有的下,安装和普通的软件安装方式一样。

第三步:在FB上:
#mkdir /usr/local/svn
#svnadmin /usr/local/svn/project

第四步:
修改project的配置文件
#cd /usr/local/svn/project/conf
#ls
这时你会看到svnserve.conf等文件,配置方法参考: http://blog.csdn.net/thinkerABC/archive/2007/10/18/1831025.aspx
我的svnserve.conf为:

[general]
auth-access = write
password-db = passwd
realm = My First Repository

还有同目录下的passwd,我的为:

[users]
# harry = harryssecret
# sally = sallyssecret
yzm=yzmpass

请注意:这些配置文件不能太随意,一定要顶格写

第五步:启动svnserve
#svnserve -d -r /usr/local/svn/project –listen-host=0.0.0.0 –listen-port=3690

第六步:
在winxp中E盘建立一个文件夹,e:\a 然后右击文件夹的图标,然后选择svn checkout。
在弹出的对话框中把地址写上,由于我们是使用svnserve的方式,所以填上:svn://hostip/project
客户端基本的操作参考:http://fairyfish.net/2007/09/08/tortoisesvn-introduce/

后记:我这样完了之后,从客户端提交文件之后想去服务器找到我提交的文件,呵呵,但是找不到,感觉很郁闷,后来想想不对,因为SVNSERVE只是一个代码仓库而已。所以想在FB上也要这个仓库的文件得这样:#cd /usr/local
#mkdir myproject
#cd myproject
#svn checkout svn://192.168.127/project –username yzm –password yzmpass
这样在服务器也得到了一份代码。每次你客户端提交文件之后,在服务的这个目录里面#svn up即可。
这个只是一个简明的流程,适合小项目 小团体。我只是好玩研究一下。

原创文件,转载请注明出处

分类: 服务器 标签:

nginx php(fast-cgi)

2010年8月1日 effect 没有评论

首先,更新PHP,MYSQL源
#rpm –import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
#vi /etc/yum.repos.d/utterramblings.repo
[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1

gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

安装mysql和php
#yum install -y mysql-server
#yum install -y php php-cli php-xcache php-mysql php-mbstring php-gd

安装EPEL,启用RHEL的附加软件包
#rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
阅读全文…

分类: php, 服务器 标签:

yum install PHP 5.2

2010年8月1日 effect 没有评论
安装相应的GPG key# rpm –import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

新建一个repo

# /etc/yum.repos.d/utterramblings.repo

把以下内容添加进去,保存退出就OK了

[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

yum install php

分类: php, 服务器 标签: ,

vsftpd.conf

2010年8月1日 effect 没有评论

anonymous_enable=NO

local_enable=YES

write_enable=NO

local_umask=022

anon_umask=022

anon_upload_enable=NO

anon_mkdir_write_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

idle_session_timeout=600

data_connection_timeout=120

ftpd_banner=Welcome!

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
阅读全文…

分类: 服务器 标签:

key-value之Tokyo Cabinet和Tokyo Tyrant安装记录

2010年8月1日 effect 没有评论

wget http://1978th.net/tokyotyrant/tokyotyrant-1.1.40.tar.gz
wget http://1978th.net/tokyocabinet/tokyocabinet-1.4.45.tar.gz
wget http://zlib.net/zlib-1.2.5.tar.gz

先安装zlib。
cd zlib
./configure
make
make install

然后安装tokyo cabinet
cd ../tokyocabinet-1.4.45
./configure –prefix=/usr/local/tc/ –with-zlib=/usr/local/zlib/
(如果提示没有bzlib.h,那么用yum安装bzip2-devel)

接下来tokyo tyrant
cd ../tokyotyrant-1.1.40
./configure –prefix=/usr/local/tt/ –with-tc=/usr/local/tc/
(with-tc指定tokyo cabinet的安装目录,必须的!)
make
make install

安装完成。
做个链接 ln -s /usr/local/tt/bin/ttserver /usr/bin/ttserver    把ttserver链到/usr/bin目录下,这样就可以用tokyo tyrant自带的ttservctl启动。
阅读全文…

mmseg+coreseek = sphinx

2010年8月1日 effect 没有评论
中文全文检索系统

采用http://www.coreseek.cn/提供的libmmseg和csft

安装教程见:http://www.coreseek.cn/news/6/52/

中文分词的配置见:http://www.coreseek.cn/products-install/coreseek_mmseg/ 和 http://www.coreseek.cn/opensource/mmseg/

中文指南:http://www.sphinxsearch.org/?page_id=15

速成指南:http://www.360doc.com/content/10/0113/16/732129_13445651.shtml

速度非常的不错:

[root@localhost lib]# /usr/local/coreseek/bin/search –config /usr/local/coreseek/etc/sphinx.conf 电影
Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]
Copyright (c) 2007-2010,
Beijing Choice Software Technologies Inc (http://www.coreseek.com)

using config file ‘/usr/local/coreseek/etc/sphinx.conf’…
index ‘test1′: query ‘电影 ‘: returned 1000 matches of 2849 total in 0.033 sec

displaying matches:
1. document=78, weight=1
2. document=89, weight=1
3. document=141, weight=1
4. document=175, weight=1
5. document=213, weight=1
6. document=217, weight=1
7. document=220, weight=1
8. document=314, weight=1
9. document=370, weight=1
10. document=371, weight=1
11. document=373, weight=1
12. document=426, weight=1
13. document=431, weight=1
14. document=487, weight=1
15. document=570, weight=1
16. document=613, weight=1
17. document=626, weight=1
18. document=630, weight=1
19. document=641, weight=1
20. document=643, weight=1

words:
1. ‘电影’: 2849 documents, 5670 hits

虚拟机的搜索,默认配置

原创文章,转载注明出处

分类: 服务器 标签: