在Linux下編譯,須要gcc、make、cmake、autoconf、libtool、libevent等工具,在Linux聯網狀態下咱們可使用yum
命令來安裝鎖須要的依賴c++
yum -y install gcc gcc-c++ make cmake autoconf libtool libevent libevent-devel
# 切換到資源包目錄(我我的全部的資源包都是放在/usr/local/src目錄下) cd /usr/local/src # 下載Memcached wget http://www.memcached.org/files/memcached-1.6.6.tar.gz # 解壓 tar -zxvf memcached-1.6.6.tar.gz # 編譯 && 安裝 ./configure --prefix=/usr/local/memcached-1.6.6 make && make install # 建立memcached的軟鏈接 ln -s memcached-1.6.6 memcached
建立軟連接的好處shell
爲何要建立軟鏈接?由於之後可能會升級到其它版本,在環境變量和開機自啓這些地方都使用軟鏈接,這樣能夠方便之後升級的時候只須要刪除舊的軟鏈接從新對新版本建立一個軟鏈接就行了,不須要在去到環境變量和開機自啓的這些配置的地方再去修改。memcached
編輯/etc/profile
文件,/usr/local/memcached/bin
添加到環境變量中工具
export PATH="$PATH:/usr/local/memcached/bin"
添加後執行source /etc/profile
使修改當即生效rest
在之前咱們來管理Memcached的開機自啓的時候咱們都是使用的rc.local
的方式來設置,可是這樣的方式已通過時,在CentOS7中咱們應當使用systemctl
來管理code
首先咱們來看一下使用yum方式安裝的memcached都作了啥blog
建立一個sbin/nologin類型的名爲memcached的用戶ip
useradd memcached -s /sbin/nologin -M
安裝memcached並採用systemctl來管理,memcached.service文件內容以下資源
[Unit] Description=Memcached Before=httpd.service After=network.target [Service] Type=simple EnvironmentFile=-/etc/sysconfig/memcached ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS [Install] WantedBy=multi-user.target
配置文件放在/etc/sysconfig/memcachedget
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS=""
咱們使用的是編譯安裝,不過咱們能夠仿照yum方式的行爲來管理咱們本身編譯安裝的Memcached服務
首先,建立一個memcached用戶,專門用來管理memcached服務
useradd memcached -s /sbin/nologin -M
而後在咱們的memcached安裝目錄下建立一個配置文件,添加咱們本身的我的配置
# 建立配置目錄 mkdir /usr/local/memcached/conf touch /usr/local/memcached/conf/memcached # 修改文件所屬用戶和組 chown -R memcached:memcached /usr/local/memcached/conf/memcached # 在/usr/local/memcached/conf/memcached文件中添加以下內容 PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS=""
而後,在/usr/lib/systemd/system/
目錄下建立一個memcached.service文件
touch /usr/lib/systemd/system/memcached.service
並在memcached.service添加以下內容(就是把yum方式的EnvironmentFile和啓動路徑改了)
[Unit] Description=Memcached Before=httpd.service After=network.target [Service] Type=simple EnvironmentFile=-/usr/local/memcached/conf/memcached ExecStart=/usr/local/memcached/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS [Install] WantedBy=multi-user.target
執行下面的命令從新載入 systemd,掃描新的或有變更的單元
systemctl daemon-reload
systemctl enable memcached.service # 設置開機自啓 systemctl disable memcached.service # 取消開機自啓服務
systemctl status memcached.service # 查看Memcached狀態 systemctl start memcached.service # 開啓Memcached systemctl stop memcached.service # 關閉Memcached systemctl reload memcached.service # 重載配置 systemctl restart memcached.service # 重啓Memcached(至關於stop&start)
可使用lsof -i:端口號
查看Memcached服務