您的位置:首页 > 数据库 > Redis

centos7.2 环境下配置 Apache2.4 +PHP5.6+Redis+Supervisord

2017-06-08 14:53 567 查看
一、升级YUM源

yum -y update

二、安装Apache

查看yum中Apache的版本
yum list httpd #确认版本为2.4版本

安装:
yum install httpd -y

自动安装结束:

systemctl stop httpd.service
systemctl start httpd.service
systemctl restart httpd.service

使用启用/禁用服务来控制开机启动

systemctl enable httpd.service
systemctl disable httpd.service

三、安装PHP

1.安装epel-release #有些第三方软件源需要 EPEL 的'epel-testing'源来安装依赖组件

yum install epel-release

2.添加yum仓
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
3.执行安装php

yum install -y --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-fpm

4.其他

php-fpm配置文件在: /etc/php-fpm.conf 和 /etc/php-fpm.d/www.conf
重启php-fpm命令: systemctl restart php-fpm

四、安装REDIS

1.安装tcl #按照所查资料分析,tcl测试工具,在centos十分方便

yum -y install tcl

2.进入/usr/local/src 目录并下载redis #目录随意

wget http://download.redis.io/releases/redis-3.2.8.tar.gz
3.解压并进入解压后文件夹

tar zxvf redis-3.2.8.tar.gz

cd redis-3.2.8

4.编译

make

make PREFIX=/usr/local/redis install #/usr/local/redis目录为我创建的存放redis的目录

5.测试redis(可省略)

cd src #进入解压包的src目录

make test #执行测试命令

正常测试之后最后的结果显示为:\o/ All tests passed without errors!

6.配置conf文件

之前我们已经为redis 创建了一个目录 /usr/local/redis,现在在此文件夹中在创建一个目录etc用来存放配置文件

mkdir -p /usr/local/redis/etc

进入redis解压目录把redis.conf 文件复制到 /usr/local/redis/etc/下面

cd /usr/local/src/redis-3.2.8

cp redis.conf /usr/local/redis/etc/

复制好配置文件后,我这里对配置文件编辑了两处

vim /usr/local/redis/etc/redis.conf

daemonize yes #redis将以守护进程的方式运行,默认为no会暂用你的终端
timeout 300 #当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能

7.创建启动脚本

拷贝解压包下utils下redis启动脚本redis_init_script 至 /etc/init.d/下面并命名为redis

cp /usr/local/src/redis-3.2.8/utils/redis_init_script /etc/init.d/redis

修改redis修改脚本pid及conf路径为实际路径

vim /etc/init.d/redis

我修改的参数如下:

REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/etc/redis.conf"

wq! 保存\退出

给启动脚本添加权限

chmod +x /etc/init.d/redis #相应的删除权限命令是 chmod –x /etc/init.d/redis

设置自启动

chkconfig redis on

设置自启动运行报错,请在etc/init.d/redis文件中添加启动优先级信息,

vim /etc/init.d/redis
内容如下:
--------------------------------
# chkconfig:2345 90 10
--------------------------------

再次执行chkconfig redis on,成功

校验启动命令:service redis stop{start\restart}

五、安装Supervisord

使用Setuptools快速安装

yum install python-setuptools

easy_install pip

pip install supervisor

如果提示版本过低执行
pip install --upgrade pip

生成必要的配置文件

echo_supervisord_conf > supervisord.conf

将配置文件统一放在/etc下

cp supervisord.conf /etc/supervisord.conf

新建一个配置文件夹以分离加载配置

mkdir /etc/supervisord.d/

修改配置文件

vi /etc/supervisord.conf

修改内容(开启web管理)

[inet_http_server]
port=0.0.0.0:9001
username=user
password=123

并加入以下配置信息

[include]
files = /etc/supervisord.d/*.conf

创建启动脚本
vi /etc/init.d/supervisord

内容如下:

#!/bin/sh
#
# /etc/init.d/supervisord
#
# Supervisor is a client/server system that
# allows its users to monitor and control a
# number of processes on UNIX-like operating
# systems.
#
# chkconfig: - 64 36
# description: Supervisor Server
# processname: supervisord

# Source init functions
. /etc/rc.d/init.d/functions

prog="supervisord"

prefix="/usr/local"
exec_prefix="${prefix}"
prog_bin="${exec_prefix}/bin/supervisord"
PIDFILE="/var/run/$prog.pid"

start()
{
echo -n $"Starting $prog: "
daemon $prog_bin -c /etc/supervisord.conf --pidfile $PIDFILE
[ -f $PIDFILE ] && success $"$prog startup" || failure $"$prog startup"
echo
}

stop()
{
echo -n $"Shutting down $prog: "
[ -f $PIDFILE ] && killproc $prog || success $"$prog shutdown"
echo
}

case "$1" in

start)
start
;;

stop)
stop
;;

status)
status $prog
;;

restart)
stop
start
;;

*)
echo "Usage: $0 {start|stop|restart|status}"
;;

esac


对脚本加入启动项

chmod +x /etc/init.d/supervisord
chkconfig --add supervisord
chkconfig supervisord on
service supervisord start

创建一个被守护的进程tail

vim /etc/supervisord.d/tail.conf

内容
----------------------------------------------------------------------
[program:x] # x是一个程序的名字
command = php /var/www/web1/index.php #此处写入一个需要守护执行的命令行
autostart = true #跟随Supervisor启动
autorestart = true #开启守护,进程意外kill等情况下自动重启进程
startretries= 3 #尝试启动次数
stdout_logfile=/var/log/out.log #控制台标准输出写入日志
stderr_logfile=/var/log/err.log #控制台错误输出写入日志
-------------------------------------------------------------------------

然后重启服务看看守护效果

supervisord -c /etc/supervisord.conf

/etc/init.d/supervisord restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: