程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Ubuntu gearman 搭建,ubuntugearman搭建

Ubuntu gearman 搭建,ubuntugearman搭建

編輯:關於PHP編程

Ubuntu gearman 搭建,ubuntugearman搭建


近階段一直在查看項目裡所使用到的一些技術點,發現了gearman,於是就動手搞了下環境,下面是來自百度百科關於gearman的介紹:

Gearman是一個用來把工作委派給其他機器、分布式的調用更適合做某項工作的機器、並發的做某項工作在多個調用間做負載均衡、或用來在調用其它語言的函數的系統。 可用於sso 分發連接,但有弊端就是占用系統資源較多,例如CPU、內存。  

1.更新

sudo apt-get update


wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.tar.gz


tar zxvf gearmand-1.1.12.tar.gz


cd gearmand-1.1.12/


./configure


configure: error: could not find boost


sudo apt-get install libboost-dev


接著重新執行:./configure


configure: error: Could not find a version of the library!


sudo apt-get install libboost-all-dev


接著重新執行:./configure


configure: error: could not find gperf


sudo apt-get install gperf*


接著重新執行:./configure


configure: error: Unable to find libevent


sudo apt-get install libevent-dev


接著重新執行:./configure


configure: error: Unable to find libuuid



安裝libuuid


這裡不能通過 sudo apt-get install 來安裝了,找不到,通過下面方式安裝


wget http://nchc.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz


sudo tar zxvf libuuid-1.0.3.tar.gz


cd libuuid-1.0.3/


./configure


沒有錯誤的情況下繼續


sudo make


sudo make install


接下來繼續上面的安裝



./configure


sudo make && make install


這裡要等一段時間。。

 

根據上圖運行結果來看並沒安裝成功,繼續往下


sudo make clean (清除上次的make命令所產生的object文件(後綴為“.o”的文件)及可執行文件。)


重新安裝


./configure


sudo make


sudo make install


貌似沒有錯誤,繼續


gearman


第一次運行會看到以下提示:

gearman: error while loading shared libraries: libgearman.so.8: cannot open shared object file: No such file or directory

(這表示系統不知道libgearman.so.8 放在哪個目錄下。 要在/etc/ld.so.conf中加入libgearman.so.8所在的目錄。 檢查了下,文件所在目錄為/usr/local/lib。 因此出現這個問題的原因是libgearman.so.8剛生成,沒有加入到ld.so.cache中,所以這時需要重新運行一下 /sbin/ldconfig( ldconfig命令的作用):)


sudo /sbin/ldconfig



此時再執行 gearman 則已安裝成功!


安裝完Job Server之後,用gearmand –d命令啟動


gearmand -d


第一次運行會看到以下提示:


gearmand: Could not open log file "/usr/local/var/log/gearmand.log", from "/home/wangyulu/下載/gearmand-1.1.12", switching to stderr. (No such file or directory)


在提示的目錄下創建好/log/gearmand.log文件,再次執行上述命令,就正常啟動了job server。



sudo gearmand -d


到這裡就已經完全ok了






安裝PHP Gearman擴展


wget http://pecl.php.net/get/gearman-1.1.2.tgz


sudo tar zxvf gearman-1.1.2.tgz


cd gearman-1.1.2/


sudo phpize (這裡可能會提示沒有此命令,執行 sudo apt-get install php5-dev 安裝)


sudo ./configure


sudo make


sudo make install



sudo echo "extension=gearman.so" >> /etc/php5/apache2/php.ini (注意這裡php.ini位置)


sudo /etc/init.d/apache2 restart


這時查看php_info時就應該看到 gearman擴展了

 

代碼完成:

https://gist.github.com/andreaspag/6242671/archive/a66d18d191b880c1f8210deb612eb51b185f0892.zip

解壓後把裡面的文件復制到相應目錄即可,如我是在用netbeans開發,我會把它放在 

/usr/local/netbeans-8.1/php/phpstubs/phpruntime 這個目錄裡;

 

 

 

以下是安裝Job Server時的部分截圖

 

PHP Gearman 擴展

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved