ubuntu中设置php7.0-fpm开机自启动

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 <[email protected]>

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

时间: 2024-10-22 18:58:50

ubuntu中设置php7.0-fpm开机自启动的相关文章

Ubuntu 设置系统环境变量和开机自启动

Ubuntu 设置系统环境变量和开机自启动 Ubuntu系统环境变量详解 参考这篇文章,讲的非常详细 开机自启动 在Linux下设置软件开机自动有三种方式: 1. 自动启动应用程序--rc.local脚本 2. 自动启动服务--update-rc.d 3. 启动应用程序首选项 3. 使用Systemd 下面来逐一界面这三种方式: 一.自动启动应用程序--rc.local脚本 rc.local脚本是一个Ubuntu开机后会自动执行的脚本,在该脚本内添加命令行,开机时会自动执行. 脚本路径/etc/

Ubuntu中设置静态IP和DNS(转载)

原文地址:http://blog.sina.com.cn/s/blog_669421480102v3bb.html VMware 中使用网络,对虚拟机设置静态IP: 在Ubuntu中设置静态IP共两步:1>设置IP:2>设置DNS 1>设置IP    编辑 /etc/network/interface文件:       sudo vi /etc/network/interface auto eth0    iface eth0 inet static              //  指

在Ubuntu中设置DNS域名服务器端

在Ubuntu中设置DNS域名服务器主要有四种方法: 一.设置全局静态DNS $ sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的),插入: nameserver x.x.x.xnameserver y.y.y.y 如果有多个DNS就一行一个,修改好保存,然后执行 $ sudo resolvconf -u 再看/etc/resolv.conf,最下面就多了2行: $ cat /etc/resolv.conf # Dynamic resolv

[分享]Ubuntu 中设置源的几种方法

Ubuntu里的许多应用程序软件包,是放在网络里的服务器上,这些服务器网站,就称作“源”,从源里可以很方便地获取软件包, 下面的方法选一种即可,我们来看这个练习: 1.简单设置源 8)连接好网络后先换源,在左边的快速启动面板中点击“软件中心”按钮,再把鼠标移到最上边出现菜单栏,点“编辑-软件源”: 2)先出来一个密码输入框,输入自己密码后,点绿色“OK”按钮确定,进入源面板: 3)进入源面板后,把几个勾都打上,点击下面的下拉列表,选择 server for 中国(china),即中国的源: 4)

Ubuntu14.04下安装redis-3.2.0以及开机自启动

去官网下载Redis-3.2.0.tar.gz,将redis-3.2.0.tar.gz放入/opt目录下 解压redis-3.2.0.tar.gz [email protected]:/opt$ sudo tar -zxvf redis-3.2.0.tar.gz 编译redis [email protected]:/opt$ cd redis-3.2.0/ [email protected]:/opt/redis-3.2.0$ sudo make 安装 [email protected]:/op

ubuntu16.04安装LNMP(ubuntu+Nginx+mysql+PHP7.0)

系统环境: Ubuntu 16.04.2 LTS nginx version: nginx/1.10.3 (Ubuntu) PHP 7.0.22-0ubuntu0.16.04.1 mysql  Ver 14.14 Distrib 5.7.20 一.环境准备: 检测网络环境 ping -c2 baidu.com 更新apt源 sudo apt update 二.安装Nginx 1.安装Nginx sudo apt-get install nginx -y 2.编辑配置nginx文件 sudo vi

win server 2008 r2设置teamviewer13无人值守和开机自启动

teamviewer13设置无人值守https://jingyan.baidu.com/article/363872ecd8775d6e4ba16f13.html 在win server 2008 r2中设置teamviewer13开机自启动,步骤见以下截图.步骤一 打开组策略步骤二 双击"在用户登录时运行这些程序"步骤三 选择"已启用",点击"显示"步骤四 添加"TeamViewer.exe"的路径,并保存步骤五 计算机连接

Linux学习12-CentOS设置多个tomcat开机自启动

前言 一台服务器上有多个tomcat环境,重启服务器后,每次需要手动一个个启动服务,非常麻烦,于是可以设置tomcat开机自启动. tomcat开机自启动非常慢,可以修改jvm下配置解决tomcat开机自启动慢的问题. 前面一篇[Linux学习10-CentOS搭建nginx负载均衡环境]已经搭建了多个tomcat环境 开机自启动 前面一篇https://www.cnblogs.com/yoyoketang/p/10186513.html 通过systemctl可以设置开机自启动 systemc

Ubuntu中设置环境变量详解

1, 为单一用户:.bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.打开用户主目录下的.bashrc,在这个文件中加入export PATH="$PATH:export PATH="$PATH:/home/***/android-sdk-linux_86 /platform-tools/"使生效 source .bashrc2,全局设置:/etc/profile 是所有用户的环境变量在/etc/profile中增