日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php java session共享_PHP实现session共享

發布時間:2023/12/20 php 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php java session共享_PHP实现session共享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

確認實驗環境:

proxy:

# nginx

# systemctl start memcached

# ss -ntulp | grep 80 #這個80端口是nginx

# ss -ntulp | grep 11211 #memcached

web1和web2:

# nginx

# systemctl start php-fpm

# systemctl start mariadb

# ss -ntulp | grep 80 #這個80端口是nginx

# ss -ntulp | grep 9000 #php-fpm

# ss -ntulp | grep 3306 #mariadb

/usr/local/nginx/html/有php測試頁面

##############################################################################

PHP實現session共享

通過修改PHP-FPM配置文件,實現session會話共享,本案例需要在練習三的基礎上實現:

配置PHP使用memcached服務器共享Session信息

客戶端訪問兩臺不同的后端Web服務器時,Session 信息一致

Nginx服務器除了承擔調度器外,還需要擔任memcached數據庫的角色,并在兩臺后端LNMP服務器上實現PHP的session會話共享。

步驟

步驟一:構建memcached服務

1)安裝Memcached服務(如果192.168.4.5上已經有本軟件包,此步驟可以忽略)

# yum -y install memcached

2)啟動服務并查看網絡連接狀態驗證是否開啟成功:

[root@proxy ~]# systemctl restart memcached

[root@proxy ~]# netstat -anptu | grep memcached

tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 2839/memcached

tcp 0 0 :::11211 :::* LISTEN 2839/memcached

udp 0 0 0.0.0.0:11211 0.0.0.0:* 2839/memcached

udp 0 0 :::11211 :::* 2839/memcached

3)關閉SELinux、防火墻

[root@proxy ~]# setenforce 0

[root@proxy ~]# firewall-cmd --set-default-zone=trusted

------------------------------------------------------------------------

步驟二:在后端LNMP服務器上部署Session共享

注意:這些操作在兩臺后端Web服務器上均需要執行,以下操作以Web1(192.168.2.100)服務器為例。

1)為PHP添加memcache擴展

注意,因為后端兩臺web服務器(web1,web2)都需要連接memcached數據庫,所以兩臺主機都需要安裝PHP擴展模塊(下面也web1為例)。

# yum -y install php-pecl-memcache

---------------------------------------------------------------------------

2)修改PHP-FPM配置文件,并重啟服務

注意,因為后端兩臺web服務器(web1,web2)都需要修改配置文件(下面也web1為例)。

web1和web2:

# vim /etc/php-fpm.d/www.conf

只修改最后2行,=號后面的東西。修改該配置文件的兩個參數。文件的最后2行

修改前效果如下:

php_value[session.save_handler] = files

php_value[session.save_path] = /var/lib/php/session

#原始文件,默認定義Sessoin會話信息本地計算機(默認在/var/lib/php/session)

---------------------------------------------------------------------------

修改后:

php_value[session.save_handler] = memcache

php_value[session.save_path] = "tcp://192.168.2.5:11211"

#定義Session信息存儲在公共的memcached服務器上,主機參數中為memcache(沒有d)

#通過path參數定義公共的memcached服務器在哪(服務器的IP和端口)

# systemctl restart php-fpm #修改了php-fpm的配置文件之后,要記得重啟服務,更新配置。

-----------------------------------------------------------------------------

客戶端測試

# cd /var/lib/php/session/

[root@web1 session]# ls

sess_82eih6htk9covescqipqcl0bm2 sess_vbkvabefoge01usta9ffueq2l2

[root@web1 session]# rm -rf *

然后用谷歌瀏覽器訪問會比較快,要先清空瀏覽器緩存(點擊右上角3個點---歷史記錄--歷史記錄---左上角3橫線---清除瀏覽數據

192.168.4.5/index.php

隨便輸入帳號和密碼,進入登陸后的頁面,此時瀏覽器地址欄會變成http://192.168.4.5/home.php,會發現只用登陸一次就能成功,并且刷新的話,還可以看到背景顏色會變,說明是2臺不同的服務器提供的頁面。調度成功!然后復制它顯示的ID號

它的頁面顯示如下

Welcome : lisi #用戶名

Logged In : true #狀態:已登陸

Session ID: 66l1icju956elo4fve2ipmpa65 #用戶ID

proxy:

# telnet 192.168.2.5 11211

登陸后頁面如下:

Trying 192.168.2.5...

Connected to 192.168.2.5.

Escape character is '^]'.

get 66l1icju956elo4fve2ipmpa65 #輸入內容查詢數據是否存在,用get 剛才復制的ID號

搜索的結果如下:

VALUE 66l1icju956elo4fve2ipmpa65 0 78

login_user|s:2:"yy";logged_in|s:4:"true";id|s:26:"66l1icju956elo4fve2ipmpa65";

END

總結

以上是生活随笔為你收集整理的php java session共享_PHP实现session共享的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。