新聞中心

成都創(chuàng)新互聯(lián)服務(wù)項目包括武川網(wǎng)站建設(shè)、武川網(wǎng)站制作、武川網(wǎng)頁制作以及武川網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,武川網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到武川省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1>開始>運行:CMD(確定)
2>cd C:\memcached(回車)
3>memcached -d install(回車 這步執(zhí)行安裝)
4>memcached -d start(回車 這步執(zhí)行啟動memcache服務(wù)器,默認分配64M內(nèi)存,使用11211端口)
此時memcache服務(wù)器已經(jīng)可以正常使用了。
在服務(wù)端運行:
# ./memcached -d -m 2048 -l 10.0.0.40 -p 11211
這將會啟動一個占用2G內(nèi)存的進程,并打開11211端口用于接收請求。由于32位系統(tǒng)只能處理4G內(nèi)存的尋址,所以在大于4G內(nèi)存使用PAE的32位服務(wù)器上可以運行2-3個進程,并在不同端口進行監(jiān)聽。
又如:memcached -d -m 10 -u root -l 192.168.105.73 -p 12000 -c 256 -P /tmp/memcached.pid
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內(nèi)存數(shù)量,單位是MB,我這里是10MB,
-u是運行Memcache的用戶,我這里是root,
-l是監(jiān)聽的服務(wù)器IP地址,如果有多個地址的話,我這里指定了服務(wù)器的IP地址192.168.105.73 ,
-p是設(shè)置Memcache監(jiān)聽的端口,我這里設(shè)置了12000,最好是1024以上的端口,
-c選項是最大運行的并發(fā)連接數(shù),默認是1024,我這里設(shè)置了256,按照你服務(wù)器的負載量來設(shè)定,
-P是設(shè)置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid
memcache服務(wù)器安全:
Memcache服務(wù)器端都是直接通過客戶端連接后直接操作,沒有任何的驗證過程,這樣如果服務(wù)器是直接暴露在互聯(lián)網(wǎng)上的話是比較危險,輕則數(shù)據(jù)泄露被其他無關(guān)人員查看,重則服務(wù)器被入侵,況且里面可能存在一些我們未知的bug或者是緩沖區(qū)溢出的情況,這些都是我們未知的,所以危險性是可以預(yù)見的。為了安全起見,做兩點建議,能夠稍微的防止黑客的入侵或者數(shù)據(jù)的泄露。
現(xiàn)在就關(guān)于修改memcache服務(wù)器配置的問題說明如下:
1>用內(nèi)網(wǎng)ip的方式提供web應(yīng)用服務(wù)器調(diào)用,不允許直接通過外網(wǎng)調(diào)用,如將memcache服務(wù)器放在192.168.1.55的服務(wù)器上
2>修改端口,如改為11200
3>分配內(nèi)存,如分配1024M(1G內(nèi)存)
方法如下:
1>開始>運行:CMD(確定)
2>cd C:\memcached(回車)
3>memcached -m 1024 -p 11200 -l 192.168.1.55(回車)
注意,此時命令行不會回到C:\memcached>狀態(tài),并且實際上memcache服務(wù)器悄悄變?yōu)閟top狀態(tài)了。此窗口不可以關(guān)閉。新開一個cmd窗口
4>開始>運行:CMD(確定)
5>cd C:\memcached(回車)
6>memcached -d start(回車)可以關(guān)閉此cmd窗口。
此時可以使用新配置的memcache服務(wù)器了。
上述方法雖然解決了修改默認配置的問題,但是始終會有一個cmd窗口不可以關(guān)閉,否則就回到11211端口的默認配置。
更好的解決方案是通過修改服務(wù)的注冊表配置:
1>開始>運行:regedit(回車)
2>在注冊表中找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
3>默認的ImagePath鍵的值是:"c:\memcached\memcached.exe" -d runservice,改為:"c:\memcached\memcached.exe" -d runservice -m 512 -p 11200 -l 192.168.1.55(確定,關(guān)閉注冊表)
4>我的電腦(右鍵)>管理>服務(wù) 找到memcache的服務(wù),重新啟動一次即可生效。
此時,同網(wǎng)段內(nèi)的電腦仍然可以利用這臺memcache服務(wù)器,我們限定指定的web應(yīng)用服務(wù)器才能夠使用,通過防火墻的方式。如只允許192.168.1.2這臺Web服務(wù)器對Memcache服務(wù)器的訪問,能夠有效的阻止一些非法訪問,相應(yīng)的也可以增加一些其他的規(guī)則來加強安全性,這個可以根據(jù)自己的需要來做。
Memcache服務(wù)器端都是直接通過客戶端連接后直接操作,沒有任何的驗證過程,這樣如果服務(wù)器是直接暴露在互聯(lián)網(wǎng)上的話是比較危險,輕則數(shù)據(jù)泄露被其他無關(guān)人員查看,重則服務(wù)器被入侵,因為Mecache是以root權(quán)限運行的,況且里面可能存在一些我們未知的bug或者是緩沖區(qū)溢出的情況,這些都是我們未知的,所以危險性是可以預(yù)見的。為了安全起見,我做兩點建議,能夠稍微的防止黑客的入侵或者數(shù)據(jù)的泄露。
內(nèi)網(wǎng)訪問
最好把兩臺服務(wù)器之間的訪問是內(nèi)網(wǎng)形態(tài)的,一般是Web服務(wù)器跟Memcache服務(wù)器之間。普遍的服務(wù)器都是有兩塊網(wǎng)卡,一塊指向互聯(lián)網(wǎng),一塊指向內(nèi)網(wǎng),那么就讓W(xué)eb服務(wù)器通過內(nèi)網(wǎng)的網(wǎng)卡來訪問Memcache服務(wù)器,我們Memcache的服務(wù)器上啟動的時候就監(jiān)聽內(nèi)網(wǎng)的IP地址和端口,內(nèi)網(wǎng)間的訪問能夠有效阻止其他非法的訪問。
# memcached -d -m 1024 -u root -l 192.168.0.200 -p 11211 -c 1024 -P /tmp/memcached.pid
Memcache服務(wù)器端設(shè)置監(jiān)聽通過內(nèi)網(wǎng)的192.168.0.200的ip的11211端口,占用1024MB內(nèi)存,并且允許最大1024個并發(fā)連接
設(shè)置防火墻
防火墻是簡單有效的方式,如果卻是兩臺服務(wù)器都是掛在網(wǎng)的,并且需要通過外網(wǎng)IP來訪問Memcache的話,那么可以考慮使用防火墻或者代理程序來過濾非法訪問。
一般我們在Linux下可以使用iptables或者FreeBSD下的ipfw來指定一些規(guī)則防止一些非法的訪問,比如我們可以設(shè)置只允許我們的Web服務(wù)器來訪問我們Memcache服務(wù)器,同時阻止其他的訪問。
# iptables -F
# iptables -P INPUT DROP
# iptables -A INPUT -p tcp -s 192.168.0.2 –dport 11211 -j ACCEPT
# iptables -A INPUT -p udp -s 192.168.0.2 –dport 11211 -j ACCEPT
上面的iptables規(guī)則就是只允許192.168.0.2這臺Web服務(wù)器對Memcache服務(wù)器的訪問,能夠有效的阻止一些非法訪問,相應(yīng)的也可以增加一些其他的規(guī)則來加強安全性,這個可以根據(jù)自己的需要來做
很多時候需要監(jiān)控服務(wù)器上的Memcached運行情況,比如緩存的查詢次數(shù),命中率之類的。但找到的
那個memcached-tool是linux下用perl寫的,我也沒試過windows能不能用。后來發(fā)現(xiàn)個簡單的辦法可以做到,就是使用Telnet。
1、windows系統(tǒng)連接memcached端口 cmd命令行中鍵入telnet 192.168.1.1 11211 11211是memcached綁定的端口號。
2、連接上端口后輸入 stats命令,即可得到描述Memcached服務(wù)器運行情況的參數(shù)。
STAT pid 4356 服務(wù)器進程ID
STAT uptime 56625 服務(wù)器運行時間,單位秒
STAT time 1225249079 服務(wù)器當前的UNIX時間
STAT version 1.1.0 服務(wù)器的版本號
STAT pointer_size 64
STAT rusage_user 151.845489 該進程累計的用戶時間(秒:微妙)
STAT rusage_system 121.667603 該進程累計的系統(tǒng)時間(秒:微妙)
STAT ibuffer_size 4096
STAT curr_connections 13 連接數(shù)量
STAT total_connections 54136 服務(wù)器運行以來接受的連接總數(shù)
STAT connection_structures 318 服務(wù)器分配的連接結(jié)構(gòu)的數(shù)量
STAT cmd_get 100595 取回請求總數(shù)
STAT cmd_set 6510 存儲請求總數(shù)
STAT get_hits 96543 請求成功的總次數(shù)
STAT get_misses 4052 請求失敗的總次數(shù)
STAT bytes_read 4427679 服務(wù)器從網(wǎng)絡(luò)讀取到的總字節(jié)數(shù)
STAT bytes_written 6585596 服務(wù)器向網(wǎng)絡(luò)發(fā)送的總字節(jié)數(shù)
1>、uptime 是memcached運行的秒數(shù),
2>、cmd_get是查詢緩存的次數(shù)。
3>、這兩個數(shù)據(jù)相除一下就能得到平均每秒請求緩存的次數(shù)——最近niupu的流量很低,所以平均也就一秒請求一次多,
這么點大的壓力,用文件系統(tǒng)緩存一樣沒問題,根本不會體現(xiàn)出使用memcached的優(yōu)越。
4>、下面的cmd_set 就是設(shè)置key=>value的次數(shù)。整個memcached是個大hash,用cmd_get沒有找到的內(nèi)
容,就會調(diào)用一下cmd_set寫進緩存里。
5>、緊跟著是get_hits,就是緩存命中的次數(shù)。緩存命中率 = get_hits/cmd_get * 100%。
6>、下面的get_misses的數(shù)字加上get_hits應(yīng)該等于cmd_get。
7>、而total_itemscurr_items表示現(xiàn)在在緩存中的鍵值對個數(shù).
8>、在圖上total_items == cmd_set == get_misses,不過當可用最大內(nèi)存用光時,memcached就會刪掉一些內(nèi)容,上面的等式就不成立了
分享名稱:windows環(huán)境下memcache配置方法詳細篇
本文來源:http://fisionsoft.com.cn/article/ccsceep.html


咨詢
建站咨詢
