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

1、升級YUM源php

yum -y updatepython

2、安裝Apachemysql

查看yum中Apache的版本
yum list httpd #確認版本爲2.4版本web

安裝:
yum install httpd -yredis


自動安裝結束:sql

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

使用啓用/禁用服務來控制開機啓動centos

systemctl enable httpd.service
systemctl disable httpd.servicephp-fpm

3、安裝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

4、安裝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}

 

5、安裝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

相關文章
相關標籤/搜索