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. 机器学习技法:09 Decision Tree

    Roadmap Decision Tree Hypothesis Decision Tree Algorithm Decision Tree Heuristics in C&RT Decisi ...

  2. [AHOI 2009]chess 中国象棋

    Description 题库链接 给你一张 \(N\times M\) 的棋盘.要求每行每列最多放两个棋子,问总方案数. \(1\leq N,M\leq 100\) Solution 记 \(f_{i ...

  3. [Luogu 3768]简单的数学题

    Description 输入一个整数n和一个整数p,你需要求出$(\sum_{i=1}^n\sum_{j=1}^n ijgcd(i,j))~mod~p$,其中gcd(a,b)表示a与b的最大公约数. ...

  4. sdut 2878 圆圈

    [ 题目描述]现在有一个圆圈, 顺时针标号分别从 0 到 n-1, 每次等概率顺时针走一步或者逆时针走一步,即如果你在 i 号点,你有 1/2 概率走到((i-1)mod n)号点,1/2 概率走到( ...

  5. Codeforces 343E Pumping Stations

    Description 题面 题目大意:求一个排列 \(P\),使得 \(\sum_{i=1}^{n-1}maxflow(P_i,P_{i+1})\) 尽量大 Solution 构造出最小割树,那么第 ...

  6. ●POJ 1195 Mobile phones

    题链: http://poj.org/problem?id=1195 题解: 二维树状数组 #include<cstdio> #include<cstring> #includ ...

  7. 【BZOJ4034】【HAOI2015】树上操作

    题目请自行查阅传送门. 典型的树剖题,线段树维护操作,记一下子树在线段树内范围即可. 时间复杂度:\( O(m \log^{2} n) \) #include <stdio.h> #def ...

  8. VK-Cup 2017 qualification 1

    VK-Cup,cf里面只有切成俄文才能看到,题目也都是俄文的(百度翻译成英文和中文). 两人组队参赛的,赛期1天,乐多赛赛制(和时间基本无关,交上去挂了扣分).这次是第一场资格赛. 这次又和ditol ...

  9. hdu5630 BestCoder Round #73 (div.2)

    Rikka with Chess  Accepts: 393  Submissions: 548  Time Limit: 2000/1000 MS (Java/Others)  Memory Lim ...

  10. 使用JdbcTemplate过程中使用到多个参数和like模糊

    项目中经常会用到模糊查询,最近使用JdbcTemplate过程中就遇到了. 一开始尝试了拼接的方式去 String sql = "select count(1) from web_users ...