簡體   English   中英

如何在Ubuntu上連接單獨的Memcache服務器並從其他服務器使用?

[英]How to connect separate memcache server on Ubuntu and Use from other server?

我在新加坡地區的Digitalocean單獨服務器上托管了基於LAMP的PHP和MySql Web應用程序。 一台PHP服務器+一台遠程MySql DB服務器,都可以正常工作。 因為該應用程序必須讀取的內容要比寫入的更多,所以我想添加一台內存緩存服務器。

到目前為止,我已經嘗試過:-在2gb的小滴上使用本教程中的這些步驟。

現在,我有一台具有公共ip:129.xxx和私有ip:10.xxx內存緩存服務器,

1-p 11211

2.米2048

3.-c 1024

4.-l 127.0.0.1

memcached服務器已成功安裝測試數據並將其緩存在本地主機上。 但是我想在其他遠​​程Web服務器上使用它,

因此,我將memcached.conf文件-l 127.0.0.1更改為此memcached服務器專用IP -l 10.xxx

現在,當我檢查memcached服務器並鍵入ps aux | grep memcached ps aux | grep memcached顯示:

tcp        0      0 10.x.x.x:11211      *:*     LISTEN     3742/memcached

當我檢查統計信息時, echo "stats settings" | nc 10.xxx 11211 echo "stats settings" | nc 10.xxx 11211它顯示有關memcached服務器的所有信息,並且它正在運行。

為了進行測試,我制作了一個文件test.php並保存在PHP服務器上並嘗試連接。

<?php
  $mc = new Memcached();
  $mc->addServer("**10.x.x.x**", 11211);
  $result = $mc->get("test_key");
  if($result) {
    echo $result;
  } else {
    echo "No data on Cache. Please refresh.";
    $mc->set("test_key", "test data from Cache!") or die ("Failed to save data at Memcached server");
  }
?>

但是它始終顯示HTTP ERROR 500錯誤頁面,PHP服務器上的“頁面無法正常工作”錯誤, 192.xxx is currently unable to handle this request但是我的其他PHP和MySql應用程序在同一服務器上運行。

相同的代碼正在memcached服務器上運行並成功緩存數據,但在遠程PHP服務器上無法正常工作。

當我嘗試telnet 10.xxx 11211成功連接時, sudo iptables -L在任何地方輸出該INPUT策略ACCEPT。

我已經嘗試了很多谷歌搜索,但沒有任何幫助。

檢查Web服務器錯誤日志后,顯示Class 'Memcached' not found 我必須在Web服務器中安裝memcached php模塊才能連接到遠程memcached實例。 通過鍵入

apt-get install php5-memcached

並通過添加更改php.ini

extension = memcached.so

比php Web服務器開始連接到遠程memcached服務器。 如果要對會話使用memcached,請打開php.ini文件並添加

session.save_handler = memcache session.save_path = 'tcp://10.xxx:11211' ,最后重啟服務器。

暫無
暫無

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

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