Nginx 是一个很强大的高性能Web和反向代理服务器。虽然使用命令行可以对nginx进行各种操作,比如启动等,但是还是根据不太方便。下面介绍在Linux下安装后,如何设置开机自启动。

首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令:

vim /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 directoriesuser=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`if [ -z "`grep $user /etc/passwd`" ]; thenuseradd -M -s /bin/nologin $userfioptions=`$nginx -V 2>&1 | grep 'configure arguments:'`for opt in $options; doif [ `echo $opt | grep '.*-temp-path'` ]; thenvalue=`echo $opt | cut -d "=" -f 2`if [ ! -d "$value" ]; then# echo "creating" $valuemkdir -p $value && chown -R $user $valuefifidone
}
start() {[ -x $nginx ] || exit 5[ -f $NGINX_CONF_FILE ] || exit 6make_dirsecho -n $"Starting $prog: "daemon $nginx -c $NGINX_CONF_FILEretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval
}
stop() {echo -n $"Stopping $prog: "killproc $prog -QUITretval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval
}
restart() {configtest || return $?stopsleep 1start
}
reload() {configtest || return $?echo -n $"Reloading $prog: "killproc $nginx -HUPRETVAL=$?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" instart)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

这个脚本其实也不是我写的,谁写的呢,nginx官方写的,脚本地址:http://wiki.nginx.org/RedHatNginxInitScript ,不过要注意,如果你是自定义编译安装的nginx,需要根据您的安装路径修改下面这两项配置:

nginx=”/usr/sbin/nginx” 修改成nginx执行程序的路径。

NGINX_CONF_FILE=”/etc/nginx/nginx.conf” 修改成配置文件的路径。

保存脚本文件后设置文件的执行权限:

chmod a+x /etc/init.d/nginx

然后,就可以通过该脚本对nginx服务进行管理了:

/etc/init.d/nginx start
/etc/init.d/nginx stop

使用chkconfig进行管理

上面的方法完成了用脚本管理nginx服务的功能,但是还是不太方便,比如要设置nginx开机启动等。这时可以使用chkconfig来设置。

先将nginx服务加入chkconfig管理列表:

chkconfig --add /etc/init.d/nginx

加完这个之后,就可以使用service对nginx进行启动,重启等操作了。

service nginx start
service nginx stop

设置终端模式开机启动:

chkconfig nginx on

chkconfig命令的使用方法,就不多数啦,可以自行搜索

转载于:https://blog.51cto.com/lwm666/1946303

nginx 设置开机自动启动脚本相关推荐

  1. python 设置开机自动启动 .py 文件

    python 设置开机自动启动 .py 文件 创建python_auto.bat的快捷方式,放入启动项: C:\Users\Administrator\AppData\Roaming\Microsof ...

  2. linux下添加自动启动项,linux 开机自动启动脚本方法

    #service servicename status是当前状态 #chkconfig --list servicename是查看启动状态,也就是是否开机自动启动 首先写好脚本,如 mysql,把它放 ...

  3. sysv-rc-conf --- Linux设置开机自动启动

    Linux设置自启动 sysv-rc-conf - Linux设置开机自动启动 CentOS7 开机自启动脚本 chkconfig方式 通过sysv-rc-conf命令设置 1.在/etc/init. ...

  4. Ubuntu添加和设置开机自动启动程序的方法

    Ubuntu添加和设置开机自动启动程序的方法 1.Ubuntu添加开机自动启动程序的方法ubuntu 1. 开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 而后运行第一个进程i ...

  5. oracle18c服务启动,Oracle数据库之oracle 18c centos7 设置开机自动启动Oracle

    本文主要向大家介绍了Oracle数据库之oracle 18c centos7 设置开机自动启动Oracle,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 1. 在root用户下 ...

  6. ubuntu 设置开机执行脚本_ubuntu-18.04 设置开机启动脚本

    ubuntu-18.04 设置开机启动脚本 参阅下列链接 ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发 ...

  7. ubuntu, debian 安装redis,设置开机自动启动和密码,允许外网访问

    文章目录 ubuntu, debian 安装redis,设置开机自动启动和密码,允许外网访问 通过Python3连接redis ubuntu, debian 安装redis,设置开机自动启动和密码,允 ...

  8. VMware ESXi 6.7服务器设置开机自动启动虚拟机

    VMware ESXi 6.7服务器设置开机自动启动虚拟机,具体操作步骤如下 1.登陆到VMware ESXi 6.7  web 界面 2.导航器-->主机-->管理  将自动启动修改为 ...

  9. Linux打开rtf文档,在linux下设置开机自动启动程序的方法_精品.rtf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsplinux/Unix相关 在linux下设置开机自动启动程序的方 ...

最新文章

  1. OraOps10.dll不能加载
  2. 多线程pthread_join()的作用
  3. ctrl+Enter 自动加上 .com 而不是 .com.cn
  4. 软件测试-TC用户模板导入不成功
  5. 看过这五条,再离职!
  6. OO_2019_第一单元总结——表达式求导
  7. linux装入归档文件时出现了一个错误_Linux下解压tar.xz文件
  8. bootstrap实现单页面跳转_SpringBoot拦截器,国际化,登录实现
  9. python写word表格_使用表格—— 使用Python读写Office文档之三
  10. java excel 转 图片_Java 将Excel转为图片、html、XPS、XML、CSV
  11. VS2010SP1中文版安装问题
  12. 基于SSH开发教务排课系统
  13. Logback使用总结
  14. C# 创建HttpServer
  15. CentOS 7 搭建邮件服务器搭建(postfix+dovecot)
  16. MySQL数据库学习笔记3
  17. java教程—入门—jaav简介
  18. java 面试概念题 笔记
  19. 一进二出宿舍限电模块的基本功能
  20. 顺丰科技2018校园招聘在线笔试题

热门文章

  1. Java动态追踪技术探究
  2. 利用反射及ActionFilterAttribute实现MVC权限管理
  3. ViewBag对象的更改
  4. typedef函数指针用法
  5. 操作系统 - 进程的概念
  6. SharePoint 2013 配置HTTPS(SSL)
  7. GB0-190 考试中的知识点分布
  8. java gui 颜色从html_Java GUI显示网页并返回HTML
  9. 如何画正太分布曲线_图解统计学 01 | 神奇的正态分布
  10. 互联网协议 — 动态路由协议类型