因为老是须要又一次安装系统,重一次都要又一次设置http服务的启动脚本。麻烦,所以这一次就把脚本备份出来。

httpd for Ubuntu

system: nginx + php-fpm

#! /bin/sh
### BEGIN INIT INFO
# Provides: httpd
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run http server
### END INIT INFO exec_phpfpm="/opt/php5/sbin/php-fpm"
pid_phpfpm="/run/php-fpm.pid"
exec_nginx="/opt/nginx/sbin/nginx"
pid_nginx="/run/nginx.pid" ## 停止php-fpm服务
do_stop_phpfpm() {
echo -n "Stoping php-fpm... "
kill -QUIT `cat ${pid_phpfpm}` > /dev/null 2>&1
if [ $? -eq 0 ];then
show_success
else
show_failed
fi
echo ""
} ## 输出OK
show_success() {
echo -n "\033[32m [OK] \033[0m"
} ## 输出NO
show_failed() {
echo -n "\033[37m [NO] \033[0m"
} ## 启动php-fpm服务
do_start_phpfpm() {
echo -n "starting php-fpm... "
$exec_phpfpm -g $pid_phpfpm > /dev/null 2>&1
if [ $? -eq 0 ];then
show_success
else
echo -n "\033[37m [NO] \033[0m"
fi
echo ""
} ## nignx又一次载入设置
do_reload_nginx() {
$exec_nginx -s reload > /dev/null 2>&1
echo "\033[32m nginx reload config successfully. \033[0m"
} ## 启动nginx服务
do_start_nginx() {
echo -n "Starting nginx... "
$exec_nginx > /dev/null 2>&1
if [ $? -eq 0 ];then
show_success
else
show_failed
fi
echo
} ## 停止nginx服务
do_stop_nginx() {
echo -n "Stoping nginx..."
$exec_nginx -s stop > /dev/null 2>&1
if [ $? -eq 0 ];then
show_success
else
show_failed
fi
echo
} case $1 in
start)
echo "starting httpd server..."
do_start_phpfpm
do_start_nginx
;;
stop_phpfpm)
echo "stoping php-fpm server..."
do_stop_phpfpm
;;
stop_nginx)
echo "stoping nginx server..."
do_stop_nginx
;;
start_nginx)
echo "starting nginx server..."
do_start_nginx
;;
restart_nginx)
echo "restart nginx server..."
do_stop_nginx
do_start_nginx
;;
restart_phpfpm)
echo "restart php-fpm server..."
do_stop_phpfpm
do_start_phpfpm
;;
restart)
echo "restart httpd server..."
do_stop_phpfpm
do_stop_nginx
do_start_phpfpm
do_start_nginx
;;
stop)
echo "stop httpd server..."
do_stop_phpfpm
do_stop_nginx
;;
reload)
echo "reload nginx config"
do_reload_nginx
;;
*)
echo "USE:httpd start|restart|reload|stop|restart_phpfpm|stop_phpfpm|stop_nginx|start_nginx"
;;
esac exit 0

管理http服务的脚本的更多相关文章

  1. 透过systemctl管理mysqld服务

    1. 背景 CentOS 7.x 之前的版本,系统启动时,第一支呼叫的程序是 init ,然后 init 去唤起所有的系统所需要的服务,无论是本地服务还是网络服务.所有的服务启动脚本都放置于 /etc ...

  2. centOS 6 服务管理与服务脚本

    服务管理与服务脚本   linux服务 服务管理与服务脚本 linux服务 服务启动过程详解 chkconfig命令 非独立服务与xinetd进程 一个特殊的服务脚本   服务启动过程详解 在开机启动 ...

  3. 自己编写服务启动脚本(一):functions文件详细分析和说明

    本文目录: 1.几个显示函数2.action函数3.is_true和is_false函数4.confirm函数5.pid检测相关函数 5.1 checkpid.__pids_var_run和__pid ...

  4. 监控与管理dubbo服务

    Dubbo是阿里多年前开源的一套服务治理框架,在众多互联网企业里应用广泛.本文介绍了一些如何监控与管理dubbo服务.使用的工具与<dubbox 的各种管理和监管>大致相同,本文更侧重于命 ...

  5. centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs 第十六节课

    centos linux系统日常管理3  服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,cur ...

  6. centos6服务启动脚本及开机启动过程

    centos6服务启动脚本 centos6的服务启动脚本都放在/etc/rc.d/init.d/下,/etc/init.d/是/etc/rc.d/init.d/的软链接: centos6的服务启动脚本 ...

  7. 编写管理IP地址参数脚本(永久性)

    1.用各种命令取出/etc/passwd文件前5行的最后一个字母.(2种) 2.编写管理IP地址参数脚本(永久性) a.只能用sed命令完成 b.提示用户变量赋值(IP.子网掩码.网关.DNS等) c ...

  8. logstash服务启动脚本

    logstash服务启动脚本 最近在弄ELK,发现logstash没有sysv类型的服务启动脚本,于是按照网上一个老外提供的模板自己进行修改 #添加用户 useradd logstash -M -s ...

  9. SHELL编写NGINX服务控制脚本

    使用源码包安装的Nginx没办法使用"service nginx start"或"/etc/init.d/nginx start"进行操作和控制,所以写了以下的 ...

随机推荐

  1. Java入门-浅析Java学习从入门到精通【转】

    一. JDK (Java Development Kit)  JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库 ...

  2. git的id_rsa.pub的生成(也就是github上的SSH Keys)

    只需要一条语句就可以实现生成id_rsa.pub和id_rsa的目的:ssh-keygen -t rsa -C your_email 注意:这个邮箱是你github上的邮箱.只有在gthub上添加了这 ...

  3. Hdu 2971 Tower

    Description Alan loves to construct the towers of building bricks. His towers consist of many cuboid ...

  4. BZOJ 3707: 圈地 计算几何

    Description 2维平面上有n个木桩,黄学长有一次圈地的机会并得到圈到的土地,为了体现他的高风亮节,他要使他圈到的土地面积尽量小.圈地需要圈一个至少3个点的多边形,多边形的顶点就是一个木桩,圈 ...

  5. Qt之自定义插件(for Qt Designer)

    之前Blog里面有关于QWT的编译.配置.使用的文章,分别是在VS与Creator下进行的. QWT编译.配置.使用(VS2010 + Qt5.1.0). QWT编译.配置.使用(Qt Creator ...

  6. How to hide TabPage from TabControl

    No, this doesn't exist. You have to remove the tab and re-add it when you want it. Or use a differen ...

  7. [FJSC2014]化合物

    [题目描述] 首长NOI惨跪,于是去念文化课了.现在,他面对一道化学题. 这题的来源是因为在一个奇怪的学校两个化竞党在玩一个奇怪的博弈论游戏,这个游戏很蛋疼,我相信你们也没有兴趣听. 由于这个游戏涉及 ...

  8. 【转】eclipse android 设置及修改生成apk的签名文件 -- custom debug keystore

    原文网址:http://hold-on.iteye.com/blog/2064642 android eclipse 设置及修改生成apk的签名文件 1. 问题: 平时在使用eclipse进行andr ...

  9. android webview js交互 第一节 (java和js交互)

    转载请注明出处         挺帅的移动开发专栏  http://blog.csdn.net/wangtingshuai/article/details/8631835        在androi ...

  10. linux 多线程基础3

    一.线程属性 线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化.我们用pthread_attr_init函数对其初始化,用pthrea ...