首先来看一下,配置文件解析时的数据结构,这里主要是ngx_conf_t, 这个结构保存了解析配置文件所需要的一些域,是一个非常重要的数据结构. struct ngx_conf_s{ char *name; // 当前解析的命令名 ngx_array_t *args; // 当前命令的所有参数 ngx_cycle_t * cycl...
1. 一些相关的数据结构: // 监听端口配置信息,addrs是在该端口上所有监听地址的数组。 typedef struct { ngx_int_t family; in_port_t port; ngx_array_t addrs; /* array of ngx_http_conf_addr_t */ } ngx_http_conf_port_t; typedef struct { ngx_http_l...
对于web server来说,必须能够监听到客户端的连接才能与之通信,这篇文章就看一下nginx是如何实现连接的建立。监听到新的连接实际上就是监听socket上的读事件,此时监听socket的已完成连接队列是非空的,可以非阻塞的调用accpet获取新到的连接。在nginx中每...
对于一个服务器模型来说,事件模型是至关重要的,nginx本身的高性能也归功于它的事件模型。一般来说,nginx的事件模型是基于epoll。而epoll中会调用3函数,epoll_create,epoll_ctl,epoll_wait. (1) 首先介绍一些相关的数据结构: typedef struct { ngx_int_t...
nginx的模块非常之多,可以认为所有代码都是以模块的形式组织,这包括核心模块和功能模块,针对不同的应用场合,并非所有的功能模块都要被用到,附录A给出的是默认configure(即简单的http服务器应用)下被连接的模块,这里虽说是模块连接,但nginx不会像apa...
在通常的Linux服务器中,有一些服务本身没有日志,只能通过 tail -f /var/log/messages来查看其运行日志,比如nrpe server。但是,如果想在docker容器中实现这个功能就需要费点事了。具体步骤如下: 1、安装rsyslog # yum -y install rsyslog 2、启动syslog...
最近接了一个任务,就是测试公司服务器的资源利用率,这样对每种业务平时所占资源有了大体的了解,进而为下一步的虚拟化做准备。找了很多开源的工具,但都不理想,有的安装很复杂,需要联网(而我们的服务器很多都不能够联网);有的分析出的数据还需要自己...
最近发现某台机器上的Docker服务无法开启,报如下错误: [root@localhost ~]# docker ps -aCannot connect to the Docker daemon. Is docker -d running on this host?[root@localhost ~]# service docker restartRedirecting to /bin/systemctl restart doc...
etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式...
在上一篇文章《quay.io/coreos/etcd 基于Docker镜像的集群搭建》中,介绍了ETCD集群的搭建。在此基础上,我们进一步实践calico docker的应用。 PaaS 平台的网络需求: 在使用Docker构建PaaS平台的过程中,我们首先遇到的问题是需要选择一个满足需求的网络模...
1 Docker 是什么? -1.1 容器是什么? -2 安装 Docker -2.1 启动 docker 守护进程 -3 ...
使用场景 最近,报告查询系统负载均衡集群相关配置已经完成,两种实现方式分别是基于E...
当你执行 nginx -t 得时候,nginx会去测试你得配置文件得语法,并告诉你配置文件是否...
本文将介绍一些SSL安全性的配置,以此提升网站的安全等级。先给出本博客的SSL配置: s...
Step 1:安装配置JDK 1.下载JDK rpm包 下载地址:http://www.oracle.com/technetwork/...
问题现象: 我们有时候会遇到ssh连接服务器的时候非常慢,经常是要等30秒以上,甚至更...