keepalived+php,Nginx+PHP+Keepalived环境搭建说明文档

1、安装PHP程序

1.1、PHP程序依赖包安装

yum -y install curl curl-devel tcl* libxml2-devel

gd gd-devel gmp-devel libjpeg* libpng freetype libjpeg-devel

libpng-devel freetype-devel libmcrypt

libmcrypt-dev bzip2 bzip2-devel libevent-devel

cp /usr/lib64/libjpeg.so /usr/lib/

1.2、解压源码包程序

cd /usr/local/src

tar zxvf php-5.3.3.tar.gz

tar zxvf gd-2.0.36RC1.tar.gz

wget

ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz

tar zxvf libmcrypt-2.5.7.tar.gz

1.3、编译安装gd-2.0.36RC1程序

cd gd-2.0.36RC1

./configure --prefix=/usr/local/libgd --with-png

--with-freetype --with-jpeg && make && make

install

1.4、编译安装libmcrypt-2.5.7程序

cd /usr/local/src/libmcrypt-2.5.7

./configure && make && make

install

1.5、编译安装php-5.3.3程序

./configure --prefix=/usr/local/php \

--with-config-file-path=/usr/local/php/etc

\

--with-mysql=mysqlnd

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd --enable-fpm

--with-mcrypt= \

--with-libxml-dir= --enable-mbstring --with-curl \

--with-gmp= --enable-soap

--enable-inline-optimization \

--with-bz2 --with-zlib --enable-sockets

--enable-sysvsem \

--enable-sysvshm --enable-sysvmsg --enable-pcntl

\

--enable-mbregex --with-mhash --enable-bcmath

\

--enable-zip --with-pcre-regex

--with-gd=/usr/local/libgd/ \

--enable-gd-native-ttf --with-jpeg-dir

--with-png-dir \

--with-freetype-dir && make &&

make install

1.6、配置PHP文件和环境变量

cp php.ini-development

/usr/local/php/etc/php.ini

cd /usr/local/php/etc

cp php-fpm.conf.default

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

echo "export

PATH=\$PATH:/usr/local/php/bin:/usr/local/php/sbin" >

/etc/profile.d/php.sh

source /etc/profile.d/php.sh

2.安装Nginx服务程序

2.1、Nginx依赖包安装

yum -y install pcre pcre-devel zlib* openssl-devel

lua*

2.2、Nginx源码编译安装

cd /usr/local/src/

tar zxvf tengine-1.5.2.tar.gz

cd tengine-1.5.2

./configure --prefix=/usr/local/nginx --with-http_ssl_module

\

--with-pcre --with-http_gzip_static_module --with-file-aio

\

--with-http_stub_status_module \

--add-module=/usr/local/src/simpl-ngx_devel_kit-4192ba6/

\

--add-module=/usr/local/src/set-misc-nginx-module-master/

\

--add-module=/usr/local/src/redis2-nginx-module-master/

\

--add-module=/usr/local/src/chaoslawful-lua-nginx-module-e607b63/

\

--add-module=/usr/local/src/echo-nginx-module-master/

\

--add-module=/usr/local/src/nginx-http-concat-master/

\

--add-module=/usr/local/src/nginx-push-stream-module-master

\

--with-http_realip_module && make

&& make install

3.安装php_hidef程序

3.1、程序包下载

wget

http://pecl.php.net/get/hidef-0.1.8.tgz

3.2、源码编译安装

tar zxvf hidef-0.1.8.tgz

cd hidef-0.1.8

/usr/local/php/bin/phpize

./configure --enable-hidef

--with-php-config=/usr/local/php/bin/php-config &&make

&& make install

3.3、配置文件修改

4.安装git程序

yum -y install git

cd /usr/local/src

git clone

https://github.com/redis/hiredis.git

git clone

https://github.com/nrk/phpiredis.git

4.1、源码编译安装

cd hiredis && make && make

install

cd /usr/local/src/phpiredis

/usr/local/php/bin/phpize

./configure --enable-phpiredis

--with-hiredis-dir=/usr/local

--with-php-config=/usr/local/php/bin/php-config && make

&& make install

4.2、配置文件修改

sed -i

'/extension=msql.so/aextension=phpiredis.so'

/usr/local/php/etc/php.ini

5.1、安装包程序下载

cd /usr/local/src

wget

http://pecl.php.net/get/redis-2.2.5.tgz

5.2、源码编译安装

tar zxvf redis-2.2.5.tgz

cd redis-2.2.5 && phpize

./configure

--with-php-config=/usr/local/php/bin/php-config&& make

&& make install

5.3、配置文件修改

sed -i '/extension=msql.so/aextension=redis.so'

/usr/local/php/etc/php.ini

useradd -d /web -s /sbin/nologin www

cd /usr/local/php/etc

sed -i 's/user = nobody/user = www/g'

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

sed -i 's/group = nobody/group = www/g'

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

sed -i 's/pm.max_children = 50/pm.max_children =

600/g' /usr/local/php/etc/php-fpm.conf

sed -i 's/;pm.start_servers = 20/pm.start_servers

= 500/g' /usr/local/php/etc/php-fpm.conf

sed -i 's/;pm.min_spare_servers =

5/pm.min_spare_servers = 400/g'

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

sed -i 's/;pm.max_spare_servers =

35/pm.max_spare_servers = 600/g'

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

sed -i 's/;pm.max_requests = 500/pm.max_requests =

2000/g' /usr/local/php/etc/php-fpm.conf

sed -i 's/;pid =

\/usr\/local\/php\/var\/run\/php-fpm.pid/pid =

\/usr\/local\/php\/var\/run\/php-fpm.pid/g'

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

7.设置PHP和Nginx启动脚本

7.1、设置PHP程序启动脚本说明

7.1.1、将下面php-fpm脚本复制到/etc/init.d/并命名为php-fpm

#!/bin/bash

#

#

php-fpm.sh  This shell this use to  crontal

php-fpm.

#

# Source

function library.

.

/etc/rc.d/init.d/functions

# Source

networking configuration.

.

/etc/sysconfig/network

# Check

that networking is up.

[

"$NETWORKING" = "no" ] && exit 0

prefix=/usr/local/php

exec_prefix=${prefix}

php_fpm_BIN=${exec_prefix}/sbin/php-fpm

php_fpm_CONF=${prefix}/etc/php-fpm.conf

php_fpm_PID=${prefix}/var/run/php-fpm.pid

php_fpm_name=$(basename

${php_fpm_BIN})

lockfile=/var/lock/subsys/php-fpm

function

start(){

echo -n "start php-fpm

..."

[ -x $php_fpm ] || echo

"php-fpm no permit"

daemon

${php_fpm_BIN}

RETVAL=$?

[ $RETVAL -eq 0 ] &&

touch $lockfile

echo

return $RETVAL

}

function

stop(){

echo -n "stop

php-fpm..."

killproc

${php_fpm_name}

RETVAL=$?

[ $RETVAL -eq 0 ] &&

(rm -f $lockfile ;  rm -f

${php_fpm_PID})

echo

return $RETVAL

}

function

restart(){

stop

start

}

function

checkconfig(){

echo "checking php-fpm config

..."

${php_fpm_BIN} -t

}

function

reload(){

echo

"reload the php-fpm config..."

killproc ${php_fpm_name}

-HUP

RETVAL=$?

return $RETVAL

}

function

_ngstatus(){

status -p ${php_fpm_PID}

${php_fpm_name}

}

function

showhelp(){

echo "Usage:

/etc/init.d/php-fpm.sh

{start|stop|restart|status|checkconfig|reload}"

}

case $1

in

start)

start

;;

stop)

stop

;;

restart)

restart

;;

reload)

reload

;;

status)

_ngstatus

;;

checkconfig)

checkconfig

;;

*)

showhelp

;;

esa

11.1.2、赋予/etc/init.d/php-fpm执行权限

chmod +x /etc/init.d/php-fpm

11.1.3、设置php-fpm开机启动

vim /etc/rc.local

/etc/init.d/php-fpm start

11.1.4、修改php-fpm.conf将pid注释去掉,修改为你的对应地址

pid = /usr/local/webserver/php/var/run/php-fpm.pid

11.1.5、 然后就可以通过

/etc/init.d/php-fpm start|restart|stop|reload

7.2、设置Nginx启动脚本

7.2.1将下面的nginx脚本拷贝到/etc/init.d/路径下并命名为nginx

#!/bin/bash

#

# nginx.sh  This shell this use to

crontal nginx.

#

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0

NGINX_HOME=/usr/local/nginx

NGNIX_CONF=${NGINX_HOME}/conf/nginx.conf

NGINX_PID_FILE=${NGINX_HOME}/nginx.pid

NGINX_BIN=${NGINX_HOME}/sbin/nginx

NGINX_NAME=$(basename ${NGINX_BIN})

lockfile=/var/lock/subsys/nginx

function start(){

echo -n "start Nginx ..."

[ -x $nginx ] || echo "Nginx

no permit"

daemon ${NGINX_BIN}

RETVAL=$?

[ $RETVAL -eq 0 ] &&

touch $lockfile

echo

return $RETVAL

}

function stop(){

echo -n "stop Nginx..."

killproc $NGINX_NAME

RETVAL=$?

[ $RETVAL -eq 0 ] &&

(rm -f $lockfile ;  rm -f ${NGINX_PID_FILE})

echo

return $RETVAL

}

function restart(){

stop

start

}

function checkconfig(){

echo "checking Nginx config

..."

${NGINX_BIN} -t

}

function reload(){

echo

"reload the Nginx config..."

killproc ${NGINX_NAME}

-HUP

RETVAL=$?

return $RETVAL

}

function _ngstatus(){

status -p ${NGINX_PID_FILE}

${NGINX_NAME}

}

function showhelp(){

echo "Usage:

/etc/init.d/nginx.sh

{start|stop|restart|status|checkconfig|reload}"

}

case $1 in

start)

start

;;

stop)

stop

;;

restart)

restart

;;

reload)

reload

;;

status)

_ngstatus

;;

checkconfig)

checkconfig

;;

*)

showhelp

;;

esac

7.2.2、赋予/etc/init.d/nginx文件执行权限

chmod +x /etc/init.d/nginx

7.2.3、设置nginx开机启动

vim /etc/rc.local/

/etc/init.d/nginx start

7.2.4、然后进行验证

service nginx start|stop|restart|reload

当然这样也可以

/etc/init.d/nginx start|restart|stop|reload

8、Nginx配置环境变量

8.1、配置Nginx和PHP程序的环境变量

在/etc/profile中export PATH USER LOGNAME MAIL上面添加如下信息:

vim /etc/profile

export

PATH="$PATH:/usr/local/nginx/sbin"

9、Keepalived安装说明

9.1、安装包下载

yum -y install openssl-devel openssl popt-devel

popt

cd /usr/local/src/

9.2、源码编译安装

tar -zxvf keepalived-1.2.6.tar.gz

cd keepalived-1.2.6

./configure --prefix=/usr/local/keepalived

--with-kernel-dir=/usr/src/kernels/内核版本

&& make && make install

9.3、创建服务启动脚本

cp

/usr/local/keepalived/etc/rc.d/init.d/keepalived

/etc/init.d/keepalived

chmod +x /etc/init.d/keepalived

9.5、修改启动脚本相对路径

vim /etc/init.d/keepalived

/etc/sysconfig/keepalived, 修改为:. /usr/local/keepalived/etc/sysconfig/keepalived即指向正确的文件位置

并在启动脚本中添加如下环境变量

PATH="$PATH:/usr/local/keepalived/sbin"

export PATH

9.6、修改启动脚本参数路径

vim

/usr/local/keepalived/etc/sysconfig/keepalived

修改如下服务启动参数

把KEEPALIVED_OPTIONS="-D"

KEEPALIVED_OPTIONS="-D -f

/etc/keepalived/keepalived.conf"

9.7、创建目录文件

mkdir

/etc/keepalived

cp

/usr/local/keepalived/etc/keepalived/keepalived.conf

/etc/keepalived/

9.8、复制执行文件到指定目录下

cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

9.9、启动服务程序

service keepalived restart

9.10、设置服务开机启动

chkconfig keepalived on

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值