首頁 > 後端開發 > php教程 > 伺服器連線異常即將退出請重新進入遊戲 PHP實現多伺服器session共享之NFS共享的方法

伺服器連線異常即將退出請重新進入遊戲 PHP實現多伺服器session共享之NFS共享的方法

WBOY
發布: 2016-07-29 08:36:36
原創
952 人瀏覽過

PHP實作多伺服器session共享之NFS共享 
前言,Nio大俠提出了session多伺服器共享的問題,原文請見PHP 實作多伺服器共享 SESSION 資料。
其中,有一種方法就是利用NFS來共享session,如果session量比較大並且所有的session文件都在同一個子目錄下的話,那麼可能會由此帶來很嚴重的負載問題,甚至導致網站無法使用。本文就是對這個方案做一下詳細的解說。
首先,修改 php.ini的 session.save_path 選項,大致如下:
session.save_path = "2;/tmp/php_sess"
意為把session存放在 "/tmp/php_sess"
意為把session存放在 "/tmp/php_sess" 下目錄下,並且分成 2 級子目錄,每級子目錄又分別有 16 個子目錄。
接下來,假設php的主目錄為 /usr/local/server/php/,則新建一個檔案 /usr/local/server/php/include/php/ext/session/mod_files.sh,其內容如下:
#! /bin/sh
# NAME
#      mod_files.sh  - Update of the php-source/ext/session/4_files.sh>A>o>o>o #
# DESCRIPTION
#      this script creates     (see php.ini - 'session.save_path' option)
#
#      Example: if you want php to store the session files in a 室 directories in each directory,
#      first, put the setting bellow in the php.ini file:
#
#      session.save_path = "3;/tmp/session"
#  /session'
#
#      Then, call this scrip with the following arguments:
#
#   /mpc. test "$2" = ""; then
       echo "usage: $0 basedir depth [numberofsubdirs]" 32 subdirs, if 64, 64 subdirs."
       exit 1
fi
if test "$2" = "0"; then
       exit 0 if [ ! -z $3 ] ; then
if test "$3" -a "$3" -eq "32"; then
  p q r s t u v"
  if test "$3" -eq "64"; then
   h L M N O P Q R S T U V W X Y Z - ,"
  fi
fi
fi
for i in $      mkdir $newpath || exit 1
       sh $0 $newpath `expr $2 - 1` $3
done 設定為可執行之後,執行下列指令可執行後,執行下列指令來建立雜湊目錄:shell usr/local/server/php/include/php/ext/session/
shell>#./mod_files.sh /tmp/php_sess 2 16
現在,就開始設定 NFS 共享了。假設有3台主機,ip分別為192.168.0.1(主機名稱svr1)、192.168.0.2(主機名稱svr2)、192.168.0.3(主機名稱svr3),現在讓192.168.0.1來提供NFSet /exports,加入以下:
/tmp/php_sess/ svr*(rw,no_root_squash)
然後重啟 nfs 服務,即可對另外兩台主機提供NFS共享了。
在 svr2、svr3 上執行以下命令來掛在NFS:
shell>#mkdir /tmp/php_sess
shell>#mount svr1:/tmp/php_sess /tmp/php_sess
最後,在這兩台主機上對 php.ini 增加/修改上面提到的內容,然後重啟apache即可。 

以上就介紹了伺服器連線異常即將退出請重新進入遊戲PHP實現多伺服器session共享之NFS共享的方法,包括了伺服器連線異常即將退出請重新進入遊戲方面的內容,希望對PHP教程有興趣的朋友有所幫助。

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板