導航:首頁 > 編程語言 > centosphpmemcached

centosphpmemcached

發布時間:2024-03-24 15:23:03

㈠ centos7+nginx+php+mysql怎樣實現session會話

構建Tomcat集群
實現session共享之前首先得有一個集群環境,就像談戀愛之前要先有個女朋友是一個道理,我們在/usr目錄下創建一個/tomcat_cluster目錄,並在這個目錄中集群3個Tomcat,很簡單就像這樣:
這里寫圖片描述
然後我們一次修改這三個tomcat的埠,包括shutdown埠、http協議埠以及AJP協議埠。中間的不用說了,前後這兩個埠是為了保證可以同時啟動多個Tomcat,http埠我們分別修改為8081、8082和8083,接下來就可以著手開始配置session共享了。
Kyro序列化session
RT,首先memcached我的版本是1.4.25,在memcached對session的管理策略中,我們選擇kyro,關於memcached-session-manager的版本我這里選擇1.5.1,由於我們使用的是tomcat7所以還需要memcached-session-manager-tc7-1.5.1這個jar包。在此就不一一列舉了,jar包版本很重要否則容易出現沖突,我這里把用到的所有jar包打包上傳,用的時候直接把它們全部復制到tomcat目錄下的lib目錄即可,tomcat-7.0.57版本的話可以直接無腦覆蓋,否則需要跳過重復的jar包,全部jar包的下載地址如下:
linux公社1號FTP伺服器下載
------------------------------------------分割線------------------------------------------FTP地址:ftp //ftp1.linuxidc.com
用戶名:ftp1.linuxidc.com
密碼:www.linuxidc.com
在 2016年LinuxIDC.com\9月\Linux CentOS 7 下通過Memcached實現Session共享\下載方法見 http //www linuxidc.com/Linux/2013-10/91140.htm------------------------------------------分割線------------------------------------------下載完成後即可通過winscp來快速完成tomcat的jar包替換:
這里寫圖片描述
配置說明
jar包準備好的話就分別拷貝到我們集群的3個Tomcat的lib目錄下,然後再分別修改每個Tomcat目錄下的conf/context.xml文件,在其中添加memcached-session-manager的配置。因為我們這里集群了3台Tomcat,所以我們必須使用non-sticky模式,即採用非粘性session管理配置,配置文件如下:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:127.0.0.1:11211" //memcached伺服器地址sticky="false" //注意一定是false
lockingMode="auto"
sessionBackupAsync="false"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"sessionBackupTimeout="1000"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>
memcached的默認埠號是11211,如果不確定的話可以通過netstat來查看,命令如下:
netstat -tunlp | grep memcached
這樣就可以清楚的看到memcached所佔用的埠:
這里寫圖片描述
沒有其它問題的話就依次啟動三個Tomcat,再啟動Memcached,接著就可以測試session共享了。
測試
配完之後當然要測試一下了,准備一個最簡單的java web項目:
這里寫圖片描述
在IDE創建一個web項目部署後再從tomcat拷貝出來即可,唯一需要改的就是index.jsp,我們看一下裡面的代碼:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<%String sessid = request.getSession().getId();%>
sessionid=<%=sessid%><br/>
This is my JSP page 111111.
<br>
</body>
</html>
頁面也很簡單,只是加入了列印sessionid的代碼,因為我們要根據sessionid去判斷session是否一致,將這個項目分別拷貝至三個Tomcat的webapps目錄下,為了做點區分最好再改一下靜態文本,比如tomcat1下的是「This is my JSP page 111111.」,而tomcat2下的改為222222,同理tomcat3下的改為333333,項目傳完後,依次啟動這三個Tomcat,再啟動memcached,通過瀏覽器訪問看一下結果:
這里寫圖片描述
仔細觀察一下運行結果,可以發現sessionid都是一致的,這也就很好的說明了我們成功的在這三個Tomcat之間共享了session。
總結
簡單記錄一下通過Memcached來實現session共享的全過程,希望對遇到同樣問題的朋友有所幫助,The End。

㈡ php無法載入memcache模塊

你的php的mencached擴展的版本是當前php版本可使用的不

㈢ Linux下安裝Memcached伺服器和客戶端與PHP使用示例

本文實例講述了Linux下安裝Memcached伺服器和客戶端與php使用。分享給大家供大家參考,具體如下:
Memcached是高性能的分布式內存緩存伺服器,通過緩存資料庫查詢結果,減少資料庫訪問次數,以提高動態Web應用的速度和可擴展性。
系統環境:CentOS
7.2
64位
Apache2.4.33
安裝libevent依賴庫
wget
https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz
tar
-zxvf
libevent-2.0.15-stable.tar.gz
cd
libevent-2.0.15-stable
./configure
--prefix=/usr/local
make
sudo
make
install
安裝Memcached伺服器
wget
http://memcached.googlecode.com/files/memcached-1.4.9.tar.gz
tar
-zxvf
memcached-1.4.9.tar.gz
cd
memcached-1.4.9
./configure
--prefix=/usr/local/memcached
make
sudo
make
install
啟動Memcache伺服器:
/usr/local/memcached/bin/memcached
-d
-m
128
-u
root
-p
11211
安裝Memcached客戶端
wget
http://pecl.php.net/get/memcache-2.2.5.tgz
tar
-zxvf
memcache-2.2.5.tgz
cd
memcache-2.2.5
./configure
--enable-memcache
--with-php-config=/usr/bin/php-config
--with-zlib-dir
make
sudo
make
install
【make報錯:
***
[memcache.lo]
Error
1】解決方法:
進入memcache安裝目錄,找到mamcache.c文件,將所有的zend_list_insert加上TSRMLS_CC,形如:zend_list_insert(pool,
le_memcache_pool
TSRMLS_CC);
客戶端安裝好之後,我們發現PHP擴展庫中多了一個memcache.so
在PHP配置文件php.ini中加入該擴展:
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/memcache.so
重啟伺服器,通過輸出phpinfo()查看該擴展相關信息
下面寫一個簡單的例子,實現memcache擴展與Memcached伺服器的交互
<?php
$mc
=
new
Memcache();
//創建Memcache對象
$mc->connect("127.0.0.1",
11211);
//連接Memcached伺服器
$mc->set('test','hello
world',0,10);
//存儲數據
echo
$mc->get('test');
//獲取數據
$mc->delete('test');
//刪除數據
$mc->flush();
//強制刷新全部緩存,即清空Memcached伺服器
$mc->close();
//斷開與Memcached伺服器的連接
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php緩存技術總結》、《PHP數組(Array)操作技巧大全》、《php字元串(string)用法總結》、《PHP錯誤與異常處理方法總結》、《php面向對象程序設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:linux下安裝php的memcached客戶端CentOS
5.4下的Memcache安裝步驟(Linux+Nginx+PHP+Memcached)linux下安裝memcached_動力節點Java學院整理Linux
下安裝
memcached

memcacheq的方法在Linux伺服器上安裝
memcached的基本操作linux下編譯安裝memcached服務php模塊memcache和memcached區別分析php擴展memcached和memcache的安裝配置方法PHP
使用memcached簡單示例分享PHP
MemCached高級緩存配置圖文教程PHP
MemCached
高級緩存應用代碼

閱讀全文

與centosphpmemcached相關的資料

熱點內容
5995用什麼簡便演算法脫式計算 瀏覽:916
電腦上如何上小米雲伺服器地址 瀏覽:917
手機資料解壓密碼 瀏覽:442
44引腳貼片單片機有哪些 瀏覽:690
阿里程序員腦圖 瀏覽:189
廣東編程貓學習班 瀏覽:708
上海數控編程培訓學校 瀏覽:313
怎麼下載我的解壓神器 瀏覽:634
lib文件無用代碼會編譯嗎 瀏覽:28
我的世界嗨皮咳嗽伺服器怎麼下 瀏覽:1002
mvn命令順序 瀏覽:978
車貸還完多少時間解壓 瀏覽:964
java頁面開發 瀏覽:818
學編程的小發明 瀏覽:25
為什麼說程序員喜歡格子 瀏覽:253
代碼編譯後叫什麼 瀏覽:969
電腦文件夾做了保護怎麼刪除 瀏覽:678
php資料庫連接全局 瀏覽:528
葫蘆島有程序員嗎 瀏覽:986
小胖機器人顯示無命令 瀏覽:775