技术标签: nginx linux脚本
编程说明:
之前的一键安装部署nginx脚本中,已经实现了可以使用systemctl命令对nginx服务进行控制,但是在实际环境中,还是有很多nginx不是用脚本装的,所以还是需要用源码安装的控制方式对nginx服务进行控制.
下面将采用case语句编写nginx服务的控制脚本:
源代码:
#!/bin/bash
#chkconfig: 2345 90 98
#功能描述:nginx服务的启动脚本,可作用于Centos6上,Centos7版本也能够向下兼容6版本的脚本
nginx="/usr/local/nginx/sbin/nginx"
pidfile="/usr/local/nginx/logs/nginx.pid"
case $1 in
start)
if [ -f $pidfile ];then
echo -e "\033[91mNginx服务已经正常启动了...\033[0m"
exit
else
$nginx && echo -e "\033[91mNginx服务已经正常启动了...\033[0m"
fi;;
stop)
if [ ! -f $pidfile ];then
echo -e "\033[91mNginx服务已经停止...\033[0m"
exit
else
$nginx -s stop && echo -e "\033[91mNginx服务已经停止...\033[0m"
fi;;
restart)
if [ ! -f $pidfile ];then
echo -e "\033[91mNginx服务已经停止了\033[0m"
echo -e "\033请先运行Nginx服务\033[0m"
exit
else
$nginx -s stop && echo -e "\033[91mNginx服务已经停止了\033[0m"
fi
$nginx && echo -e "\033[91mNginx服务已经正常启动了...\033[0m"
;;
status)
if [ -f $pidfile ];then
echo -e "\033[91mNginx服务已经正常启动了...\033[0m"
else
echo -e "\033[91mNginx服务已经停止了\033[0m"
fi;;
reload)
if [ ! -f $pidfile ];then
echo -e "\033[91mNginx服务已经停止了\033[0m"
exit
else
$nginx -s reload && echo -e "\033[91mNginx服务已经重新加载配置文件了...\033[0m"
fi;;
*)
echo "Usage:$0 {start|stop|restart|status|reload}";;
esac
脚本运行结果:
[root@localhost ~]# chmod +x /root/nginx_console.sh
[root@localhost ~]# /root/nginx_console.sh stop
Nginx服务已经停止...
[root@localhost ~]# /root/nginx_console.sh status
Nginx服务已经停止了
[root@localhost ~]# /root/nginx_console.sh restart
Nginx服务已经停止了
�请先运行Nginx服务
[root@localhost ~]# /root/nginx_console.sh start
Nginx服务已经正常启动了...
[root@localhost ~]# /root/nginx_console.sh restart
Nginx服务已经停止了
Nginx服务已经正常启动了...
[root@localhost ~]# /root/nginx_console.sh reload
Nginx服务已经重新加载配置文件了...
文章浏览阅读1.8k次,点赞2次,收藏5次。rust 区块链开发 关于如何在开放源码框架Substrate中构建核心区块链基础架构的初学者友好教程。 在这个自我指导的教程中,您将从头开始构建无气体,类似比特币的区块链。 您将了解到,区块链比智能合约功能强大得多。 随意将这些内容的任何用途重新用于举办您自己的研讨会! 您将学到什么: 实施UTXO分类帐模型,比特币的会计机制 更改网络事务池逻辑 配置创世块并编写一些..._开发区块链,rust需要掌握到什么程度
文章浏览阅读1.2w次,点赞10次,收藏67次。本文简要描述了如何在C++test中进行mingw环境下qt的单元测试方法,以及一些c++test的使用小技巧。_c++test 单元测试
文章浏览阅读334次。点击关注公众号,回复“2T”获取2TB学习资源!互联网架构师后台回复2T有特别礼包上一篇:我设计了一个支撑数亿用户的系统背景使用flowable自带的flowable-ui制作流程图 使用springboot开发流程使用的接口完成流程的业务功能flowable-ui部署运行flowable-6.6.0 运行 官方demo参考文档:https://flowable.co..._flowable 子流程代码实现
文章浏览阅读8.9k次,点赞12次,收藏58次。之前有个朋友问过,stm32在使用TFT显示屏的时候,知道如何显示一个数据,但是类似传感器这种数据的显示,是需要实时显示的,但是不知道如何刷新,他一开始使用的是clear()清屏函数,确实有点暴力,但是效果不咋地,而且网上查了一下也似乎没有很好的解答。于是我自己去试了一下,其实我之前也不怎么用显示屏的,所以具体其他方法我也没有深入研究,不过通过查看了显示屏的一些封装函数,想到了一种解决方案,就是在显示时使用叠加模式,显示数据之后,加一个延时,画上一个遮挡区域,再显示下一个数据,这样就可以实现显示屏上显示_tft屏幕打印动态
文章浏览阅读238次。4.可为空类型与动态添加键与值。_ios swift 字典
文章浏览阅读5.2k次,点赞22次,收藏46次。重点:高精度数的读入与输出高精度数的加减乘除难点:高精度数的除法高精度计算的优化为什么要用到高精度计算?intlong longdouble等进行计算的精度只有十几位,如果要进行数十、百、千、万位的数的计算就要用到高精度计算..._高精度计算为什么要倒序存储
文章浏览阅读1.3k次。JdbcTemplate介绍JdbcTemplate概念使用JdbcTemplate的准备工作操作数据库(增)操作数据库 (修改和删除)操作数据库 (查询)查询返回某个值查询返回对象查询返回集合操作数据库 (批量添加)操作数据库 (批量修改和删除) 操作数据库增//创建sql语句String sql = "insert into t_book values(?,?,?)";Object[] args = {book.getUserid(), book.getUsername(), book.
文章浏览阅读173次。练习数据库来源:传送门一、认识JDBCJDBC(Java DataBase Connectivity)是Java语言连接数据库JDBC的本质JDBC是由SUN公司制定的一套接口(interface)接口都有调用者和实现者。什么是面向接口编程面向接口调用面向接口写实现类面向接口编程的特点解耦合:降低程序的耦合度,提高程序的扩展力二、JDBC开发前的准备工作...
文章浏览阅读3.7w次,点赞92次,收藏410次。Windows如何配置MongoDB,设置环境变量以及命令窗口启动_mongodb安装教程
文章浏览阅读6k次,点赞3次,收藏22次。考虑向N个对等方(用户)分发F=15Gb的一个文件。该服务器具有us=30Mbps的上传速率,每个对等方的下载速率di=2Mbps,上传速率为u。请分别针对客户-服务器分发模式和P2P分发模式两种情况,对于N=10、100和1000以及u=500kbps、1Mbps和2Mbps的每种组合,绘制最小分发时间图表。(注:k=10^3、M=10^6、G=10^9)答:1)对于CS分发模式,最小分..._p2p分发时间计算例题
文章浏览阅读8.3k次,点赞4次,收藏13次。一开始我在网上找这种实现方法,但是发现的确有很多,但是都有问题乱七八糟的,我就修改然后整理成可以用的了。OK,Fine.就这样。首先新建一个Text,然后删掉Text组件,并且把下面的代码拷贝然后挂载到新建的Text上。using System;using System.Collections.Generic;using System.Text;using System.Text.Re..._unity ui text 点击事件
文章浏览阅读619次。3位十年编程大师,亲授十六种编程算法绝学,助你走上成神之路_it绝学