新聞中心

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


咨詢
建站咨詢
