1.启动nginx的方式:

cd /usr/local/nginx

ls

./nginx -c nginx.conf

2.查看nginx的进程方式:

[root@localhost nginx]# ps –ef | grep nginx

[root@localhost nginx]# ps -ef | grep nginx

root     21094     1  0 07:52 ?        00:00:00 nginx: master process ./nginx -c nginx.conf

nginx    21095 21094  0 07:52 ?        00:00:00 nginx: worker process

root     21270  3019  1 08:05 pts/1    00:00:00 grep nginx

3.查看Nginx服务主进程的方式:

[root@localhost nginx]# cat nginx.pid

21094

这个进程号和上面的进程号是一样的

4.Nginx服务可接受的信号

信号

作用

TERM或INT

快速停止Nginx服务

QUIT

平缓停止Nginx服务

HUP

使用新的配置文件启动进程,之后平缓停止原有进程,也就是所谓的”平滑重启”

USR1

重新打开日志文件,常用于日志切割,在相关章节中会对此进一步说明

USR2

使用新版本的Nginx文件启动服务,之后平缓停止原有Nginx进程,也就是所谓的”平滑升级”

WINCH

平缓停止worker process,用于Nginx服务器平滑升级

向nginx服务主进程发送信号也有两种方法。一种是使用nginx二进制文件

另一种方法是使用kill命令发送信号,其使用方法是:

Kill -9 PID

也可以通过发信号的方式:

使用TERM信号

[root@localhost nginx]# kill TERM 21094      3019  0 08:16 pts/1    00:00:00 grep nginx

重启命令

[root@localhost nginx]# ./nginx -c nginx.conf

[root@localhost nginx]# ps -ef | grep nginx

root     21440     1  0 08:18 ?        00:00:00 nginx: master process ./nginx -c nginx.conf

nginx    21441 21440  0 08:18 ?        00:00:00 nginx: worker process

root     21445  3019  2 08:18 pts/1    00:00:00 grep nginx

5、使用nginx的帮助的方式

nginx -h

[root@localhost nginx]# ./nginx -h

nginx version: nginx/1.10.1

Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:

-?,-h         : this help

-v            : show version and exit

-V            : show version and configure options then exit

-t            : test configuration and exit

-T            : test configuration, dump it and exit

-q            : suppress non-error messages during configuration testing

-s signal     : send signal to a master process: stop, quit, reopen, reload

-p prefix     : set prefix path (default: /usr/local/nginx/)

-c filename   : set configuration file (default: /usr/local/nginx/nginx.conf)

-g directives : set global directives out of configuration file

[root@localhost nginx]#

通过-v 用来显示Nginx服务器的版本号;

通过-V显示版本号,同事显示相关的配置信息

通过-t检查Nginx服务器配置文件是否有语法错误,可以与-c联用,使输出内容更详细,这对查找配置文件中的语法错误很有帮助,如果检查通过,将显示类似下面的信息

[root@localhost nginx]# pwd

/usr/local/nginx

[root@localhost nginx]# ls

client_body_temp      fastcgi_params.default  koi-win             nginx               proxy_temp           uwsgi_params

fastcgi.conf          fastcgi_temp            logs                nginx.conf          scgi_params          uwsgi_params.default

fastcgi.conf.default  html                    mime.types          nginx.conf.default  scgi_params.default  uwsgi_temp

fastcgi_params        koi-utf                 mime.types.default  nginx.pid           scgi_temp            win-utf

[root@localhost nginx]# ./nginx -t -c nginx.conf

nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/nginx.conf test is successful

[root@localhost nginx]#

可以执行

[root@localhost nginx]# ./nginx -V

nginx version: nginx/1.10.1

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)

built with OpenSSL 1.0.1c 10 May 2012

TLS SNI support enabled

configure arguments: --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/home/toto/software/nginxdepents/pcre-8.37 --with-zlib=/home/toto/software/nginxdepents/zlib-1.2.8 --with-openssl=/home/toto/software/nginxdepents/openssl-1.0.1c --with-http_stub_status_module --user=nginx --group=nginx

[root@localhost nginx]#

杀死主进程的方式同样可以是:

./nginx SIGNAL nginx.pid

主要最后面一个参数是nginx.pid的路径

6、Nginx服务的重启

关于Nginx平滑重启,平滑重启是这样一个过程,Nginx服务进程接收到信号后,首先读取新的Nginx配置文件,如果配置语法正确,则启动新的Nginx服务,然后平缓关闭旧的服务进程;如果新的Nginx配置有问题,将显示错误,仍然使用旧的Nginx提供服务。

使用以下命令实现Nginx服务的平滑重启

./nginx –g HUP [-c newConfFile]

HUP信号用于发送平滑重启信号。

newConfFile,可选项,用于指定新配置文件的路径

或者,使用新的配置文件代替了旧的配置文件后,使用:

Kill HUP `nginx.pid`    (注意最后一个参数连边的引号;引号里面是nginx.pid的路径)

也可以实现平滑重启。

7、Nginx服务器的升级

如果要对当前的Nginx服务器进行版本升级,应用新模块,最简单的办法是停止当前Nginx服务,然后开启新的Nginx服务,但这样就会导致在一段时间内,用户无法访问服务器。为了解决这个问题,Nginx服务器提供平滑升级的功能。

平滑升级的过程是这样的,Nginx服务接收到USR2信号后首先将旧的nginx.pid文件(如果在配置文件中更改过这个文件的名字,也是相同的过程)添加.oldbin,变为nginx.pid.oldbin文件;然后执行新版本Nginx服务器的二进制文件启动服务。如果新的服务启动成功,系统中将由新旧两个Nginx服务公用提供Web服务。如果新的服务启动成功,系统中将有新旧两个Nginx服务共同提供Web服务。之后,需要向旧的Nginx服务进程发送WINCH信号,使旧的Nginx服务平滑停止,并删除nginx.pid.oldbin文件。在发送WINCH信号之前,可以随时停止新的Nginx服务。

注意:

为了实现Nginx服务器的平滑升级,新的服务器安装路径应该和旧的保持一致。因此建议用户在安装新服务器之前先备份旧服务器。如果由于某种原因无法保持新旧服务器安装路径一致,则可以先使用以下命令将旧服务器的安装路径更改为新服务器的安装路径:

./nginx –p newInstallPath

其中,newInstallPath为新服务器的安装路径。之后,备份旧服务器,安装新服务器即可。

做好准备工作以后,使用以下命令实现Nginx服务的平滑升级。

./nginx –g USR2

其中USR2信号用于发送平滑升级信号。或者,使用:

Kill USR2 `nginx.pid`   注意,最后一个参数里面是nginx.pid的路径

通过ps –ef | grep nginx查看新的Nginx服务器启动正常,再使用:

./nginx –g WINCH

其中,WINCH信号用于发送平滑停止旧服务信号。或者,使用:

Kill WIN `nginx.pid`

这样就不停止提供Web服务的前提下完成了Nginx服务器的平滑升级。

【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级的更多相关文章

  1. 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换

    路由其实也可以很简单-------Asp.net WebAPI学习笔记(一)   MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中, ...

  2. [学习笔记] Oracle体系结构、下载安装、创建实例、客户端工具、网络服务名、服务管理

    Oracle体系结构 实例: 一个操作系统只有一个 Oracle 数据库 一个 Oracle 数据库可以有多个 Oracle 实例(通常只安装一个实例) 一个实例对应着一系列的后台进程和内存结构 表空 ...

  3. docker学习笔记1:docke环境的查看

    本文的操作是在ubuntu操作系统下的. 一.环境检查 当登录一个安装了docker的机器后,首先我们要检查下docker环境如何. 1.命令:docker -v 上述命令返回安装的docker的版本 ...

  4. Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容

    ① 读取文件夹大小 a. 封装计算文件夹大小的函数 b.  打开文件夹 c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小:如果是文件夹,则递归调用该函数 注意两个问题: ...

  5. Web 在线文件管理器学习笔记与总结(4)查看文件内容

    ② 查看文件内容 a.通过 file_get_contents($filename) 得到文件内容 b.通过 highlight_string($string) 或者 highlight_file($ ...

  6. Android(java)学习笔记203:网页源码查看器(Handler消息机制)

    1.项目框架图: 2.首先是布局文件activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com ...

  7. linux达人养成计划学习笔记(七)—— 用户登录查看命令

    一.查看用户登录信息 1.命令格式 w 2.命令结果 第一行信息是:系统当前时间     系统运行总时间     登录用户数量     一分钟/五分钟/十分钟的系统负载(越大越差) 二.who命令 1 ...

  8. Android(java)学习笔记146:网页源码查看器(Handler消息机制)

    1.项目框架图: 2.首先是布局文件activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com ...

  9. MySQL学习笔记--启动停止服务

    右键点击计算机->管理->服务  windows所有的服务都在,mysql等等.可以在这里启动停止服务也可以在命令行 net start/stop  <服务名> InnoDB还 ...

随机推荐

  1. 用js来实现那些数据结构09(集合01-集合的实现)

    说到集合,第一个想到的就是中学学到的那个数学概念:集合.在我们开始集合相关的js实现前,我们有必要来了解一下什么是集合以及集合的数学概念. 好吧,我们一起来复习一下早就被我们遗忘的集合. 集合是由一组 ...

  2. 百度URL 部分参数

    [Baidu URL的部分参数] 1.Baidu Form表单如下: 2.部分参数解析 wd  查询关键字,就是你要搜索的内容. bs 上一次搜索的词或者内容: rn  搜索结果页每页显示的数目,默认 ...

  3. [ZJOI2016]小星星

    题目描述 小Y是一个心灵手巧的女孩子,她喜欢手工制作一些小饰品.她有n颗小星星,用m条彩色的细线串了起来,每条细线连着两颗小星星. 有一天她发现,她的饰品被破坏了,很多细线都被拆掉了.这个饰品只剩下了 ...

  4. UVA11552:Fewest Flops

    发现如果只有一块就是种类的数目,也就是同种放在一起, 再考虑多块,如果违背的上面的规律,可以发现不会更优, 于是问题就是求在满足同种类放在一起的前提下,尽量使得相邻块的两端一模一样 然后dp一下就可以 ...

  5. SPOJ Coconuts 最大流 最小割

    A group of n castle guards are voting to determine whether African swallows can carry coconuts. Whil ...

  6. hdu 5463(水水)

    Sample Input 2 3 2 33 3 33 2 33 10 5 467 6 378 7 309 8 499 5 320 3 480 2 444 8 391 5 333 100 499   S ...

  7. 【Codeforces Round #431 (Div. 1) D.Shake It!】

    ·最小割和组合数放在了一起,产生了这道题目. 英文题,述大意:     一张初始化为仅有一个起点0,一个终点1和一条边的图.输入n,m表示n次操作(1<=n,m<=50),每次操作是任选一 ...

  8. 使用PL/SQL Developer连接远程DB(本机不安装Oracle客户端)

    本文内容亲测可行环境:    服务端:centos6.7 ,oracle 11g r2 ,动态注册,监听端口号:1521    用户端:win7 ,没有安装ORACLE及其客户端 准备文件:plsql ...

  9. Mac下Git安装及配置

    Mac下: 1.下载git版本并安装 运行终端 查看git版本: bogon:~ yan$ git --version git version 2.16.3 配置gitconfig文件 vim ~/. ...

  10. 整理spring定时器corn表达式

    1.结构 corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份 2.各字段的含义   字段 允许值 允许的特殊字符 秒 0~59 - * / 分 0~59 - * / ...