簡體   English   中英

會話存儲在雲服務器上的內存緩存中

[英]Session storage on memcached on cloud server

我在兩台服務器的Memcache上的會話存儲中都遇到問題。 我在雲服務器上安裝了memcached

我有兩個服務器“服務器1”和“服務器2”,兩個負載均衡器,其中一個用於端口443,另一個用於80。我想在兩個服務器上的內存中保留會話,因此,如果一個服務器出現故障,服務器2應該顯示同一會話。

我通過以下命令在兩台服務器上安裝了內存緩存:

1)rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

2)yum安裝memcached

3)vi / etc / sysconfig / memcached並添加

PORT =“ 11211”
USER =“ memcached”
MAXCONN =“ 1024”
CACHESIZE =“ 264”
OPTIONS =“-l 127.0.0.1” //我在這里嘗試通過將服務器1的IP放在服務器1的Memcache配置文件上,將服務器2的IP放在服務器2的Memcache配置文件上

4)/etc/init.d/memcached啟動
5)chkconfig --levels 235 memcached on
6)yum groupinstall“開發工具”
7)yum安裝zlib-devel libmemcached-devel php-pear php-pecl-memcached php-pecl-memcache
8)pecl安裝-f memcached-1.0.0

之后,將memcache.ini和memcahed.ini添加到我的服務器中

我打開了memcache.ini並更改了以下設置:

1)memcache.hash_strategy =一致
2)memcache.session_redundancy = 3
3)memcache.allow_failover = 1

在php.ini中,我更改了

1)session.save_handler =內存緩存
2)session.save_path = tcp://服務器1:11211,tcp://服務器2:11211

並重新啟動Apache服務器

您可以在此處查看所有配置設置: http : //www.diehardfans.com/phpinfo.php

現在在網站上,當我嘗試編寫/讀取會話時,它顯示錯誤:

警告:session_write_close()[function.session-write-close]:無法寫入會話數據(內存緩存)。 請在第702行的/mnt/cbsvolume1/sporters/library/Zend/Session.php中,驗證session.save_path的當前設置正確(tcp:// server1:11211,tcp:// server2:11211)

PS:11211端口在雲通道中開放,我們在負載均衡器上使用了循環算法。

請檢查並告訴我們是否有任何錯誤。

提前致謝

嘗試

session.save_path = "tcp://server1:11211,tcp://server2:11211"

代替

session.save_path = tcp://server1:11211,tcp://server2:11211

您將無法讓Memcache偵聽IP地址127.0.0.1

如果這樣做,則只能連接本地服務器的連接。

由於您嘗試連接遠程服務器,因此需要使Memcache偵聽遠程計算機可以連接到的IP地址。

您沒有提及任何IP地址,但是如果我們假設server1的IP地址為192.168.1.100,則需要讓內存緩存監聽該地址,然后將server2配置為使用192.168.1.100作為其使用的內存緩存服務器的地址因此它可以連接到在server1上運行的memcache服務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM