zoukankan      html  css  js  c++  java
  • Linux 配置脚本 启动服务

    之前在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 0 ];     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 0 ];     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 $1 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 1
            ;;
    esac
    exit 0

    然后保存

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

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

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

  • 相关阅读:
    经典SQL问题: 行转列,列转行
    RocketMQ之三:RocketMQ集群环境搭建
    mysql函数之五:group_concat mysql 把结果集中的一列数据用指定分隔符转换成一行
    并发编程之五--ThreadLocal
    RocketMQ之三:nameserver源码解析
    Spring之3:BeanFactory、ApplicationContext、ApplicationContextAware区别
    spring中InitializingBean接口使用理解
    ES之四:Elasticsearch Mapping类型映射概述与元字段类型
    spring容器启动的三种方式
    java的reflection和introspector
  • 原文地址:https://www.cnblogs.com/xiaozong/p/5715721.html
Copyright © 2011-2022 走看看