Centos7 php-fpm root 运行,执行 kill 等系统命令
Centos7 php-fpm root 运行,执行 kill 等系统命令
当前系统安装的是宝塔环境,PHP的环境在如下的目录:/www/server/php/72/etc
修改 php-fpm.conf
[global]
pid = /www/server/php/72/var/run/php-fpm.pid
error_log = /www/server/php/72/var/log/php-fpm.log
log_level = notice
[www]
listen = /tmp/php-cgi-72.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = root
group = root
pm = dynamic
pm.status_path = /phpfpm_72_status
pm.max_children = 80
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 20
request_terminate_timeout = 100
request_slowlog_timeout = 30
slowlog = var/log/slow.log
kill 当前运行进程
killall php-fpm
启动 php-fpm
php-fpm -R
测试
如果需要在web执行系统命令,使用如下代码:shell_exec("sudo service network restart");
宝塔配置
如果您的安装环境中是用宝塔安装的,那么需要修改对应的启动脚本,我当前使用的是PHP7.2版本;故修改 /etc/init.d/php-fpm-72
vi /etc/init.d/php-fpm-72
#! /bin/sh
### BEGIN INIT INFO
# Provides: php-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 php-fpm
# Description: starts the PHP FastCGI Process Manager daemon
### END INIT INFO
prefix=/www/server/php/72
exec_prefix=${prefix}
php_fpm_BIN=${exec_prefix}/sbin/php-fpm
php_fpm_CONF=${prefix}/etc/php-fpm.conf
php_fpm_PID=${prefix}/var/run/php-fpm.pid
php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
wait_for_pid () {
try=0
while test $try -lt 35 ; do
case "$1" in
'created')
if [ -f "$2" ] ; then
try=''
break
fi
;;
'removed')
if [ ! -f "$2" ] ; then
try=''
break
fi
;;
esac
echo -n .
try=`expr $try + 1`
sleep 1
done
}
case "$1" in
start)
echo -n "Starting php-fpm "
$php_fpm_BIN -R --daemonize $php_opts
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
fi
wait_for_pid created $php_fpm_PID
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
stop)
echo -n "Gracefully shutting down php-fpm "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -QUIT `cat $php_fpm_PID`
wait_for_pid removed $php_fpm_PID
if [ -n "$try" ] ; then
echo " failed. Use force-quit"
exit 1
else
echo " done"
fi
;;
status)
if [ ! -r $php_fpm_PID ] ; then
echo "php-fpm is stopped"
exit 0
fi
PID=`cat $php_fpm_PID`
if ps -p $PID | grep -q $PID; then
echo "php-fpm (pid $PID) is running..."
else
echo "php-fpm dead but pid file exists"
fi
;;
force-quit)
echo -n "Terminating php-fpm "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -TERM `cat $php_fpm_PID`
wait_for_pid removed $php_fpm_PID
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
restart)
$0 stop
$0 start
;;
reload)
echo -n "Reload service php-fpm "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -USR2 `cat $php_fpm_PID`
echo " done"
;;
configtest)
$php_fpm_BIN -t
;;
*)
echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}"
exit 1
;;
esac

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Centos7 安装系统服务、开机自启动
Centos7 安装系统服务、开机自启动 编写可执行程序 任意编程语言(C、C++、Java、PHP、Python、Perl ...)编写的程序; 当前假设此程序的路径为:/myservice/bin/myprogram 编写服务脚本 #! /bin/bash # chkconfig: 2345 80 90 # description: this is your auto run program. start() { echo "starting service ..." cd /myservice/bin ./start.sh echo "ok" } stop() { echo "stop service ..." cd /myservice/bin ./stop.sh echo "ok" } case "$1" in "start") start ;; "stop") stop ;; "restart") stop start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 0 esac 添加到服务和开机启动项 chkconfig...
-
下一篇
数据分析工具PANDAS技巧-如何删除数据帧的列
数据分析工具PANDAS技巧-如何删除数据帧的列 在本教程中,我们将介绍如何从pandas数据帧(dataframe)中删除或删除一个或多个列。 什么是pandas ? pandas是一个用于数据操作的python包。 它具有以下数据任务的多个功能: 删除或保留行和列 按一列或多列汇总数据 对数据进行排序或重新排序 合并或附加多个数据帧 用于处理文本数据的字符串函数 DateTime用于处理日期或时间格式列的函数 导入或加载Pandas库 >>> import pandas as pd >>> import numpy as np >>> df = pd.DataFrame(np.random.randn(6, 4), columns=list('ABCD')) >>> df
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境