日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu 16.04安装Memcached(单机)

發布時間:2024/1/17 Ubuntu 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu 16.04安装Memcached(单机) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ubuntu 16.04安裝Memcached,不過不僅限與Ubuntu,可以用CentOS等去安裝,只不過測試時使用的是Ubuntu機器。Windows下不建議使用,本機調試可以使用,線上環境除了Windows之外都可以使用。

說明:在Linux下建議使用源碼的形式安裝,至少整個安裝的文件是清晰的,包括新建了什么文件等。在CentOS下要注意管理員權限運行。

準備條件:

Linux系統安裝memcached,首先要先安裝libevent庫。

自動安裝:

#(Ubuntu/Debian) sudo apt-get install libevent libevent-deve #(Redhat/Fedora/Centos) yum install libevent libevent-deve

源代碼安裝:

下載最新版:http://libevent.org/

tar -zxvf libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable/
sudo su
./configure
make && make install

安裝Memcached

自動安裝:

#(Ubuntu/Debian) sudo apt-get install memcached #(Redhat/Fedora/Centos) yum install memcached #(FreeBSD) portmaster databases/memcached

源代碼安裝:

從其官方網站(http://memcached.org)下載Memcached最新版本。

#下載最新版本 wget http://memcached.org/latest #重命名 mv latest memcached.tar.gz #解壓源碼 tar -zxvf memcached.tar.gz #進入目錄 cd memcached-1.5.1/
#切換root權限
sudo su
#配置 ./configure --prefix=/usr/local/memcached/ #編譯 make && make test #安裝 make install

如果上面報libevent-2.1.so.6的錯誤,參考:http://www.cnblogs.com/EasonJim/p/7580220.html

卸載(卸載前先kill全部進程:killall?memcached):

源代碼安裝的:

sudo rm -rf /usr/local/memcached

自動安裝的:

#(Ubuntu) sudo apt remove memcached
#(CentOS)
yum remove memcached

Memcached運行

Memcached命令的運行:

#命令幫助 /usr/local/memcached/bin/memcached -h

注意:如果使用自動安裝Memcached命令位于/usr/local/bin/memcached

常用啟動選項:

  • -d:是啟動一個守護進程;
  • -m:是分配給Memcache使用的內存數量,單位是MB;
  • -u:是運行Memcache的用戶;
  • -l:是監聽的服務器IP地址,可以有多個地址;
  • -p:是設置Memcache監聽的端口,最好是1024以上的端口;
  • -c:是最大運行的并發連接數,默認是1024;
  • -P:是設置保存Memcache的pid文件。

詳細啟動選項:

  • "A":是否運行客戶端使用shutdown命令。默認是不允許的。該選項將允許。客戶端的shutdown命令會將Memcached進程殺死。該選項會將settings.shutdown_command賦值為false
  • "a":unix socket的權限位信息(訪問掩碼)。該選項的參數賦值給settings.access
  • "U":大寫U。Memcached監聽的UDP端口值,默認端口為11211。該選項的參數賦值給settings.udpport
  • "p":小寫p,Memcached監聽的tcp端口。默認端口為11211, 該選項的參數賦值給settings.port
  • "s":小寫S。unix socket監聽的socket路徑。該選項的參數賦值給settings.socketpath
  • "m":小寫m。Memcached能夠使用的最大內存值,默認是64MB。參數單位為MB。該參數賦值給settings.maxbytes
  • "M":大寫M。默認情況下,當Memcached的內存使用完后,將進行LRU機制淘汰item以騰出空間。如果使用本選項那么將關閉LRU功能。當然關閉LRU不代表不能存儲新數據。如果Memcached里面存有過期失效的item,那么就可以存儲新數據。否則將無法存儲。該選項將settings.evict_to_free賦值為0。
  • "c":小寫c。最多允許多少個客戶端同時在線(這個值不等價于listen函數的第二個參數),該選項和后面的b選項有所不同。 默認值為1024個。該選項參數賦值給settings.maxconns。
  • "h":顯示幫助信息
  • "i":顯示memcached和libevent的版權信息
  • "k":小寫k。將Memcached使用到的內存鎖定在內存中,不準OS把Memcached的內存移動到虛擬內存。因為當OS把Memcached的內存移動到虛擬內存可能會導致頁錯誤,降低Memcached的響應時間
  • "v":小寫v。輸出Memcached運行時的一些信息。-v -vv -vvv輸出的信息依次增加。該選項會增加settings.verbose的值
  • "l":Memcached綁定的ip地址。如果不設置這個選項,那么Memcached將使用INADDR_ANY。如果想指定多個IP地址,那么該選項的參數可以由多個ip組成,ip之間用逗號分隔。也可以多次使用這個選項,此時端口應該尾隨ip而不是單獨用-p選項指定。例如-l 127.0.0.1:8888,192.168.1.112:9999 或者 -l 127.0.0.1:8888 -l 192.168.1.112:9999該選項參數將賦值給settings.inter
  • "d":以守護進程的形式運行Memcached
  • "r":將core文件大小設置為不受限制
  • "R":worker線程連續為某個客戶端執行命令的最大命令數。該選項的參數賦值給settings.reqs_per_event
  • "u":小寫u。當以root用戶啟動Memcached的時候需要指定Memcached的所屬用戶,其他用戶啟動Memcached不需要此選項
  • "P":大寫p。該選項的參數指明Memcached的pid保存文件。要和-d選項配合使用。注意運行的用戶是否有權限寫對應的文件
  • "f":item的擴容因子。默認值為1.25。該選項的參數值可以是小數但必須大于1.0。該選項參數將賦值給settings.factor
  • "n":設置最小的item能存儲多少字節的數據。該選項參數賦值給settings.chunk_size
  • "t":該選項的參數用于指定worker線程的個數,不建議超過64個。如果不設置該選項默認有4個線程。該參數會賦值給settings.num_threads
  • "D":參數字符作為前綴和ID的分隔符。使用了該選項才會自動收集狀態信息。也可以在啟動Memcached后,客戶端使用stats detail on命令開啟,此時默認的分隔符為冒號":"。該選項參數會賦值為settings.prefix_delimiter,并將settings.detail_enabled賦值為1
  • "L":如果OS允許的話,那么向OS申請更大的內存頁。OS的默認內存頁為4KB。大的內存頁可以有效降低頁表的大小,提高效率。此選項會使得Memcached預先先OS全部所需的申請內存。當然這些內存盡量是用大內存頁分配的
  • "C":大寫C。Memcached默認是使用CAS的,本選項是禁用CAS。本選項會將settings.use_cas賦值為false
  • "b":listen函數的第二個參數。該選項的參數賦值給settings.backlog。如果不設置該選項,那么默認為1024。該選項和前面的c選項有所不同
  • "B":Memcached支持文本協議和二進制協議。該選項的參數用于指定使用的協議。默認情況下是根據客戶端的命令而自動判斷(也叫協商),參數只能取auto、binary、ascii這三個字符串值。將參數將賦值給settings.binding_protocol
  • "I":slab分配器中,每一個頁的大小。這個選項的參數是一個數值表示頁的大小。默認單位是B也可以在數值后面帶K或者M(大小寫都行),表示KB和MB。頁的大小小于1KB或者大于128MB都是不允許的。不推薦使用該選項。本選項參數會賦值給settings.item_size_max
  • "S":大寫S。打開sasl安全協議。會將settings.sasl賦值為true
  • "F":禁止客戶端的flush_all命令。默認是允許客戶端的flush_all命令的。該選項將settings.flush_enabled賦值為false
  • "o":有下面幾個子選項可以設置。這個選項是用來優化的
    • maxconns_fast:?? 如果連接數超過了最大同時在線數(由-c選項指定),立即關閉新連接上的客戶端。該選項將settings.maxconns_fast賦值為true
    • hashpower:?? 哈希表的長度是2^n。可以通過選項hashpower設置指數n的初始值。如果不設置將取默認值16。該選項必須有參數,參數取值范圍只能為[12, 64]。本選項參數值賦值給settings.hashpower_init
    • slab_reassign:?? 該選項沒有參數。用于調節不同類型的item所占的內存。不同類型是指大小不同。某一類item已經很少使用了,但仍占用著內存。可以通過開啟slab_reassign調度內存,減少這一類item的內存。如果使用了本選項,settings.slab_reassign賦值為true
    • slab_automove:?? 依賴于slab_reassign。用于主動檢測是否需要進行內存調度。該選項的參數是可選的。參數的取值范圍只能為0、1、2。參數2是不建議的。本選項參數賦值給settings.slab_automove。如果本選項沒有參數,那么settings.slab_automove賦值為1
    • hash_algorithm:?? 用于指定哈希算法。該選項必須帶有參數。并且參數只能是字符串jenkins或者murmur3
    • tail_repair_time:?? 用于檢測是否有item被已死線程所引用。一般不會出現這種情況,所以默認不開啟這種檢測。如果需要開啟這種檢測,那么需要使用本選項。本選項需要一個參數,參數值必須不小于10。該參數賦值給settings.tail_repair_time
    • lru_crawler:???本選項用于啟動LRU爬蟲線程。該選項不需要參數。本選項會導致settings.lru_crawler賦值為true
    • lru_crawler_sleep:??LRU爬蟲線程工作時的休眠間隔。本選項需要一個參數作為休眠時間,單位為微秒,取值范圍是[0, 1000000]。該參數賦值給settings.lru_crawler_sleep
    • lru_crawler_tocrawl:?? LRU爬蟲檢查每條LRU隊列中的多少個item。該選項帶有一個參數。參數會賦值給settings.lru_crawler_tocrawl

1、作為前臺程序運行:

/usr/local/memcached/bin/memcached -p 11211 -m 64m -vv

這樣會顯示調試信息。命令在前臺啟動了Memcached,監聽TCP端口11211,最大內存使用量為64M。調試信息的內容大部分是關于存儲的信息。

2、作為后臺服務程序運行:

/usr/local/memcached/bin/memcached -p 11211 -m 64m -d

或者

/usr/local/memcached/bin/memcached -d -m 64M -u root -l 192.168.0.200 -p 11211 -c 256 -P /tmp/memcached.pid

3、查看啟動狀態

sudo netstat -ntpl | grep memcached

測試

telnet 192.168.0.200 11211

增加開機啟動

Ubuntu:

有兩種方式:1在rc.local中設置啟動,2使用update-rc.d增加開機啟動服務

下面是通過rc.local啟動的腳本:

#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing.#log exec 2> /tmp/rc.local.log # send stderr from rc.local to a log file exec 1>&2 # send stdout to the same log file set -x # tell sh to display commands before execution #Memcached /usr/local/memcache/bin/memcached -p 11211 -m 64m -d -u rootexit 0

CentOS(沒實踐過):

有三種方式:

1在rc.local中設置啟動(位置在/etc/rc.d/rc.local)。

2使用chkconfig增加開機啟動服務。

3在scripts文件夾下有個memcaed.sysv的文件(注意:這個文件不適合Ubuntu),拷貝到/etc/init.d下,然后使用chkconfig進行服務的添加即可。

離線版本:

鏈接: https://pan.baidu.com/s/1kU9DLI3 密碼: k6qg

?

參考:

http://www.linuxidc.com/Linux/2016-07/133423.htm

http://www.runoob.com/memcached/memcached-install.html

http://www.wuwenhui.cn/3714.html(CentOS卸載Memcached)

http://blog.csdn.net/ydwei918/article/details/46455471(CentOS卸載Memcached)

http://blog.csdn.net/qq_33862332/article/details/50907951(啟動參數參考)

?

總結

以上是生活随笔為你收集整理的Ubuntu 16.04安装Memcached(单机)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。