HTTP状态码 本篇文章主要介绍运维过程中经常遇到的状态码,并通过业界流行的Nginx进行模拟实现。...在Nginx中要想模拟这种状态码,必须将Nginx调整成认证模式。...,⽽是Nginx⾃⼰定义的⼀个状态码。...当客户端主动断开连接的时候,Nginx就会返回499的状态码。按照这个状态码的定义,只要在Nginx返回结果之前主动断开客户端连接,就应该会复现这个状态码。...当PHP-FPM的执⾏时间⼤于Nginx的读超时间,此时就会出现 504状态码。
分析: 1.后端地址正常返回200; 2.确认是url加上参数后,nginx返回400,并且nginx除了400状态码的访问日志,没有输出其他异常日志; nginx地址: https://test.com
最近了解下Nginx的Code状态码,在此简单总结下。...,进而产生不同的状态码。...这些都代表,在nginx设置的超时时间内,上游uwsgi没有给正确的响应(但是是有响应的,不然如果一直没响应,就会变成504超时了),因此nginx这边的状态码为502。...upstream的容灾机制,默认情况下,Nginx 默认判断失败节点状态以connect refuse和time out状态为准,不过location里加了这个配置: proxy_next_upstream.../5xx/; } } 这个的意思就是,对于访问88端口的请求,nginx会返回503状态码,同时返回/opt/tiger/ss_conf/nginx/5xx/这个路径下的500.html
最近了解下Nginx的Code状态码,在此简单总结下。 先来再回顾一下一个http请求处理流程: ?...D -> nginx将处理结果返回给客户端 每个阶段都会有一个预设的超时时间,由于网络、机器负载、代码异常等等各种原因,如果某个阶段没有在预期的时间内正常返回,就会导致这次请求异常,进而产生不同的状态码...这些都代表,在nginx设置的超时时间内,上游uwsgi没有给正确的响应(但是是有响应的,不然如果一直没响应,就会变成504超时了),因此nginx这边的状态码为502。...upstream的容灾机制,默认情况下,Nginx 默认判断失败节点状态以connect refuse和time out状态为准,不过location里加了这个配置: proxy_next_upstream.../5xx/; } } 这个的意思就是,对于访问88端口的请求,nginx会返回503状态码,同时返回/opt/tiger/ss_conf/nginx/5xx/这个路径下的500.html文件
编译Nginx添加http_stub_status_module 编译Nginx的时候添加参数:--with-http_stub_status_module cd nginx-{version}.../configure --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module make && make...启用nginx status配置 修改Nginx配置文件nginx.conf,在HTTP段中添加 vi /opt/nginx/conf/nginx.conf server { listen...Reading //nginx 读取到客户端的 Header 信息数。 Writing //nginx 返回给客户端的 Header 信息数。 ...Waiting //开启 keep-alive 的情况下,这个值等于 active – (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接
Zabbix监控Nginx性能状态 Nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,从而发现故障隐患,Ngnx的监控指标可分为:基本活动指标,错误指标,性能指标。...需要使用zabbix监控nginx,首先nginx需要配置ngx_status,如果开启请看小柒博客之前的文章《Nginx服务器启用status状态页面》 监控Nginx思路: 1)首先,要想监控Nginx...,需要状态模块的支持,也就是-with-http_stub_status_module;随后在nginx.conf配置开启status状态 2)通过awk取status的各个状态数值 3)自定义模板将取值...status的状态写成脚本,放在UserParmeter后面,最后通过zabbix_get测试Agent端是否得到状态值 Active connections Nginx正处理的活动链接数个数...4、效果图展示 至此,Zabbix监控Nginx性能状态完毕。
Nginx状态监控如何启用? 1....编译Nginx添加http_stub_status_module 编译Nginx的时候添加参数:--with-http_stub_status_module cd nginx-{version}.../configure --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module make && make...启用nginx status配置 修改Nginx配置文件nginx.conf,在HTTP段中添加 vi /opt/nginx/conf/nginx.conf server { listen...Reading //nginx 读取到客户端的 Header 信息数。 Writing //nginx 返回给客户端的 Header 信息数。
Linux下查看Nginx的并发连接数和连接状态 : 查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]}...在众多TCP状态中,最值得注意的状态有两个:CLOSE_WAIT和TIME_WAIT。 TIME_WAIT TIME_WAIT 是主动关闭链接时形成的,等待2MSL时间,约4分钟。...根据TCP状态机,服务器端收到客户端发送的FIN,则按照TCP实现发送ACK,因此进入CLOSE_WAIT状态。...为什么 TIME_WAIT 状态需要保持 2MSL 这么长的时间? 如果 TIME_WAIT状态保持时间不足够长(比如小于2MSL),第一个连接就正常终止了。...因为linux分配给一个用户的文件句柄是有限的,而TIME_WAIT和CLOSE_WAIT两种状态如果一直被保持,那么意味着对应数目的通道就一直被占着,而且是“占着茅坑不使劲”,一旦达到句柄数上限,新的请求就无法被处理了
二.通过系统调用获取标识符 linux中可以通过 系统调用接口:getpid 获取该进程的PID,getppid可以获取父进程的PID 例: #include #include...} 三.fork函数的认识与理解 fork认识 linux...一般情况下,子进程和父进程也是共享数据的,但是一直共享数据也不现实,因为当我们要修改数据时,会把两个进程的数据都改了,这并不是我们想要的,但是重新开一块空间拷贝父进程的数据又有点浪费,所以linux就使用了一种叫写时拷贝的技术...linux中进程的状态 linux中的进程状态分为这几种 static const char * const task_state_array[] = { "R (running)", /* 0...D状态就算是阻塞状态了,S状态又叫浅度睡眠,D状态又叫深度睡眠,处于深度睡眠的进程不会响应任何请求,你只能慢慢等它结束,或是断电。
3.Linux进程状态 static const char * const task_state_array[] = { "R (running)", /* 0 */ "S (sleeping)",..."T (stopped)", /* 4 */ "t (tracing stop)", /* 8 */ "X (dead)", /* 16 */ "Z (zombie)", /* 32 */ }; Linux...R状态 进程只要是R状态,就一定是在CPU运行吗?...X状态(死亡状态)&&Z状态(僵尸状态) X死亡状态只是一个返回状态,你不会在任务列表里看到这个状态,所以这里这是举例时提及,但不会验证 我们创建进程,是为了进程帮我们办事,同时也关心结果,而main函数的返回值是进程的退出码...linux当进程退出的时候,一般进程不会立即彻底退出,而是要维持一个状态叫做Z状态,也叫做僵尸状态 方便后续父进程读取子进程退出的退出结果 如何让我们看到僵尸状态呢?
二.状态 R-可执行 Linux进程状态:R (TASK_RUNNING),可执行状态。 只有在该状态的进程才可能在CPU上运行。...S-可中断睡眠 Linux进程状态:S (TASK_INTERRUPTIBLE),可中断的睡眠状态。...D-不可中断睡眠 Linux进程状态:D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态。...I-空闲 Linux进程状态:I (Idle),空闲状态。...Z-退出 Linux进程状态:Z (TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程。 进程在退出的过程中,处于TASK_DEAD状态。
1.查看防火墙状态:active (running) 即是开启状态: systemctl status firewalld 2.查看已开发端口命令:firewall-cmd –list-all...firewall-cmd –reload 5.firewalld的基本使用命令: 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态...systemctl enable firewalld 6.配置firewalld-cmd命令 查看版本: firewall-cmd –version 查看帮助: firewall-cmd –help 显示状态...get-active-zones 查看指定接口所属区域: firewall-cmd –get-zone-of-interface=eth0 拒绝所有包:firewall-cmd –panic-on 取消拒绝状态...firewalld.service 关闭一个服务:systemctl stop firewalld.service 重启一个服务:systemctl restart firewalld.service 显示一个服务的状态
一、首先检查是否编译相关模块: nginx -V 查看是否存在: --with-http_stub_status_module 示例: nginx version: nginx/1.8.1 built... --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log... --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock... --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module -...service nginx restart 四、检查状态 Active connections: 5 server accepts handled requests 5970806143
说明 php-fpm和nginx一样,内建了个状态页,可以通过该状态页了解监控php-fpm的状态。...1、开启开启 php-fpm 状态页 #找到php的安装目录下的www.conf文件,添加pm.status_path配置项。...pm.status_path = /php_fpm_status 添加到 php-fpm.conf 中,但是,一定要添加到 php-fpm.conf 文件中的最后,否则重启php-fpm时会出现以下错误: 2、Nginx...配置 在nginx的配置文件中添加以下配置。...3、重启Nginx、php-fpm使配置生效 [root@localhost php-fpm.d]# nginx -s reload [root@localhost php-fpm.d]# pkill
nginx状态码处理函数 nginx状态码分为五大类: 100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。...407 (需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。408 (请求超时) 服务器等候请求时发生超时。 409 (冲突) 服务器在完成请求时发生冲突。...416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。 417 (未满足期望值) 服务器未满足"期望"请求标头字段的要求。...nginx记录状态码的函数是ngx_http_reqstat_log_handler。 这个函数在ngx_http_reqstat_init函数放在log phase阶段中。...之前的tengine2.2.0的nginx_version是1008001 tengine2.3.0的nginx_version是1015009 #if nginx_version >= 1009002
【转载请注明出处】:https://cloud.tencent.com/developer/article/1636526 1、Nginx状态监控 Nginx提供了一个内置的状态信息监控页面可用于监控Nginx...重启Nginx之后,浏览器访问http://{IP}/status查看状态监控信息 [image.png] Active connections:当前的客户端活动连接数(包含正在等待的客户端连接),相当于...TCP连接状态处于Established和SYN_ACK accepts: 已接受的客户端连接总数,即已被worker进程接收的连接 handled: 已被处理的连接总数 requests: 客户端的http...2、日志分析 Nginx默认的日志格式配置可以在/etc/nginx/nginx.conf中找到 log_format main '$remote_addr - $remote_user [$time_local...客户端的ip地址 $remote_user: 用于记录远程客户端的用户名称 $time_local: 用于记录访问时间和时区 $request: 用于记录请求的url以及请求方法 $status: 响应状态码
一、环境准备 1、在nginx的配置文件中,添加status配置 location /nginx_status { stub_status on; ...3、nginx Status 详细说明: Activeconnections:对后端发起的活动连接数; server accepts 66:nginx 总共处理了66个连接; handled:成功创建了...Reading:nginx读取客户端的header数; Writing: nginx 返回给客户端的header数; Waiting: nginx 请求处理完成,正在等待下一请求指令的连接。 ...]# ll nginx_status.sh -rwxr-xr-x 1 root root 1157 Jan 18 15:45 nginx_status.sh 2、添加zabbix配置文件,放于 /etc...4、查看Nginx状态:Monitoring-->Graphs-->Host(Node1)-->Grahp(nginx status connections与nginx status server) ?
前面讲了如何配置Nginx虚拟主机,今天简单介绍下如何监控Nginx的状态。...实际环境中,查看Nginx 的运行状态,一般都是通过Nginx 的日志来查看,但是通过日志没办法实时查看Nginx 总体的请求和接收情况。还是需要监控Nginx的运行状态。...其实要监控Nginx的状态非常简单,它内建了一个状态页,只需修改Nginx配置启用Status即可,对于想了解nginx的状态以及监控nginx非常有帮助。...4、Nginx status状态详解 在nginx 状态页面,可以看到几个数字,但是都是对应哪个参数呢?...通过这七个参数,就可以从连接到请求全方位的监控起 Nginx 的运行状态。 最后 以上,就把配置启用Nginx status状态介绍完了,是不是特别简单。
领取专属 10元无门槛券
手把手带您无忧上云