在linux系统的/etc/init.d/目录下创建nginx文件

vim /etc/init.d/nginx

在脚本中添加以下命令(内容主要参考官方文档

  1. #!/bin/sh
  2. #
  3. # nginx - this script starts and stops the nginx daemon
  4. #
  5. # chkconfig: - 85 15
  6. # description: NGINX is an HTTP(S) server, HTTP(S) reverse \
  7. # proxy and IMAP/POP3 proxy server
  8. # processname: nginx
  9. # config: /etc/nginx/nginx.conf
  10. # config: /etc/sysconfig/nginx
  11. # pidfile: /lnmp/nginx/logs/nginx.pid
  12.  
  13. # Source function library.
  14. . /etc/rc.d/init.d/functions
  15.  
  16. # Source networking configuration.
  17. . /etc/sysconfig/network
  18.  
  19. # Check that networking is up.
  20. [ "$NETWORKING" = "no" ] && exit 0
  21.  
  22. nginx="/lnmp/nginx/sbin/nginx"
  23. prog=$(basename $nginx)
  24.  
  25. NGINX_CONF_FILE="/lnmp/nginx/conf/nginx.conf"
  26.  
  27. [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
  28.  
  29. lockfile=/var/lock/subsys/nginx
  30.  
  31. make_dirs() {
  32. # make required directories
  33. user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
  34. if [ -n "$user" ]; then
  35. if [ -z "`grep $user /etc/passwd`" ]; then
  36. useradd -M -s /bin/nologin $user
  37. fi
  38. options=`$nginx -V 2>&1 | grep 'configure arguments:'`
  39. for opt in $options; do
  40. if [ `echo $opt | grep '.*-temp-path'` ]; then
  41. value=`echo $opt | cut -d "=" -f 2`
  42. if [ ! -d "$value" ]; then
  43. # echo "creating" $value
  44. mkdir -p $value && chown -R $user $value
  45. fi
  46. fi
  47. done
  48. fi
  49. }
  50.  
  51. start() {
  52. [ -x $nginx ] || exit 5
  53. [ -f $NGINX_CONF_FILE ] || exit 6
  54. make_dirs
  55. echo -n $"Starting $prog: "
  56. daemon $nginx -c $NGINX_CONF_FILE
  57. retval=$?
  58. echo
  59. [ $retval -eq 0 ] && touch $lockfile
  60. return $retval
  61. }
  62.  
  63. stop() {
  64. echo -n $"Stopping $prog: "
  65. killproc $prog -QUIT
  66. retval=$?
  67. echo
  68. [ $retval -eq 0 ] && rm -f $lockfile
  69. return $retval
  70. }
  71.  
  72. restart() {
  73. configtest || return $?
  74. stop
  75. sleep 1
  76. start
  77. }
  78.  
  79. reload() {
  80. configtest || return $?
  81. echo -n $"Reloading $prog: "
  82. killproc $prog -HUP
  83. retval=$?
  84. echo
  85. }
  86.  
  87. force_reload() {
  88. restart
  89. }
  90.  
  91. configtest() {
  92. $nginx -t -c $NGINX_CONF_FILE
  93. }
  94.  
  95. rh_status() {
  96. status $prog
  97. }
  98.  
  99. rh_status_q() {
  100. rh_status >/dev/null 2>&1
  101. }
  102.  
  103. case "$1" in
  104. start)
  105. rh_status_q && exit 0
  106. $1
  107. ;;
  108. stop)
  109. rh_status_q || exit 0
  110. $1
  111. ;;
  112. restart|configtest)
  113. $1
  114. ;;
  115. reload)
  116. rh_status_q || exit 7
  117. $1
  118. ;;
  119. force-reload)
  120. force_reload
  121. ;;
  122. status)
  123. rh_status
  124. ;;
  125. condrestart|try-restart)
  126. rh_status_q || exit 0
  127. ;;
  128. *)
  129. echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
  130. exit 2
  131. esac

其中,nginx=”/lnmp/nginx/sbin/nginx”  修改成nginx执行程序的路径。

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

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

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

测试脚本是否能使用:

/etc/init.d/nginx start

若出现以下错误:

按照提示执行即可:

systemctl daemon-reload

设置成服务并开机自启动

chkconfig --add /etc/init.d/nginx     #将nginx服务加入chkconfig管理列表

chkconfig nginx on                        #设置终端模式开机启动

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

service nginx start

service nginx restart

service nginx stop

service nginx status

Linux下nginx自启动配置的更多相关文章

  1. VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

    首先启动Nginx 1. 相关浏览 两个 Tomcat 配置:  VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...

  2. VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)

    准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...

  3. VMware Linux 下 Nginx 安装配置 (一)

    资源准备 1. pcre-8.34.tar.gz: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 2. zlib-1.2.8.tar.g ...

  4. linux下Nginx 安装配置

    Nginx 安装 一.首先要安装 PCRE PCRE 作用是让 Ngnix 支持 Rewrite 功能. 1.下载 PCRE 安装包,下载地址: http://downloads.sourceforg ...

  5. linux下nginx php配置redis

      之前一直遇到,Module compiled with module API=20090626这个坑问题!!! NOTICE: PHP message: PHP Warning: PHP Star ...

  6. VMware Linux 下 Nginx

    负载   VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三) Weiseditor 2014-11-26 23:42 阅读:1 评论 ...

  7. 【转】Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  8. Linux下安装与配置Nginx

    一.准备 Nginx版本:nginx-1.7.7.tar.gz   请自行到官网下载对应的版本. 二.步骤 ♦在Linux新建一个queenLove用户 [root@localhost /]# use ...

  9. linux下nginx结合keepalived实现主从切换的配置

    linux下nginx结合keepalived实现主从切换的配置   解决方法: 实现一个主nginx宕机,请求转到另一个nginx中. 1.确保两台nginx已启动,假如端口分别是192.168.0 ...

随机推荐

  1. [dp]牛牛与数组

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 牛牛喜欢这样的数组: 1:长度为n 2:每一个 ...

  2. Hook集合----SSDTHook(x86 Win7)

    最近在学习Ring0层Hook的一些知识点,很久就写完SSDTHook的代码了,但是一直没有整理成笔记,最近有时间也就整理整理. 介绍: SSDTHook 实质是利用Ntoskrnl.exe 中全局导 ...

  3. 强化学习之三:双臂赌博机(Two-armed Bandit)

    本文是对Arthur Juliani在Medium平台发布的强化学习系列教程的个人中文翻译,该翻译是基于个人分享知识的目的进行的,欢迎交流!(This article is my personal t ...

  4. Kaggle竞赛入门:决策树算法的Python实现

    本文翻译自kaggle learn,也就是kaggle官方最快入门kaggle竞赛的教程,强调python编程实践和数学思想(而没有涉及数学细节),笔者在不影响算法和程序理解的基础上删除了一些不必要的 ...

  5. python之路 2020/2/18

    这是第一篇随笔,记录今天的内容,我不知道什么是成功,因为我没有成功过,但是,我想成功一次! python 多练吧! 一.编程语言的分类 机器语言:01001010,高低电平,计算机懂的语言. 汇编语言 ...

  6. Spring Boot 整合视图层技术,application全局配置文件

    目录 Spring Boot 整合视图层技术 Spring Boot 整合jsp Spring Boot 整合freemarker Spring Boot 整合视图层技术 Spring Boot 整合 ...

  7. MapReduce( map的使用)

    MapReduce Description MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Red ...

  8. WPF使用 Gmap.NET 绘制极坐标运动轨迹

    大家好,已经很久没有更新了,今天写一篇关于WPF 使用 Gmap.NET 相关的,网上很多Winform的很**,所以我给Wpf进行一些补充.虽然它已经很久没有更新了,但是也只能用这个了.没别的好选择 ...

  9. 使用IDEA编写JDBC

    省去下载MySQL的过程,创建数据库demo 首先在下载的Java服务中将此jar包复制到项目中的一个空文件夹中 在当前工程下新建目录lib(名字可自定) 找到MySQL的Java服务的jar包 打开 ...

  10. RocketMQ的高可用集群部署

    RocketMQ的高可用集群部署 标签(空格分隔): 消息队列 部署 1. RocketMQ 集群物理部署结构 Rocket 物理部署结构 Name Server: 单点,供Producer和Cons ...