设为首页 收藏本站
查看: 919|回复: 0

[经验分享] ubuntu中设置php7.0-fpm开机自启动

[复制链接]

尚未签到

发表于 2017-11-23 06:27:31 | 显示全部楼层 |阅读模式
  1.编写/etc/init/php7.0-fpm脚本如下
  sudo vim /etc/init/php7.0-fpm
  #!/bin/sh
### BEGIN INIT INFO
# Provides:          php7.0-fpm
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts php7.0-fpm
# Description:       Starts The PHP FastCGI Process Manager Daemon
### END INIT INFO
  # Author: Ondrej Sury <ondrej@debian.org>
  PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="PHP 7.0 FastCGI Process Manager"
NAME=php-fpm7.0
CONFFILE=/etc/php/7.0/fpm/php-fpm.conf  (此处要填写自己的配置文件)
DAEMON=/usr/sbin/$NAME  (填写自己的php-fpm7.0二进制文件路径)
DAEMON_ARGS="--daemonize --fpm-config $CONFFILE"
CONF_PIDFILE=$(sed -n 's/^pid[ =]*//p' $CONFFILE)
PIDFILE=${CONF_PIDFILE:-/run/php/php7.0-fpm.pid}
TIMEOUT=30
SCRIPTNAME=/etc/init.d/$NAME
  # Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
  # Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
  # Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
  # Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
  #
# Function that starts the daemon/service
#
do_start()
{
# Return
#   0 if daemon has been started
#   1 if daemon was already running
#   2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS 2>/dev/null \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one.  As a last resort, sleep for some time.
}
  #
# Function that stops the daemon/service
#
do_stop()
{
# Return
#   0 if daemon has been stopped
#   1 if daemon was already stopped
#   2 if daemon could not be stopped
#   other if a failure occurred
start-stop-daemon --stop --quiet --retry=QUIT/$TIMEOUT/TERM/5/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently.  A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/TERM/5/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
  #
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal USR2 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
  do_tmpfiles() {
    local type path mode user group
[ "$1" != no ] && V=-v
   
    TMPFILES=/usr/lib/tmpfiles.d/php7.0-fpm.conf

  if [ -r "$TMPFILES" ]; then
while read type path mode user group age argument; do
    if [ "$type" = "d" ]; then
mkdir $V -p "$path"
chmod $V "$mode" "$path"
chown $V "$user:$group" "$path"
    fi
done < "$TMPFILES"
    fi
}
  case "$1" in
    start)
if init_is_upstart; then
    exit 1
fi
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_tmpfiles $VERBOSE
case "$?" in
    0)
do_start
case "$?" in
    0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
    2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
    1) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
    stop)
if init_is_upstart; then
    exit 0
fi
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
    status)
        status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
        ;;
    reload|force-reload)
if init_is_upstart; then
    exit 1
fi
    log_daemon_msg "Reloading $DESC" "$NAME"
do_reload
log_end_msg $?
;;
    reopen-logs)
log_daemon_msg "Reopening $DESC logs" $NAME
if start-stop-daemon --stop --signal USR1 --oknodo --quiet \
    --pidfile $PIDFILE --exec $DAEMON
then
    log_end_msg 0
else
    log_end_msg 1
fi
;;
    restart)
if init_is_upstart; then
    exit 1
fi
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
  0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
  *)
  # Failed to stop
log_end_msg 1
;;
esac
;;
    *)
echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2
exit 1
    ;;
esac
  :
  2.添加可执行权限
  sudo chmod +x /etc/init.d/php7.0-fpm
  3.添加到开机自启动

sudo chkconfig --add php-fpm
sudo chkconfig php-fpm on

4.使用以下命令验证刚才脚本的有效性:

sudo service php7.0-fpm start
sudo service php7.0-fpm stop
sudo service php7.0-fpm reload

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409706-1-1.html 上篇帖子: Linux系统概述与安装 下篇帖子: MDNS的漏洞报告——mdns的最大问题是允许广域网的mdns单播查询,这会暴露设备信息,或者被利用用于dns放大攻击
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表