700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 服务器连接异常即将退出请重新进入游戏 PHP实现多服务器session共享之NFS共享办法

服务器连接异常即将退出请重新进入游戏 PHP实现多服务器session共享之NFS共享办法

时间:2024-03-25 01:59:12

相关推荐

服务器连接异常即将退出请重新进入游戏 PHP实现多服务器session共享之NFS共享办法

后端开发|php教程

服务器连接异常即将退出请重新进入游戏

后端开发-php教程

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即可。

手机端 多图上传 源码,锐捷阻止ubuntu,tomcat关闭c3po,r语言爬虫脚本,如何给自己前端搭个php后台,cdn 影响seolzw

以上就介绍了服务器连接异常即将退出请重新进入游戏 PHP实现多服务器session共享之NFS共享的方法,包括了服务器连接异常即将退出请重新进入游戏方面的内容,希望对PHP教学有兴趣的朋友有所帮助。

百度网盘 网站源码,ubuntu 设置登录密码,爬虫ip怎样解封,宜宾php,seo规划网页lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。