zoukankan      html  css  js  c++  java
  • centos7.2 环境下配置 Apache2.4 +PHP5.6+Redis+Supervisord

    一、升级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 estart}

    五、安装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

  • 相关阅读:
    java
    java
    java
    java
    java
    java
    java
    java
    sed命令的用法
    linux系统产生随机数的6种方法
  • 原文地址:https://www.cnblogs.com/cnbing/p/6962785.html
Copyright © 2011-2022 走看看