nginx启动成功_centos重启服务器命令

nginx启动成功_centos重启服务器命令文章目录启动Nginx停止nginxservice服务脚本Nginx开机自启启动Nginxnginx安装完成后,切换到nginx安装目录中的sbin目录(如果在执行./configure没有指定额外的参数,则sbin目录为默认目录,否则切换到自定义目录),通过执行该目录下nginx编译后的二进制文件即可启动程序。cd/usr/local/nginx/sbin/nginx./nginx执行上面的操作后,成功启动nginx,程序是没有任何提示的。我们可以使用ps命令查看nginx的运行状态

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

启动 Nginx

nginx安装完成后,切换到nginx安装目录中的sbin目录(如果在执行 ./configure 没有指定额外的参数,则sbin目录为默认目录,否则切换到自定义目录),通过执行该目录下nginx编译后的二进制文件即可启动程序。

cd /usr/local/nginx/sbin/nginx
./nginx

执行上面的操作后,成功启动nginx,程序是没有任何提示的。我们可以使用ps命令查看nginx的运行状态,具体命令如下:

ps -ef | grep nginx

root      74751      1  0 19:51 ?        00:00:00 nginx: master process /usr/local/nginx/nginx
nobody    74752  74751  0 19:51 ?        00:00:00 nginx: worker process
nobody    74753  74751  0 19:51 ?        00:00:00 nginx: worker process
nobody    74754  74751  0 19:51 ?        00:00:00 nginx: worker process
nobody    74755  74751  0 19:51 ?        00:00:00 nginx: worker process
root      77668  19244  0 20:51 pts/0    00:00:00 grep --color=auto nginx

上面结果说明:

前面5行分别是nginx主进程(master process)和工作进程(worker process),最后一行是grep nginx命令。当看到这两个nginx进程时,说明nginx已经启动。
从第1列可以看出,nginx主进程以root用户运行,而工作进程以nobody用户运行,第二列显示了5个进程的ID(即PID),分别为:74751 74752 74753 74754和74755

注意:进程数是由电脑本身的处理器数量以及在Nginx配置文件中指定的数量综合决定的,所以每个人看到的可能不一样。

Nginx启动后,安装目录下,logs目录中会有ngxin.pid文件,可以使用 cat 命令查看进程号

cd /usr/local/nginx/logs
cat nginx.pid

停止 Nginx

当需要停止nginx服务时,有多种停止方式,可以根据需求才取不同的方式,具体如下:

1). 立即停止服务

nginx程序允许传递选项 -s 表示发送信号到主进程,如果后面跟上stop表示停止服务

./nginx -s stop

2). 从容停止服务

前面的stop是立即停止nginx服务,无论当前工作进程是否正在处理工作。而nginx提供的从容停止方式quit,是在完成当前工作任务后再停止,即平缓停止。

./nginx -s quit

3). 通过kill 或 killall 命令杀死进程

linux中提供了kill命令可以杀死进程,从而让指定的进程停止运行

kill nginx主进程pid

除了启动与停止nginx服务的操作,还有一些其他常用命令:

命令 说明
nginx -s reload 在nginx已经启动的情况下重新加载配置文件(平滑重启)
nginx -s repopen 重新打开日志文件
nginx -c /特定目录/nginx.conf 以特定目录下的配置文件启动nginx
nginx -t 检查当前配置文件是否正确
nginx -t -c /特定目录/nginx.conf 检测特定目录下的nginx配置文件是否正确
nginx -v 显示版本信息
nginx -V 显示版本信息和编译选项
nginx -h 显示 nginx 可以设置的参数(上面的参数都是从这个命令显示出来的)

service 服务脚本

Linux服务是可以通过service命令进行控制的,这能使我们在给nginx主进程发送信号以及查看操作nginx服务更加方便。在CentOS系统中,Service命令实际是调用/etc/init.d目录下的shell脚本,也就是说,如下两行命令其实等价的、

#直接运行脚本
/etc/init.d/network restart

#通过service命令执行脚本
service network restart

在上面的命令中,network是shell脚本的文件名,restart是传递给脚本的参数。因此将nginx添加到系统服务中,只需要在/etc/init.d中编写一个文件名为nginx的shell脚本即可。

注意:因为我们选用了编译源码安装 Nginx 的安装方式,所以在 /etc/init.d目录下没有对应的service 服务脚本,需要我们自己来创建。

首先,在/etc/init.d/目录下创建nginx文件,实现nginx服务管理,提供start、 stop、 reload、 restart、 status5个参数

vim /etc/init.d/nginx

具体的脚本代码如下:

#! /bin/bash

#chkconfig:35 85 15

DAEMON=/usr/local/nginx/sbin/nginx
PID=/usr/local/nginx/logs/nginx.pid

case "$1" in
  start)
      echo "Starting nginx daemon..."
      $DAEMON && echo "SUCCESS"  #开启nginx
  ;;
  stop)
      echo "Stopping nginx daemon..."
      $DAEMON -s quit && echo "SUCCESS"  #从容的停止nginx
  ;;
  reload)
      echo "Reloading nginx daemon..."
      $DAEMON -s reload && echo "SUCCESS"  #平滑重启nginx
  ;;
  restart)
      echo "Restarting nginx daemon..."
      if [ ! -f "$PID" ]; then
	   ps -ef | grep nginx | awk 'NR<3{print "kill -9 "$2}' | sh
	   sleep 3
	   $DAEMON && echo "SUCCESS"                  #开启nginx
      else
	   $DAEMON -s quit                            #从容的停止nginx
	   sleep 3
     	   $DAEMON && echo "SUCCESS"                  #开启nginx
      fi
  ;;
  status)
      if [ ! -f "$PID" ]; then                  #因为nginx启动后会生成进程文件nginx.pid,这里通过判断进程文件是否存在,判断nginx是否启动
         echo "Nginx is not running..."
      else
         echo "Nginx is running..."
      fi
  ;;
  *)
      echo "Usage:service nginx (start|stop|restart|reload|status)"
      exit 2
  ;;
esac

代码解释:

#! /bin.bash:通常写在shell脚本的开头,需要使用特殊表示符号#!定义解释此脚本的shell路径。以上代码的意思是这个脚本将使用bash环境执行。
case语句:case语句通常用于多重分支语句匹配的情况,具体语法如下:

case $变量名 in
     模式1)
       命令序列1
     ;;
     模式2)
       命令序列2
     ;;
     *)
       默认执行的命令序列
     ;;
esac

case语句必须以case开始 in结尾,中间的变量表示用户输入的字符,每个模式必须以右括号")"结束,双分号";;"结束命令序列,且匹配模式中可以使用方括号表示一个连续的范围,如[0-9],使用树杠符号“|”表示“或”;最后的“*)”是默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列,最后case语句必须以esac结束。

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

chmod a+x /etc/init.d/nginx # a+x ==> all user can execute 所有用户可执行

生成的服务命令:

service nginx start # 开启Nginx
service nginx stop # 停止Nginx
service nginx reload # 刷新Nginx
service nginx restart # 重启Nginx
service nginx status # 查看Nginx的状态

Nginx 开机自启

对于一个要经常使用的服务器而言,每次开机后,都需要用户手动开启一些服务较为麻烦,不过不要紧,Linux为我们准备了命令解决这个问题。我们可以通过chkconfig 命令完成 nginx 开机自启动的功能,chkconfig 命令的语法格式如下所示:

chkconfig [--add] [--del] [--list] [系统服务]

参数解释:
--add:用于增加指定的系统服务(如nginx),设置该服务为开机自启动
--del:用于删除指定的系统服务,取消该服务的开机自启动
--list:用于列出系统所有的服务启动情况

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

# 设置终端模式开机启动
chkconfig nginx on
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170285.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java 随机数

    Java 随机数本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示。广义上讲,Java中的随机数的有三种产生方式:(01).通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。(02).通过Math.random()返回一个0到1之间的double值。(03).通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。…

  • zuul 网关的用途_Zuul网关

    zuul 网关的用途_Zuul网关Zuul的主要作用:1.路由,进行请求转发。2.鉴权,进行身份认证(安全)。3.限流,限制访问的数量,保证服务器的稳定。除此之外还有以下作用4.负载均衡。5.压力测试。6.监控1.Zuul简单使用1.添加依赖org.springframework.cloudspring-cloud-starter-netflix-zuul2.添加@EnableZuulProxy注解@EnableZuulProx…

  • 自动生成测试用例_接口测试用例自动生成工具

    自动生成测试用例_接口测试用例自动生成工具前言写用例之前,我们应该熟悉API的详细信息。建议使用抓包工具Charles或AnyProxy进行抓包。har2case我们先来了解一下另一个项目har2case他的工作原理就是将当前主流的抓

  • C/C++之makefile写法

    C/C++之makefile写法参考:https://www.cnblogs.com/owlman/p/5514724.html什么是makefileMakefile文件描述了整个工程的编译、连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建那些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件。尽管看起来可能是很复杂的事情,但是为工程编写Makefile的好处是能够使用一行命令来完成…

  • Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

    Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」版权声明:本文为博主原创文章,遵循CC4.0by-sa版权协议,转载请附上原文出处链接和本声明。…

  • npm下载和使用(超详细)

    npm下载和使用(超详细)NPM(NodePackageManager)简称为Node包管理工具安装(首先我们需要安装Node)Mac如果没有安装Node可以使用mac的包管理神器HomeBrew进行安装,首先下载HomeBrew,接下来在终端执行以下命令brewinstallnode也可以选择去官网下载pkg安装包,记得下载长期稳定版,即LTS版windows可以在官网中选择windows相对应的版本,同样下载稳定版本,一步点击安装即可使用当下载好Node后我们就可以使用n..

    2022年10月28日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号