Should work on RHEL, Fedora, CentOS. Tested on CentOS 5.
Save this file as /etc/init.d/nginx
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/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
make_dirs(
)
{
# make required directories
user
=`
$nginx
-V
2
>&
1
|
grep
"configure arguments:"
|
sed
's/[^*]*--user=\([^ ]*\).*/\1/g'
-`
if
[
-z
"`grep $user /etc/passwd`
"
]
; then
useradd -M
-s
/
bin/
nologin $user
fi
options
=`
$nginx
-V
2
>&
1
|
grep
'configure arguments:'
`
for
opt in
$options
; do
if
[
`
echo
$opt
|
grep
'.*-temp-path'
`
]
; then
value
=`
echo
$opt
|
cut
-d
"="
-f
2
`
if
[
!
-d
"$value
"
]
; then
# echo "creating" $value
mkdir
-p
$value
&&
chown
-R
$user
$value
fi
fi
done
}
start(
)
{
[
-x
$nginx
]
||
exit
5
[
-f
$NGINX_CONF_FILE
]
||
exit
6
make_dirs
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
-QUIT
retval
=$?
echo
[
$retval
-eq
0
]
&&
rm
-f
$lockfile
return
$retval
}
restart(
)
{
configtest ||
return
$?
stop
sleep
1
start
}
reload(
)
{
configtest ||
return
$?
echo
-n
$"Reloading $prog
: "
killproc $nginx
-HUP
RETVAL
=$?
echo
}
force_reload(
)
{
restart
}
configtest(
)
{
$nginx
-t
-c
$NGINX_CONF_FILE
}
rh_status(
)
{
status $prog
}
rh_status_q(
)
{
rh_status >/
dev/
null 2
>&
1
}
case
"$1"
in
start)
rh_status_q &&
exit
0
$1
;;
stop)
rh_status_q ||
exit
0
$1
;;
restart|
configtest)
$1
;;
reload)
rh_status_q ||
exit
7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|
try-restart)
rh_status_q ||
exit
0
;;
*
)
echo
$"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit
2
esac
分享到:
相关推荐
Linux学习教程,特别是针对Red Hat Linux的基础教程,是IT领域新手和进阶者的重要学习资源。Red Hat Linux作为一款广泛使用的开源操作系统,以其稳定性和强大的企业级服务支持而备受推崇。本教程旨在帮助用户理解...
《Red Hat Enterprise 7》是Red Hat公司发布的一款企业级操作系统,主要面向商业环境,提供稳定、高效且安全的Linux平台。本系统基于Fedora项目,经过严格的测试和优化,确保了在生产环境中的可靠性和性能。以下是...
对于基于Red Hat或CentOS的系统: ```bash $ sudo yum update $ sudo yum groupinstall "Development Tools" $ sudo yum install pcre-devel openssl-devel zlib-devel ``` 接下来,配置Nginx以适应你的系统需求。...
在Linux环境中,RPM(Red Hat Package Manager)是用于安装和管理软件包的一种方式。在你的压缩包子文件名称列表中提到的`rpm`,可能指的是Nginx的RPM包。对于使用RPM包管理系统的发行版(如Fedora、CentOS等),...
在Red Hat Enterprise Linux (RHEL) 7.3系统上进行Nginx的源码部署是一项重要的技能,尤其对于系统管理员和开发人员来说。下面将详细介绍如何基于Nginx 1.18.0(假设为当前稳定版本)的源码在RHEL 7.3上进行部署,并...
- 在CentOS或Red Hat Enterprise Linux中,可以通过以下命令临时关闭防火墙: ```bash # service iptables stop ``` - 要永久关闭防火墙,则需编辑`/etc/sysconfig/iptables`或`/etc/sysconfig/iptables-config...
sudo ln -s /usr/local/nginx/init.d/nginx /etc/rc.d/init.d/ chkconfig --add nginx chkconfig nginx on ``` 最后,检查Nginx是否正常运行,可以通过`netstat -tuln | grep nginx`查看监听的端口,或访问配置的...
# 对于基于Red Hat或CentOS的系统 sudo yum install gcc ``` 接下来,我们要安装OpenSSL,这是一个用于加密通信的库,Nginx在处理HTTPS请求时会用到。安装过程如下: ```bash # 对于基于Debian或Ubuntu的系统 sudo...
对于基于Red Hat或CentOS的系统,执行以下命令: ```bash sudo yum update sudo yum groupinstall "Development Tools" sudo yum install openssl-devel pcre-devel zlib-devel ``` 接下来,我们下载Nginx 1.7.6的...
CentOS 6.5是一款基于RHEL(Red Hat Enterprise Linux)的开源操作系统,适用于服务器环境。Nginx则是一个高性能的HTTP和反向代理服务器,以其高效、稳定和低内存占用而闻名。 **安装GCC编译环境** 在CentOS 6.5上...
在Linux系统中,RPM(Red Hat Package Manager)是一种用于安装、升级、查询、验证和删除软件包的工具,它遵循特定的文件格式标准。Nginx则是一款高性能的HTTP和反向代理服务器,常用于网站服务器和负载均衡器。 ...
在本文中,我们将深入探讨如何在Red Hat Enterprise Linux 5.5 (RHEL 5.5)上使用Nginx实现负载均衡。Nginx是一个高性能的HTTP和反向代理服务器,广泛用于处理高流量网站的负载分配。下面将详细介绍搭建和配置Nginx...
安装完成后,启动和停止Nginx服务可以通过命令行开关实现,或者将其设置为系统服务,使用init脚本进行管理,以适应不同的Linux发行版,如Debian和Red Hat。 接下来,基础的Nginx配置涉及到配置文件的语法和指令。...
首先,我们需要理解的是,CentOS 6.3是一款基于RHEL(Red Hat Enterprise Linux)的Linux发行版,对于服务器环境非常稳定,但其默认的软件仓库可能不包含最新版本的Nginx。因此,我们通常会通过添加额外的软件仓库...
对于基于 Red Hat/CentOS 的系统: ```bash sudo yum install pcre-devel openssl-devel zlib-devel ``` ### 第四步:配置编译选项 进入 `nginx-1.0.6` 目录,并根据你的需求配置编译选项。基本的配置命令如下: ...
对于基于Red Hat或CentOS的系统,使用以下命令: ```bash sudo yum install epel-release sudo yum install gcc pcre-devel zlib-devel openssl-devel ``` 接下来,从Nginx官方网站下载最新的源代码包,例如: ``...
本指南适用于基于Red Hat系的Linux发行版,如CentOS或RHEL等。 ##### 1. 系统更新与基本软件包安装 ```bash yum -y update yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel ...
在Linux系统,尤其是CentOS这样的企业级发行版上,通常通过RPM(Red Hat Package Manager)包管理器进行安装。 在描述中提到的`rpm`命令是Linux下的包管理工具,用于安装、升级、查询、验证和删除RPM软件包。`-Uvh`...
通常情况下,CentOS和Red Hat等Linux发行版会预置一些官方源,但是这些源中可能没有包含Nginx。因此,需要添加Nginx官方的yum源或者第三方源。通过在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo,可以指定...
Yum(Yellowdog Updater, Modified)是Red Hat Linux及其衍生版本如CentOS中的包管理器,用于安装、更新和管理软件包。在本教程中,我们将详细讲解如何使用Yum在CentOS 6.2上搭建LAMP(Linux + Apache + MySQL + PHP...