nginx那些事
文章平均质量分 73
coder_vivid
鹅厂码农
展开
-
nginx 配置Universal Links
0 开始之前网上关于这个的配置大多都是错的,一直获取不到json内容提示404,自己试出来正确的配置,这里简单记录下。1 Universal Links简介(内容来自网络)iOS9之后,Apple推出的一种通用链接,能够方便的通过https链接来启动APP,通过唯一的网址,不需要特别的schema就可以链接一个特定的视图到APP。这也就设计到universal links的几个特性:...原创 2020-02-22 19:09:27 · 3032 阅读 · 3 评论 -
nginx 配置支持多域名跨域
背景前端跨域一般使用JSONP(GET请求小数据量)、CORS(跨域资源共享,Cross-Origin Resource Sharing,用来传递大数据量)现在的场景是需要nginx配置支持多域名跨域,跨域一般需要设置Access-Control-Allow-Origin。问题描述配置nginx,如果简单设置add_header Access-Control-Allow-Origin...原创 2019-12-06 14:32:27 · 1052 阅读 · 0 评论 -
使用goaccess对nginx的accesslog进行分析和统计
1 开始之前1.1 安装包nginx-1.17.6.tar.gzgoaccess-1.3.tar.gz1.2 操作系统centos 7.02 安装2.1 安装nginxwget http://nginx.org/download/nginx-1.17.6.tar.gz && \ tar -xvf nginx-1.17.6.tar.gz && \ ...原创 2019-11-23 18:55:40 · 1002 阅读 · 1 评论 -
nginx源码剖析(一)
之前,聊了聊nginx简单的安装和一些简单的配置,之前已经安装了ctags,接下来再愉快地聊聊关于nginx源码的部分。这篇博客就先聊聊关于nginx的一些基本文件和文件夹,以及它们分别代表的那些含义。进入源码解压包,输入ls -F命令,就会出现一下的东东。 auto/ 包含执行configure进行编译配置时调用的检测代码原创 2015-12-04 20:23:11 · 518 阅读 · 0 评论 -
和我一起动手写FastCGI之“准备篇”
FastCGI介绍:FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。 FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将C原创 2016-12-03 23:52:44 · 622 阅读 · 0 评论 -
nginx源码剖析(四) ——两个用来对齐的宏
在nginx中,有很多有意思的宏,今天来说说,nginx用来对齐的两个宏(src/core/ngx_config.h):#define ngx_align(d, a) (((d) + (a - 1)) & ~(a - 1))#define ngx_align_ptr(p, a) \原创 2016-11-04 22:28:40 · 558 阅读 · 0 评论 -
nginx安全性配置
Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器。它运行在UNIX,GNU/Linux,BSD各种版本,Mac OS X,Solaris和Windows。根据调查统计,6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟传统的服务器不同,Nginx不依赖线程来处理请求。相反,它使用了更多的可扩展的事件驱动(异步)转载 2016-07-02 01:15:28 · 7225 阅读 · 0 评论 -
nginx负载均衡详细配置
ginx的upstream目前支持的5种方式的分配1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。upstream backserver {server 192.168.0.14;server 192.168.0.15;}2、weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情转载 2016-07-02 00:54:57 · 504 阅读 · 0 评论 -
再论Epool
Linux I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。Linux 2.6内核中有提高网络I/O性能的新方法,即epoll 。1、为什么select落后 首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在我用的2.6.15-25-386内转载 2016-06-06 00:48:07 · 615 阅读 · 0 评论 -
关于epoll那些事
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __转载 2016-05-29 23:59:13 · 454 阅读 · 0 评论 -
nginx源码分析—内存池结构ngx_pool_t及内存管理
Content0. 序1. 内存池结构1.1 ngx_pool_t结构1.2 其他相关结构1.3 ngx_pool_t的逻辑结构2. 内存池操作2.1 创建内存池2.2 销毁内存池2.3 重置内存池2.4 分配内存2.4.1 ngx_palloc()函数分析2.4.2 ngx_palloc_block(转载 2016-02-13 02:48:40 · 434 阅读 · 0 评论 -
nginx架构分析
nginx(发音"engine x")是俄罗斯软件工程师Igor Sysoev开发的免费开源web服务器软件。nginx于2004年发布,聚焦于高性能,高并发和低内存消耗问题。并且具有多种web服务器功能特性:负载均衡,缓存,访问控制,带宽控制,以及高效整合各种应用的能力,这些特性使nginx很适合于现代网站架构。目前,nginx已经是互联网上第二流行的开源web服务器软件。1转载 2016-02-13 02:37:57 · 4588 阅读 · 4 评论 -
nginx源码剖析(二) —— ngx_list_t分析
前言 nginx_list_t是nginx的一个链表容器,频繁的在nginx的源码中使用,例如,HTTP的头部就是使用ngx_list_t这个数据结构来存储的。所以,今天我们一起来聊聊这个比较重要的数据结构。(这里使用的源码为nginx比较新的一个版本,nginx-1.6.2版本。)正文1、nginx_list_t数据结构的描述://链表节点结构typedef str原创 2015-12-08 19:44:18 · 617 阅读 · 0 评论 -
nginx源码剖析(三) —— ngx_queue_t分析
前言由于之前一直使用的是nginx的1.6.2的版本,所以就以它作为研究对象进行分析,源码没有注释,这里我使用我之前加过注释的文件进行分析。这两个文件是在nginx-1.6.2/src/core的ngx_queue.h和ngx_queue.c文件。正文它的源码是通过带控制信息的双端链表实现的,以及它的具体操作是通过一些宏函数实现的。接下来我们一点点分析它的ngx_queue原创 2015-12-05 12:26:23 · 591 阅读 · 0 评论