keepalived+php,nginx+keepalived+php+memcached+repcached

本文档详细介绍了如何在两台服务器上部署高可用的Nginx+PHP+Memcached环境,并通过Keepalived实现VIP漂移。首先分别在两台服务器上安装Nginx、PHP、Memcached和相关扩展,然后配置Nginx以支持PHP处理和Memcached会话存储。接着,安装并配置Keepalived以在两台服务器间进行负载均衡和故障切换,确保服务的高可用性。
摘要由CSDN通过智能技术生成

部署准备:

VIP1      192.168.1.9

VIP2      192.168.1.10

Nginx1     192.168.1.11     nginx php keepalived memcached repcached

Nginx2     192.168.1.12     nginx php keepalived memcached repcached

一、部署nginx1

1.安装nginx

yum -y installpcre-devel zlib-devel openssl-devel

useradd -M -s/sbin/nologin nginx

tar xfnginx-1.6.2.tar.gz

cd nginx-1.6.2

./configure--prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio--with-http_stub_status_module --with-http_ssl_module --with-http_flv_module--with-http_gzip_static_module && make && make install

启动nginx

ln -s/usr/local/nginx/sbin/nginx /usr/local/sbin/

nginx

2.安装php

tar xfphp-5.3.28.tar.gz

cd php-5.3.28

./configure--prefix=/usr/local/php --with-openssl --enable-fpm --enable-sockets --enable-sysvshm  --enable-xml --with-config-file-path=/etc && make && make install

cp/usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

启动php-fpm

cd /usr/local/php/

sbin/php-fpm

如果启动报错:

[root@localhostphp]# sbin/php-fpm

[01-Dec-201600:41:54] ALERT: [pool www] pm.min_spare_servers(0) must be a positive value

[01-Dec-201600:41:54] ERROR: failed to post process the configuration

排错方法:

vim /usr/local/php/etc/php-fpm.conf

把以下几项的注释去掉

pm.start_servers=20

pm.min_spare_servers=5

pm.max_spare_servers=35

如下为启动成功

[root@CentOS6-node1~]# netstat -antp |grep php-fpm

tcp        0     0 127.0.0.1:9000             0.0.0.0:*                   LISTEN      6337/php-fpm

3.整合nginx、php

修改nginx.conf以支持php

vim /usr/local/nginx/conf/nginx.conf

添加以下红色部分:

server {

listen 80;

server_name localhost;

location / {

root   html;

index index.html index.html;

location ~ \.php$ {

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param SCRIPT_FILENAME  /$document_root$fastcgi_script_name;

include        fastcgi_params;

}

}

创建php测试页

cd /usr/local/nginx/html/

vim index.php

phpinfo();

?>

重启nginx

killall -9 nginx

nginx

验证:

f377f47864f5affd717b7f2b8b39cf5d.png

Nginx与php整合成功

4.安装memcached

yum -y install gccopenssl-devel pcre-devel zlib-devel

tar xflibevent-2.0.15-stable.tar.gz

cd libevent-2.0.15-stable

./configure--prefix=/usr/local/libevent && make && make install

tar xfmemcached-1.4.5.tar.gz

cd memcached-1.4.5

./configure--prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/ &&make && make install

vim /etc/ld.so.conf

加入红色内容:

include ld.so.conf.d/*.conf

/usr/local/libevent/lib/

ldconfig

/usr/local/memcached/bin/memcached -u root -m 512M -n 10 -f 2 -d -vvv -c 512

选项:

-h       #查看帮助信息

-p       #指定memcached监听的端口号默认11211

-l       #memcached服务器的ip地址

-u       #memcached程序运行时使用的用户身份必须是root用户

-m     #指定使用本机的多少物理内存存数据默认64M

-c      #memcached服务的最大链接数

-vvv  #显示详细信息

-n       #chunk size的最小空间是多少单位字节

-f      #chunk size大小增长的倍数默认1.25倍

-d       #在后台启动

检测memcached是否启动:

netstat  -antp| grep :11211

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

测试memcached能否存取数据

yum -y installtelnet

telnet 192.168.1.11 11211

set username 0 08

zhangsan

STORED

get username

VALUE username 0 8

zhangsan

END

quit

Connection closedby foreign host.

Memcached安装成功

5.整合php、memcached

安装php支持memcached模块

需要安装libmemcached客户端库,php的扩展memcached模块,因为该扩展是依赖libmemcached的API

安装libmemcached客户端库

tar xflibmemcached-1.0.18.tar.gz

cd libmemcached-1.0.18

./configure-prefix=/usr/local/libmemcached -with-memcached && make && makeinstall

安装php的扩展memcached模块

tar xfmemcached-2.2.0.tgz

cd memcached-2.2.0

/usr/local/php/bin/phpize   //先使用phpize命令生成一个configure文件

./configure-enable-memcached -with-php-config=/usr/local/php/bin/php-config -with-zlib-dir-with-libmemcached-dir=/usr/local/libmemcached -prefix=/usr/local/phpmemcached--disable-memcached-sasl

make &&make install

记录下安装成功后的提示,类似于:

Installing sharedextensions:    /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

cp /root/php-5.3.28/php.ini-development/etc/php.ini  //在编译安装php时指定配置文件的路径是/etc下

增加扩展extension配置文件

vim /etc/php.ini

添加以下内容:

822 extension_dir ="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"

823 extension = "memcached.so"

重启php-fpm:

killall -9 php-fpm

/usr/local/php/sbin/php-fpm

执行php –m命令查看是否加载了memcached模块

/usr/local/php/bin/php–m

3a5cf660772b0885ab8aeb6bc72ad078.png

建立测试页面:

vim /usr/local/nginx/html/memcached.php

session_start();

if(!isset($_SESSION['test'])){

$_SESSION['test']= time();

}

print$_SESSION['test'];

print"
";

print"SessionID: " . session_id();

?>

9f03018724d6a4d3cbdb480b8f0eba2f.png

单台nginx+php+memcached存储session信息完成

二、部署nginx2

Nginx2与Nginx1做相同操作

332b557b0bedf6be85889eaf05fc9f47.png

三、分别在nginx1和nginx2上安装keepalived实现高可用

在两台nginx上做以下相同操作:

yum -y installkernel-devel openssl-devel

tar xfkeepalived-1.2.13.tar.gz

cd keepalived-1.2.13

./configure--prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-504.el6.x86_64/ &&make && make install

chkconfig --addkeepalived

chkconfig keepalived on

chkconfig --list keepalived

修改nginx1上的keepalived配置文件

vim /etc/keepalived/keepalived.conf

!Configuration File for keepalived

global_defs{

notification_email {

crushlinux@163.com

}

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_instanceVI_1 {

state BACKUP

interface eth0

virtual_router_id 51

priority 50

advert_int 1

authentication {

auth_type PASS

auth_pass 123

}

virtual_ipaddress {

192.168.1.9

}

}

vrrp_instanceVI_2 {

state MASTER

interface eth0

virtual_router_id 52

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 123

}

virtual_ipaddress {

192.168.1.10

}

}

修改nginx2上的keepalived配置文件

vim /etc/keepalived/keepalived.conf

!Configuration File for keepalived

global_defs{

notification_email {

crushlinux@163.com

}

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_instanceVI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 123

}

virtual_ipaddress {

192.168.1.9

}

}

vrrp_instanceVI_2 {

state BACKUP

interface eth0

virtual_router_id 52

priority 50

advert_int 1

authentication {

auth_type PASS

auth_pass 123

}

virtual_ipaddress {

192.168.1.10

}

}

分别启动nginx1和nginx2的keepalived服务

service keepalived start

nginx1的VIP地址为192.168.1.10

nginx2的VIP地址为192.168.1.9

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值