nginx是个好东东,性能就不说了,网上有很多文章,我学习时感觉到配置超简单,配置文件就是一个json,而且配置项让没有用过nginx的人一眼就能看懂,真的给人感觉棒!
我在编译安装nginx后,每次启动很麻烦,我在fedora的rpm database中找到了一个很不错的shell,通过chkconfig加载到(/etcinit.d/rc*.d/)目录中去,很方便代码如下:
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx chkconfig shell
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest_q || configtest || return 6
stop
start
}
reload() {
configtest_q || configtest || return 6
echo -n $"Reloading $prog: "
killproc $nginx -HUP
echo
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
configtest_q() {
configtest >/dev/null 2>&1
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
# Upgrade the binary with no downtime.
upgrade() {
local pidfile="/var/run/${prog}.pid"
local oldbin_pidfile="${pidfile}.oldbin"
configtest_q || configtest || return 6
echo -n $"Staring new master $prog: "
killproc $nginx -USR2
retval=$?
echo
sleep 1
if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]]; then
echo -n $"Graceful shutdown of old $prog: "
killproc -p ${oldbin_pidfile} -QUIT
retval=$?
echo
return 0
else
echo $"Something bad happened, manual intervention required, maybe restart?"
return 1
fi
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
force-reload|upgrade)
rh_status_q || exit 7
upgrade
;;
reload)
rh_status_q || exit 7
$1
;;
status|status_q)
rh_$1
;;
condrestart|try-restart)
rh_status_q || exit 7
restart
;;
*)
echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart}"
exit 2
esac
使用chkconfig加载shell设置成服务:
[root@localhost ~]# cp nginx /etc/init.d/nginx
[root@localhost ~]# cd /etc/init.d
[root@localhost init.d]# chkconfig --add nginx
[root@localhost init.d]# chkconfig --level 35 nginx on
下边启动nginx:
[root@localhost init.d]# service nginx start
启动 nginx: [确定]
shell里还有其他的命令用起来都很方便,希望能帮助大家:)
分享到:
相关推荐
这个脚本对于初学者来说是一份很好的学习资料,可以了解如何通过Shell脚本自动化系统管理任务。同时,熟悉Zabbix和Nginx的集成,对于提升运维能力,特别是在大规模环境中部署和管理监控系统非常有帮助。 【注意事项...
此时,Nginx应该已经开始运行,你可以在任务管理器中看到两个nginx.exe进程,并且占用的系统资源很少。打开浏览器,访问`http://127.0.0.1/`,你应该能看到Nginx的默认欢迎页面。 要停止、重新加载或退出Nginx,...
总结来说,"coreos-lb-example"是一个很好的实践教程,它涵盖了CoreOS、Nginx和Shell编程等多个重要IT知识点,有助于提升我们在云环境下的系统架构和运维能力。通过对该项目的学习和实践,我们可以更好地理解和运用...
下面将详细介绍在AWS上使用Bitnami NGINX部署WordPress的步骤、相关知识点以及可能涉及的Shell命令。 首先,我们需要创建一个AWS EC2实例。EC2是AWS的弹性计算服务,它提供按需的虚拟服务器。在AWS管理控制台中,...
在Linux系统中,服务脚本是管理后台服务的重要工具,它们通常以shell脚本的形式存在,用于启动、停止、重启或检查服务的状态。这个名为"Linux常用的服务脚本大全.zip"的压缩包很可能包含了多种常见服务的启动脚本,...
- 快捷运维,代号:kjyw,运维脚本工具库,项目基于shell开发,收集各类运维常用工具脚本; - 实现快速安装nginx、mysql、php、redis、nagios、运维经常使用的脚本等等... - 简单 高效 快捷! - Linux下很多操作...
Linux基础.zip这个压缩包文件包含了丰富的Linux学习资源,适合初学者到中级运维人员提升技能。以下将详细解析其中的关键知识点: 1. **Python3**:Python3是...对于想要在运维领域深化的人来说,这是一个很好的起点。
贵族Nobbic可以帮助你很好地适应 ,数据库和其他的东西到一个单一的吊舱与控制容器 。 虽然单独启动NodeBB docker容器非常容易,但是当您同时尝试启动数据库容器, 代理容器等时,事情很快就会复杂化,而同时尝试...
此外,还需要理解进程管理,包括进程的启动、停止、监控和调度,以及使用`ps`、`top`、`kill`等命令进行进程操作。 网络和服务器配置也是Linux学习的重点。了解如何配置网络接口,使用`ifconfig`或`ip`命令,以及...
在IT行业中,Laravel Homestead 是一个非常受欢迎的开发环境工具,它为PHP开发者提供了一个预配置的Vagrant box,可以快速搭建...对于想要深入理解Laravel开发环境和虚拟化技术的开发者来说,这是一个很好的学习资源。
1. 编辑器/IDE:Vim、Emacs、Visual Studio Code等是常用的文本编辑器,对于编程有很好的支持。 2. 版本控制:使用Git进行代码版本管理,学习`git clone`、`git add`、`git commit`、`git push`等命令。 3. 调试工具...
安装完成后,可以通过`systemctl start nginx`启动服务,并用`systemctl enable nginx`设置开机启动。 3. **MySQL/MariaDB安装**:安装数据库服务器,通常是MySQL或其分支MariaDB。在Debian/Ubuntu上使用`apt-get ...
对于开发和测试环境,mojowow是一个很好的选择,但在生产环境中,可能需要更强大的Web服务器如Apache或Nginx。 总的来说,mojowow是一个实用的工具,它让开发者可以快速地搭建本地服务器环境,便于代码预览、文件...
可道云(Kodbox 1.08)的安装依赖包括PHP(推荐使用PHP7.4及以上版本,并且需要开启shell和shell_exec函数),MySQL数据库,以及Web服务器(Nginx或Apache)。对于seafile的配合使用,推荐选择Apache作为服务器软件...
- `-x`:除了显示给定程序的PID外,还会显示所有启动了该程序的Shell的PID。这对于追踪脚本或命令行启动的进程特别有用。 - `-o`:忽略指定的PID,可以多次使用以排除多个PID。这对于避免误操作或者在复杂的环境中...
5. **服务器基本配置**:Linux服务器可能需要配置网络服务,如Web服务器(Apache或Nginx)、数据库服务(MySQL或PostgreSQL)、FTP服务(vsftpd)等。`systemctl`命令用于控制服务的启动、停止和状态检查。例如,...
7. **Shell脚本编程**: 学习Bash Shell脚本语言,编写简单的自动化任务。 8. **系统维护与优化**: 了解如何进行系统备份、性能监控和故障排查,以及如何进行系统升级和安全设置。 9. **编程环境**: 如果你对编程感...