公司新项目要做个WEB IM, 之前只是自己写了个demo玩玩, 浅尝辄止. 这回可能要系统的复习一遍了…comet已经出现很久了,网上也出现了不少应用到生产环境的实例, comet资料可以看这里:http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ 因为公司的网站环境都是LAMP/LNMP的, 且运维的帅哥们也没兴趣提供其他方面的
 在前面的文章中我们讲解了当一个请求到达时,nginx是如何建立连接并且读取数据的。在读取数据完成之后,nginx会将读取事件的回调方法设置为ngx_http_process_request_line(),这个方法主要有如下几个作用:读取客户端请求的数据,如果客户端数据读取不全,则继续监听客户端读事件以读取完整数据;解析读取到的客户端数据,将各个参数存储到表征当前请求的ngx_http_
转载 2024-06-06 10:11:29
38阅读
正文1 Nginx启动流程 2 HTTP 初始化 新连接建立时的行为在上次博客的最后可以看到,在ngx_event_accept方法建立连接的最后一步,将会调用ngx_listening_t监听结构体的handler方法。这时候HTTP框架就开始介入请求了。HTTP框架在初始化时就会将每个监听ngx_listening_t结构体的handler方法设为ngx_http_init
转载 2024-04-28 19:16:28
49阅读
一、为什么选择Nginx搭建Web服务器Apache和Nginx是目前使用最火的两种Web服务器,Apache出现比Nginx早。Apache HTTP Server(简称Apache)是世界使用排名第一的Web服务器软件,音译为阿帕奇,是Apache软件基金会的一个开放源码Web服务器,可以运行几乎所有的计算机平台,其次开放的API接口,任何组织和个人都可以在它上面扩展和增加各种需要功能,达到为
准备 yum -y install gcc gcc-c++ lua-devel pcre pcre-devel zlib zlib-devel 禁用 防火墙(重启生效) 查看防火墙状态 systemctl status firewalld 查看开机是否启动防火墙服务 systemctl is-enabled firewalld 关闭防火墙 systemctl stop
转载 2024-02-26 20:19:25
1202阅读
假设nginx的日志存储在nowcoder.txt里,内容如下:192.168.1.20 - - [21/Apr/2020:14:12:49 +0800] "GET /1/index.php HTTP/1.1" 404 490 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0" 1
转载 2024-06-17 15:40:45
72阅读
nginx反向代理工作方式nginx作为方向代理服务器,其工作方式有两个点需要注意:当转发请求的时候,nginx会接收完所有的请求数据,再去转发请求。在响应的时候,nginx是一边接收响应数据,一边将响应数据返回给客户端的。配置upstream配置示例:upstream testUrl{ #ip_hash; server 服务器1 #weight=5 max_fails=3
转载 2024-03-16 09:07:09
453阅读
上一篇文章主要写nginx限制连接数ngx_http_limit_conn_module 模块的作用及使用方法,下面来写ngx_http_limit_req_module模块的作用及使用。通过ngx_http_limit_req_module 模块可以通过定义的键值来限制请求处理的频率。特别的,可以限制来自单个IP地址的请求处理频率。 限制的方法如同漏斗,每秒固定处理请求数,推迟过多请求。该模块提
请求过程   用户在本地通过浏览器页面发起请求请求经过nginx代理,转发到SpringCloud框架的微服务A模块,A服务模块通过Feign调用服务提供者B模块   实现功能   在B模块中想要获取到用户主机的真实ip地址,以及浏览器页面上的请求路径   遇到问题 1、由于经过nginx
转载 2024-02-23 11:45:06
342阅读
Nginx 跨域有关的预检请求preflight request背景同事有一个跨域的需求,域外html集成的js要访问Nginx反向代理的一个站点。具体HTTP方法和header 我也没问,想着就把以前其他同事配置过的跨域的一段参数拷贝过来就行了,拷贝的具体参数如下location /crosstest/web/ { add_header Access-Control-Allow-Orig
转载 2024-08-22 14:48:56
256阅读
继续上一章NGINX源码之:event与epoll的内容,在注册完accept后的连接socket fd对应的读事件后,后续由ngx_http_wait_request_handler()处理请求读事件: 首先先看下在ngx_event_accept()方法中给连接c绑定了接收和发送的处理器: 接下来进入正文: 这里有个NGINX请求丢失的问题可以思考下:NGINX维护了一个空闲连接队列,和一个可
转载 2024-06-26 15:37:44
428阅读
所有跨域的js在提交post请求的时候,如果服务端设置了可跨域访问都会默认发送两次请求,第一次是预检请求,查询是否支持跨域,第二次才是真正的post提交第一条为options请求,第二条请求才是我们预想中的请求。为什么先发起了一条options请求:options请求 options请求的官方定义:OPTIONS方法是用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的
一、优势1.隐藏真实服务器2.便于横向扩充后端动态服务3.动静分离,提升系统健壮性动静分离: 动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性二、使用Nginx作为反向代理时支持的协议三、用于定义上游服务的upstream模块解释:默认已被编译进nginx,禁用需要通过–with-http_ups
在http段加上 log_format access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent $request_body "$http_referer" "$http_user_ag
转载 2016-09-30 18:11:00
1161阅读
2评论
HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行、请求头部、空行、请求数据1.请求行  请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。比如 GET /data/info.html HTTP/1.1方法字段就是HTTP使用的请求方法,比如常见的GET/POST其中HTTP协议版本有两种:HTTP1.0/HTTP1.1
关于跨域请求在之前已经总结了JSONP方法,Fetch方法,还有XDM方法,但是这些方法都只支持GET方法,不支持POST方法,所以今天就来简单的总结下,关于支持POST方法的跨域请求如何实现。一. CORS简介CORS是Cross-Origin Resource Sharing的缩写,翻译过来就是,跨源资源共享。CORS的实现原理就是使用自定义的HTTP头部让浏览器和服务器进行沟通,从而决定请求
解决问题1:业务系统以post方式上发请求日志,需要对日志进行采集分析;解决方法:1:可以安装openresty版本nginx;2:可以使用官方nginx版本编译lua模块;nginx版本:nginx-vnginxversion:openresty/1.13.6.2配置案例日志配置log_formatpost_format'$time_iso8601\t$remote_addr\t$http_us
原创 2018-08-27 13:29:29
5195阅读
解决问题 1:业务系统以post方式上发请求日志,需要对日志进行采集分析;
原创 2018-08-27 13:29:29
523阅读
安装nginx扩展模块的时候报错如下: [root@21d80854d33f memcached-1.4.24]$phpize Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source directory of the module 可能的原因:1.安装包没找对, 解压的文件
事件驱动框架我们前面分析过,在ngx_event_process_init()中,会将每个监听端口的rev->handler设置为ngx_event_accept()函数,然后把对应的读事件加入到epoll驱动模块中。这样,在执行ngx_epoll_process_events()的时候,如果有新连接事件出现,那么就会调用ngx_event_accept()方法进行建立连接。Nginx为了解
  • 1
  • 2
  • 3
  • 4
  • 5