当前位置:首页 > 教程 > 正文内容

nginx是否启动(nginx在启动后,会有一个什么进程和多个什么进程)

2023-03-18 03:10:04教程2

nginx在启动后,会有一个什么进程和多个什么进程

  Nginx会按需同时运行多个进程:一个主进程(master)和几个工作进程(worker),配置了缓存时还会有缓存加载器进程(cache loader)和缓存管理器进程(cache manager)等。Nginx主要通过“共享内存”的机制实现进程间通信。主进程以root用户身份运行,而worker、cache loader和cache manager均应以非特权用户身份运行。  在工作方式上,Nginx分为单工作进程和多工作进程两种模式。在单工作进程模式下,除主进程外,还有一个工作进程,工作进程是单线程的;在多工作进程模式下,每个工作进程包含多个线程。Nginx默认为单工作进程模式。

nginx启动状态

1、nigix是否在正常运行,需要用linux命令查看nginx运行情况。执行命令:ps -A | grep nginx。

如果返回结果的话,说明有nginx在运行,服务已经启动。如果不怕nginx关闭的话。也可以执行:service nginx restart。

把nginx服务重启,在重启时,也可以看到具体有没有什么地方出错。

2、看端口netstat -ntlp;

看进程ps -ef|grep nginx;

看日志是否更新tail -f access.log。

3、直接查看进程id:ps -C nginx -o pid。

这种直接返回pid的方式比较适合跟其他程序结合使用,比如在shell/python脚本中执行这个命令拿到pid,让后根据pid来判断Nginx是否启动。 推荐使用这种方式。

nginx启动不了

nginx不能启动的原因一般有以下几个原因:

1.配置文件错误,检查配置文件是否存在语法错误2.监听的端口已经被使用3.https网站证书错误

nginx启动失败是什么原因

查看进程列表(条件过滤) Linux没运行一个程序就会产生一个进程,那么可以通过查看Nginx进程来判断它是否运行。

直接查看进程pid 这种直接返回pid的方式比较适合跟其他程序结合使用,

nginx的进程

1、查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

netstat -n|grep ^tcp|awk '{print $NF}'|sort -nr|uniq -c

或者:

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'

返回结果一般如下:

LAST_ACK 5 (正在等待处理的请求数)

SYN_RECV 30

ESTABLISHED 1597 (正常数据传输状态)

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)

其他参数说明:

CLOSED:无连接是活动的或正在进行

LISTEN:服务器在等待进入呼叫

SYN_RECV:一个连接请求已经到达,等待确认

SYN_SENT:应用已经开始,打开一个连接

ESTABLISHED:正常数据传输状态

FIN_WAIT1:应用说它已经完成

FIN_WAIT2:另一边已同意释放

ITMED_WAIT:等待所有分组死掉

CLOSING:两边同时尝试关闭

TIME_WAIT:另一边已初始化一个释放

LAST_ACK:等待所有分组死掉

2、查看Nginx运行进程数

ps -ef | grep nginx | wc -l

返回的数字就是nginx的运行进程数,如果是apache则执行

ps -ef | grep httpd | wc -l

3、查看Web服务器进程连接数:

netstat -antp | grep 80 | grep ESTABLISHED -c

nginx启动后没有进程

1、首先,在浏览器上按F12,Network栏目,查看接口的响应状态,如果是failed,则可能是几种原因:

1.可能是自己网络断了

2.可能是自己的服务挂了

3.可能是服务器挂了

2、如果status返回的状态是404,则是路径写的不正确,访问不到后台路径,这个时候服务器返回404。

3、如果status返回的状态是500,则是服务器内部发生错误,这个时候要找后台开发人员定位一下原因,也有可能是请求方式写错了,可能将Post请求写成了Get请求。

4、如果status返回的状态是502,可能是代理服务器关闭,这个时候如果用的是nginx服务器要检查一下服务器有没有关闭。或者查看一下nginx的启动进程是不是多个,如果是多个的话全部杀掉,然后重新启动nginx

5、如果返回的是403,则表示无权访问服务器上的资源,可能是没有token,或者token失效。

6、如果返回的是400,则可能是发往后台的数据格式错误,比如后台用的是一个对象接受参数,结果你传参了一个字符串,所以可能会报400错误。

nginx在启动后,会有一个什么进程和多个什么进程的关系

启动:cd /usr/local/nginx/sbin./nginxnginx服务启动后默认的进程号会放在/usr/local/nginx/logs/nginx.pid文件cat nginx.pid 查看进程号关闭:kill -TERM pid 快速停止服务kill -QUIT pid 平缓停止服务kill -9 pid 强制停止服务重启:cd /usr/local/nginx./nginx -HUP pid./nginx -s reload

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98751146.html