nginx反代后端动静分离 php会话保持使用memcached
2016-05-28 21:37
609 查看
nginx调度器:
DR:172.18.11.111
]# yum -y install nginx
]# systemctl start nginx
php主机:部署phpwind程序、安装memcached
RS1:172.18.11.112
RS2:172.18.11.113
]# yum -y install php
]# systemctl start php
]# yum -y install memcached
]# yum -y install libmemcached
]# yum -y install php-pecl-memcached
配置php将会话保存至memcached中,确保如下两个参数的值:
]# vim /etc/php.ini
测试新建php页面setsess.php,为客户端设置启用session:
]# vim /var/www/html/showsess.php
]# vim /var/www/html/setsess.php
web主机:
RS3:172.18.11.11
RS4:172.18.11.12
]# yum -y install httpd
]# systemctl start httpd
在php主机中,使用nfs共享存储;
在172.18.11.112上提供共享目录:
]# yum -y install nfs-utils
]# systemctl start nfs
]# vim /etc/exports
/var/www/html 172.18.11.0/24(rw,no_root_squash)
]# exportfs -r
把phpwind解压在172.18.11.112
]# unzip /var/www/html/phpwind_UTF8_8.7.zip
]# cd /var/www/html/upload
]# chmod -R o+w attachment data html
]# mv install.php install.php.bak
在172.18.11.113、172.18.11.11/172.18.11.12上分别进行挂载共享目录:
]# showmount -e 172.18.11.112 查看可挂载共享文件
]# mount -t nfs 172.18.11.112:/var/www/html /var/www/html/
]# yum -y install mariadb-server
]# systemctl start mariadb
]# mysql
> CREATE DATABASE phpwind;
> GRANT ALL ON phpwind.* TO phpwind@'172.18.11.%' IDENTIFIED BY 'phpwind';
> FLUSH PRIVILEGES;
在DR上编辑nginx配置文件:
]# vim /etc/nginx/conf.d/default.conf
分别在RS3、4上提供web测试页;并指定根路径在/var/www/html
分别在后端各服务器上启动相应的服务;
浏览器输入:http://172.18.11.111/setsess.php
刷新多次:分别显示为:会话ID交替保持
浏览器输入:http://172.18.11.111/showsess.php
刷新多次:会话ID不断变化
测试phpwind
在浏览器输入:在浏览器输入:http://172.18.11.111/upload/index.php
点击接受
点击下一步
填入数据库相关信息,创始人信息随意填写
此时,服务搭建完毕。
总结:
前端为一台nginx调度器,负责动静分离调度到后端不同主机,后端两台web服务器负责响应静态请求,两台php服务器负责响应动态请求,并且php会话保存在memcached中,注意配置upstream server时location定义的访问的uri,而且要在http配置段定义,在server配置段调用,相关配置指令使用的位置不能写错地方,后端主机上各服务启动配置好,在数据库重建存放phpwind的相关信息,php主机共享存储使用nfs,创建共享目录并导出,在另外所有后端服务器挂载这个共享目录,否则phpwind的静态图片会显示不了,以及php使用memcached都要配置好,配置文件设置搞清楚后,就部署完成。
注意:在整个服务搭建过程中,要每做一步配置即时验证服务配置是否成功,从单机测试,到跨主机测试,分步骤测试,不要等所有服务都配置好了再测试,那样如果出现问题,不利于故障判断与排除。
DR:172.18.11.111
]# yum -y install nginx
]# systemctl start nginx
php主机:部署phpwind程序、安装memcached
RS1:172.18.11.112
RS2:172.18.11.113
]# yum -y install php
]# systemctl start php
]# yum -y install memcached
]# yum -y install libmemcached
]# yum -y install php-pecl-memcached
配置php将会话保存至memcached中,确保如下两个参数的值:
]# vim /etc/php.ini
测试新建php页面setsess.php,为客户端设置启用session:
]# vim /var/www/html/showsess.php
]# vim /var/www/html/setsess.php
web主机:
RS3:172.18.11.11
RS4:172.18.11.12
]# yum -y install httpd
]# systemctl start httpd
在php主机中,使用nfs共享存储;
在172.18.11.112上提供共享目录:
]# yum -y install nfs-utils
]# systemctl start nfs
]# vim /etc/exports
/var/www/html 172.18.11.0/24(rw,no_root_squash)
]# exportfs -r
把phpwind解压在172.18.11.112
]# unzip /var/www/html/phpwind_UTF8_8.7.zip
]# cd /var/www/html/upload
]# chmod -R o+w attachment data html
]# mv install.php install.php.bak
在172.18.11.113、172.18.11.11/172.18.11.12上分别进行挂载共享目录:
]# showmount -e 172.18.11.112 查看可挂载共享文件
]# mount -t nfs 172.18.11.112:/var/www/html /var/www/html/
]# yum -y install mariadb-server
]# systemctl start mariadb
]# mysql
> CREATE DATABASE phpwind;
> GRANT ALL ON phpwind.* TO phpwind@'172.18.11.%' IDENTIFIED BY 'phpwind';
> FLUSH PRIVILEGES;
在DR上编辑nginx配置文件:
]# vim /etc/nginx/conf.d/default.conf
分别在RS3、4上提供web测试页;并指定根路径在/var/www/html
分别在后端各服务器上启动相应的服务;
浏览器输入:http://172.18.11.111/setsess.php
刷新多次:分别显示为:会话ID交替保持
浏览器输入:http://172.18.11.111/showsess.php
刷新多次:会话ID不断变化
测试phpwind
在浏览器输入:在浏览器输入:http://172.18.11.111/upload/index.php
点击接受
点击下一步
填入数据库相关信息,创始人信息随意填写
此时,服务搭建完毕。
总结:
前端为一台nginx调度器,负责动静分离调度到后端不同主机,后端两台web服务器负责响应静态请求,两台php服务器负责响应动态请求,并且php会话保存在memcached中,注意配置upstream server时location定义的访问的uri,而且要在http配置段定义,在server配置段调用,相关配置指令使用的位置不能写错地方,后端主机上各服务启动配置好,在数据库重建存放phpwind的相关信息,php主机共享存储使用nfs,创建共享目录并导出,在另外所有后端服务器挂载这个共享目录,否则phpwind的静态图片会显示不了,以及php使用memcached都要配置好,配置文件设置搞清楚后,就部署完成。
注意:在整个服务搭建过程中,要每做一步配置即时验证服务配置是否成功,从单机测试,到跨主机测试,分步骤测试,不要等所有服务都配置好了再测试,那样如果出现问题,不利于故障判断与排除。
相关文章推荐
- nginx代理指定目录
- 访问Nginx发生SSL connection error的一种情况
- Nginx+Naxsi部署专业级Web应用防火墙
- CentOS 6.2实战部署Nginx+MySQL+PHP
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- nginx中http核心模块的配置指令4
- nginx中http的fastcgi模块的配置指令1
- Nginx 学习笔记(一)
- 网站502与504错误分析
- 用zabbix监控nginx_status状态
- 艰难完成 nginx + puma 部署 rails 4的详细记录
- 把Lua编译进nginx步骤方法
- web 应用中常用的各种 cache详解
- Linux系统上配置Nginx+Ruby on Rails+MySQL超攻略
- window+nginx+php环境配置 附配置搭配说明
- 解析CI即CodeIgniter框架在Nginx下的重写规则
- 将PHP从5.3.28升级到5.3.29时Nginx出现502错误
- 基于Nginx0.8.54+PHP5.3.4+MySQL5.5.8的全新LNMP稳定版架构搭建的VPS