之前在mac安装了php和nginx每次都用一堆命令重启

今天没事情干,心血来潮,自己研究写了一段shell脚本来重启

首先sudo vim /usr/sbin/pn

代码如下

#! /bin/bash

phpdir=/usr/local/php/sbin #安装路径
phpname=php-fpm
phpdaemon=$phpdir/$phpname
phpconfig=/usr/local/php/etc/php.ini nginxdir=/Applications/Xcode.app/Contents/Developer/usr/share/xcs/Nginx/sbin
nginxname=nginx
nginxdaemon=$nginxdir/$nginxname
nginxconfig=/Applications/Xcode.app/Contents/Developer/usr/share/xcs/Nginx/ nginxstart()
{
if test -x $nginxdaemon
then
#echo -e "正在启动Nginx进程: $nginxname"
if $nginxdaemon -p $nginxconfig
then
echo -e "Nginx服务启动成功"
else
echo -e "Nginx服务启动失败"
fi
else
echo -e "找不到Nginx启动服务 ($nginxname)"
fi
}
nginxstop()
{
process_num=`ps -ef | grep nginx | grep -v grep |wc -l`
#echo -e "正在停止Nginx进程: $nginxname"
if [ $process_num -eq ]; then
echo -e "Nginx服务停止成功"
else
if kill `ps -ef | grep nginx | grep -v grep | awk '{print $2}'`
then
echo -e "Nginx服务停止成功"
else
echo -e "Nginx服务停止失败"
fi
fi }
phpstart()
{
if test -x $phpdaemon
then
#echo -e "正在启动PHP进程: $phpname"
if $phpdaemon -c $phpconfig
then
echo -e "PHP服务启动成功"
else
echo -e "PHP服务启动失败"
fi
else
echo -e "找不到PHP启动服务 ($phpname)"
fi
}
phpstop()
{
process_num=`ps -ef | grep php-fpm | grep -v grep |wc -l`
#echo -e "正在停止PHP进程: $phpname"
if [ $process_num -eq ]; then
echo -e "PHP服务停止成功"
else
if kill `ps -ef | grep php-fpm | grep -v grep | awk '{print $2}'`
then
echo -e "PHP服务停止成功"
else
echo -e "PHP服务停止失败"
fi
fi
} case $ in
start)
phpstart
nginxstart
;;
stop)
phpstop
nginxstop
;;
restart)
phpstop
nginxstop
phpstart
nginxstart
;; *)
echo "---------请输入正确的参数---------"
echo "stop:表示停止PHP和Nginx服务"
echo "start:表示启动PHP和Nginx服务"
echo "restart:表示重启PHP和Nginx服务"
echo "--------------------------------"
exit
;;
esac
exit

然后保存

加执行权限sudo chmod +x /usr/sbin/pn

以上代码不是最简洁的,有兴趣的同学可以自己DIY,原理差不多

以后只要执行 sudo pn restart就可以重启PHP和Nginx啦

Linux 配置脚本 启动服务的更多相关文章

  1. linux自定义开机启动服务和chkconfig使用方法

    linux自定义开机启动服务和chkconfig使用方法 1. 服务概述在linux操作系统下,经常需要创建一些服务,这些服务被做成shell脚本,这些服务需要在系统启动的时候自动启动,关闭的时候自动 ...

  2. (转)linux自定义开机启动服务和chkconfig使用方法

    原文:https://www.cnblogs.com/jimeper/archive/2013/03/12/2955687.html linux自定义开机启动服务和chkconfig使用方法 1. 服 ...

  3. Linux—添加开机启动(服务/脚本)

    系统启动时需要加载的配置文件 /etc/profile./root/.bash_profile/etc/bashrc./root/.bashrc/etc/profile.d/*.sh./etc/pro ...

  4. 初识Hadoop一,配置及启动服务

    一.Hadoop简介: Hadoop是由Apache基金会所开发的分布式系统基础架构,实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS:Hadoo ...

  5. Hortonworks HDP Sandbox定制(配置)开机启动服务(组件)

    定制Hortonworks HDP开机启动服务能够这样做:本文原文出处: http://blog.csdn.net/bluishglc/article/details/42109253 严禁不论什么形 ...

  6. linux下脚本做成服务

    一.脚本做成服务 1.把启动脚本复制到 /etc/init.d目录中 2.脚本内容 xxxx代表jar包名称 #!/usr/bin/env bash # chkconfig: 2345 20 80 # ...

  7. MySQL——安装、配置、启动服务、

    1.环境变量配置 将启动连接,加入环境变量中. mysqld  :启动服务端 msysql -u 用户名 -p 密码 : 启动客户端 2.windows服务:一直在运行中 E:\wupeiqi\mys ...

  8. linux mongodb开机启动(服务的方式)

    MongoDB安装 https://blog.csdn.net/junshangshui/article/details/79371316 设置mongodb.service启动服务 cd /lib/ ...

  9. Linux shell脚本启动 停止 重启jar包

    最近做的微服务jar包想弄在持续集成中自动化部署,所以首先得有一个操作jar包的脚本 只需将jar文件的路径替换到APP_NAME的值就可以了,其他不用改 注意:window编辑的shell文件,通过 ...

随机推荐

  1. selenium中的webdriver定位元素失败的常见原因

    自动化测试中经常会出现无法定位元素的情况,报selenium.common.exceptions.NoSuchElementException错误 Frame/Iframe原因定位不到元素: 这个是最 ...

  2. 分布式版本控制系统Git-----3.图形化Tortoisegit创建本地库并且提交到远程服务器上

    [前提你已经有了自己的远程仓库帐号密码和HTTP地址] PS:图形化会方便,但是个人认为还是敲命令比较好,会锻炼人的思维和逻辑. 1.首先在任意一个地方创建test目录.若要把test目录放在Git的 ...

  3. ACdream 1015 Double Kings

    假设第一个人选的点为P,并且当作根,那么第二个人选的最优情况必然是根p连着的那些点中的一个.然后枚举一下P即可. #pragma comment(linker, "/STACK:102400 ...

  4. 老司机的奇怪noip模拟T1-guanyu

    1. 关羽(guanyu.cpp/c/pas )[问题描述]xpp 每天研究天文学研究哲学,对于人生又有一些我们完全无法理解的思考.在某天无聊学术之后, xpp 打开了 http://web.sang ...

  5. Java中三种常见的注释(注解) Annotation

    Java为我们提供了三种Annotation方便我们开发. 1 Override-函数覆写注解 如果我们想覆写Object的toString()方法,请看下面的代码: class Annotation ...

  6. css ::before和::after伪元素的用法

    css ::before和::after伪元素的用法:http://blog.dimpurr.com/css-before-after/

  7. Qt_DX

    #ifndef MY_FRAME__HH__ #define MY_FRAME__HH__ #include <QtGui/QWidget> struct IDirect3D9; stru ...

  8. DELPHI中MessageBox的用法 (转)

    MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以 ...

  9. Excel教程(14) - 文本和数据函数

    ASC 用途:将字符串中的全角(双字节)英文字母更改为半角 (单字节)字符.   语法:ASC(text) 参数:Text 为文本或包含文本的单元格引用.如果文本 中不包含任何全角英文字母,则文本不会 ...

  10. 使 httpClient 支持中文

    一个有效的方法:重载 PostMethod 的 getRequestCharSet 方法 1: class PostChinese { 2: HttpClient httpClient = new H ...