其中,有一種方法就是利用NFS來共享session,如果session量比較大并且所有的session " /> 天天综合在线视频,香蕉视频久久久,免费高清在线影片一区

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP實現多服務器session共享之NFS共享的方法

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" 目錄下,并且分成 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/mod_files.sh
#
# SYNOPSIS
#      mod_files.sh basedir depth [numberofsubdirs]
#
# DESCRIPTION
#      this script creates the directories tree used by php to store the session files
#      (see php.ini - 'session.save_path' option)
#
#      Example: if you want php to store the session files in a directory tree
#      of 3 levels of depth containing 32 directories in each directory,
#      first, put the setting bellow in the php.ini file:
#
#      session.save_path = "3;/tmp/session"
#
#      Now create the basedir directory: 'mkdir /tmp/session'
#
#      Then, call this scrip with the following arguments:
#
#      ./mod_files.sh ./mod_files.sh /tmp/session 3 32

if test "$2" = ""; then
       echo "usage: $0 basedir depth [numberofsubdirs]"
       echo "numberofsubdirs: if unset, defaults to 16. if 32, 32 subdirs, if 64, 64 subdirs."
       exit 1
fi

if test "$2" = "0"; then
       exit 0
fi

hash_chars="0 1 2 3 4 5 6 7 8 9 a b c d e f"
if [ ! -z $3 ] ; then
if test "$3" -a "$3" -eq "32"; then
  hash_chars="$hash_chars g h i j k l m n o p q r s t u v"
  if test "$3" -eq "64"; then
   hash_chars="$hash_chars w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - ,"
  fi
fi
fi

for i in $hash_chars; do
       newpath="$1/$i"
       mkdir $newpath || exit 1
       sh $0 $newpath `expr $2 - 1` $3
done

設置為可執行之后,運行以下命令來創建哈希目錄:

shell>#cd /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來提供NFS共享服務,配置 /etc/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技術PHP實現多服務器session共享之NFS共享的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 一二三四视频社区在线中文 | 国产视频网 | 国产精品久久久久久久牛牛 | 91在线品视觉盛宴免费 | 久久久综合久久 | 国产成人亚洲综合欧美一部 | 国产精品亚洲一区二区三区正片 | 精品一区二区三区波多野结衣 | 美女很黄免费 | 国产极品白嫩美女在线观看看 | 1区2区3区4区产品乱码入口 | 中文字幕一区二区三区有限公司 | 黄色在线观看视频网站 | 成人午夜在线播放 | 在线国产资源 | 国产高级黄区18勿进一区二区 | 美女视频黄视大全视频免费的 | 黄色网视频 | 在线观看国产小视频 | 亚洲免费中文 | 综合久久久久综合 | 91精品国产综合久久消防器材 | 欧美激情图区 | 日韩高清一区二区 | 亚洲伊人久久大香线蕉啊 | 日本www色| 日韩在线播放中文字幕 | 亚洲一二三区视频 | 色综合一本 | 国产一区二区在线播放 | 免费在线视频一区 | 久久成人影视 | 欧洲a老妇女黄大片 | 性夜影院爽黄e爽痛轻点www | 久久精品国产99精品国产2021 | 国产伦乱| 一区二区网站 | 69国产成人综合久久精品 | 97人人模人人揉人人捏 | 欧美一区二区三区视频 | 91黄色大片|