centos/rhel下实现nginx自启动脚本实例

通常在centos、rhel的OS下,我们大多是通过chkconfig来管理服务,比如开机自动启动服务之类。
这里给大家介绍一个很好用的nginx启动脚本。以及简单的使用,如下:

1. 执行如下命令:

vim /etc/init.d/nginxd

2.输入如下内容:

注意:该文件中的如下几个变量,都需要根据你实际的目录来改写。

nginx="/usr/local/nginx/sbin/nginx"  ##nginx的可执行文件路径
lockfile="/var/nginx/nginx.lock"   ##需要先创建/var/nginx目录
NGINX_CONF_FILE="/etc/nginx/nginx.conf" ##需要先创建该配置文件
#!/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
# 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/local/nginx/sbin/nginx"
prog=$(basename $nginx)
sysconfig="/etc/sysconfig/$prog"
lockfile="/var/nginx/nginx.lock"
pidfile="/var/nginx/${prog}.pid"
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f $sysconfig ] && . $sysconfig
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 -p $pidfile $prog
  retval=$?
  echo
  [ $retval -eq 0 ] && rm -f $lockfile
  return $retval
}
restart() {
  configtest_q || return 6
  stop
  start
}
reload() {
  configtest_q || return 6
  echo -n $"Reloading $prog: "
  killproc -p $pidfile $prog -HUP
  echo
}
configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}
configtest_q() {
  $nginx -t -q -c $NGINX_CONF_FILE
}
rh_status() {
  status $prog
}
rh_status_q() {
  rh_status >/dev/null 2>&1
}
# Upgrade the binary with no downtime.
upgrade() {
  local oldbin_pidfile="${pidfile}.oldbin"
  configtest_q || return 6
  echo -n $"Upgrading $prog: "
  killproc -p $pidfile $prog -USR2
  retval=$?
  sleep 1
  if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]]; then
    killproc -p $oldbin_pidfile $prog -QUIT
    success $"$prog online upgrade"
    echo
    return 0
  else
    failure $"$prog online upgrade"
    echo
    return 1
  fi
}
# Tell nginx to reopen logs
reopen_logs() {
  configtest_q || return 6
  echo -n $"Reopening $prog logs: "
  killproc -p $pidfile $prog -USR1
  retval=$?
  echo
  return $retval
}
case "$1" in
  start)
    rh_status_q && exit 0
    $1
    ;;
  stop)
    rh_status_q || exit 0
    $1
    ;;
  restart|configtest|reopen_logs)
    $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|reopen_logs}"
    exit 2
esac

保存完毕之后,可以执行以下命令来启动nginx

chmod 777 /etc/init.d/nginxd
/etc/init.d/nginxd start

3. 配置开机启动

执行以下命令:

chkconfig nginxd on

可以以下命令查看是否成功

chkconfig --list | grep nginxd
(0)

相关推荐

  • CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)

    准备篇 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙 备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败, 正确

  • CentOS+Nginx+PHP+MySQL详细配置(图解)

    一.安装MySQL 目前web服务器已经很少有跑静态页面的,如果要跑动态网站那当然就离不开数据库,虽然在以前文章中有写MySQL是怎么安装的,但是感觉好久没装MySQL,现在只把步骤贴出来,就不做过多的讲解了 #useradd mysql #tar zxvf mysql-5.0.40.tar.gz #cd mysql-5.0.40 #./configure --prefix=/usr/local/mysql #make && make install #/usr/local/mysql/b

  • linux(centos5.5)/windows下nginx开启phpinfo模式功能的配置方法分享

    经过志文工作室测试有效的相关配置主要内容如下: 复制代码 代码如下: location ~ \.php(.*)$ { fastcgi_pass   unix:/tmp/php-cgi.sock; fastcgi_index  index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param   P

  • CentOS 5.4下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)

    一.源码包准备 服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-v1.4.4 .下载:http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent, libevent的最新版本是libevent-1.4.13-stable.(如果你的系统已经安装了libevent,可以不用安装)官网:http://w

  • CentOS 6.1 环境中部署nginx、php(包括fastcgi)、虚拟主机配置

    部署时间:2012-07-24 OS环境:CentOS 6.1 nginx:nginx-1.2.2 PHP:PHP5.3.14 0.安装依赖包 复制代码 代码如下: yum install openssl-devel pcre-devel zlib-devel libjpeg-devel libpng-devel freetype-devel gcc make 1.添加 www 用户用来执行nginx 复制代码 代码如下: useradd -M -r -s /sbin/nologin -d /o

  • CentOS 6.3安装配置Nginx方法

    zhoulf 2013-02-09除夕夜 原创 安装说明 系统环境:CentOS-6.3 软件:nginx-1.2.6.tar.gz 安装方式:源码编译安装 安装位置:/usr/local/nginx 下载地址:http://nginx.org/en/download.html 安装前提 在安装nginx前,需要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件.安装必须软件: 复制代码 代码如下: [root@admin /]#yum in

  • Centos下编译安装Nginx教程详解

    一.安装nginx时必须先安装相应的编译工具 yum -y install gcc gcc-c++ autoconf automake yum -y install zlib zlib-devel openssl openssl-devel pcre-devel 建立nginx 组 groupadd -r nginx useradd -s /sbin/nologin -g nginx -r nginx id nginx zlib:nginx提供gzip模块,需要zlib库支持 openssl:n

  • centos/rhel下实现nginx自启动脚本实例

    通常在centos.rhel的OS下,我们大多是通过chkconfig来管理服务,比如开机自动启动服务之类. 这里给大家介绍一个很好用的nginx启动脚本.以及简单的使用,如下: 1. 执行如下命令: vim /etc/init.d/nginxd 2.输入如下内容: 注意:该文件中的如下几个变量,都需要根据你实际的目录来改写. nginx="/usr/local/nginx/sbin/nginx" ##nginx的可执行文件路径 lockfile="/var/nginx/ng

  • CentOS 7下安装Nginx服务器

    安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum install gcc-c++ 二. PCRE pcre-devel 安装 PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正

  • CentOS 7下编译安装Nginx 1.11.10教程

    前言 之前分享过一篇 CentOS下编译安装nginx及配置缩略图插件的方法教程,当时的环境是 CentOS 6.x 和 Nginx 1.9.x . 本次安装的环境为 CentOS 7.2 和 Nginx 1.11.10, 有些配置以前自启动的方式发生了变化, 这里再记录一下. 安装编译安装依赖的类库和包 yum install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre-devel 下载和解压

  • 详解基于CentOS 7配置Nginx自启动

    Nginx是广为流行的轻量级Web服务器软件.它开源,短小精悍,简单易用,深受广大互联网企业以及IT运维人员所喜爱.很多时候,我们在生产环境基于编译方式安装Nginx后,Nginx需要手工配置自启动服务,以确保服务器异常宕机后自动重启该服务.以下描述的是基于CentOS 7下来配置自启动服务,供大家参考. 一.yum 安装方式Nginx自启动 当前环境 [root@node142 ~]# more /etc/redhat-release CentOS Linux release 7.2.1511

  • centos环境下nginx高可用集群的搭建指南

    目录 1.概述 2.CentOS中nginx集群搭建 2.1 集群架构图 2.2 Keepalived 2.3 集群搭建准备 2.4 集群搭建 2.4.1 安装keepalived 2.4.2 配置keepalived.conf 2.4.3 编写nginx监测脚本 2.4.4 启动keepalived 2.4.5 启动nginx 2.4.6 测试 3.小结 4.参考文献 总结 1.概述 nginx单机部署时,一旦宕机就会导致整个服务的不可用,导致雪崩式效应.集群式部署是解决单点式雪崩效应的有效方

  • shell在指定目录下批量执行sql脚本的实例

    如下所示: #!/bin/bash #execute all script in specified directory MYDATE=`date +%F'-'%T'-'%w` MYSQL_PATH=/tmp/scripts #指定的目录 LOG_FILE=/tmp/scripts/exec_${MYDATE}.log confirm= db_name= db_pass= for file in ${MYSQL_PATH}/* do if [ -f "$file" ] ; then p

  • CentOS下 安装 Nginx的方法

    官方文档:https://nginx.org/en/linux_packages.html#RHEL-CentOS 安装环境:Linux 服务器 CentOS 7.3.Root 权限 1.Install the prerequisites: sudo yum install yum-utils 2.To set up the yum repository, create the file named /etc/yum.repos.d/nginx.repo with the following c

  • Centos系统中如何在指定位置下安装Nginx

    Centos系统中如何在指定位置下安装Nginx?前言需求分析安装过程环境准备安装Nginx需要的编译及依赖库安装OpenSSL库安装 PCRE库安装Zlib库安装Nginx启动Nginx进行验证撒花!Nginx 安装成功! 前言 之前因为没有写博客的习惯,导致很多东西时间久了容易遗忘.今天起,将会把工作中遇到的问题与解决思路携程博客分享出来.希望与各位程序员共同进步. 需求分析 工作中为方便运维人员安装部署.项目经理要求前端包与web服务器进行统一打包.统一入库. 从而实现运维人员使用简单的t

  • Mac系统下搭建Nginx+php-fpm实例讲解

    分享背景 由于一直在虚拟机的状态下开发PHP,尝试一下mac本地搭建环境.mac本身是自带Apache+php的,在低版本的mac系统中,mac中的php版本是5.6的版本. 本文分享的是在mac的10.13版本.前提是本地安装了brew包管理工具,如果还没安装的可以参考官网文档安装,传送门. 安装步骤 1.停止本地的Apache服务 sudo apachectl stop 2.安装NGINX brew install nginx 3.启动NGINX // 查看帮助命令 nginx -v //

  • Centos环境下Postgresql 安装配置及环境变量配置技巧

    1.yum安装 进去postgresql官网下载界面 PostgreSQL: Downloads 选择操作系统 选择系统版本,平台信息等 会出现具体的安装步骤 拷贝脚本,自动执行并创建了数据库实例 上面的创建数据库实例 sudo /usr/pgsql-13/bin/postgresql-13-setup initdb 允许开机自启动postgresql数据库 sudo systemctl enable postgresql-13 操作系统的服务管理命令启动数据库 sudo systemctl s

随机推荐