Ubuntu 15.10将发布 采用 Linux Kernel 4.2内核

Ubuntu 15.10目前已经达成了最终内核的冻结,此后不会再有这方面的升级,仅会有一些BUG的修复。实际上Ubuntu的开发周期与Linux内核并不同步,所以通常都不会采用最新版的Linux内核。Ubuntu 15.10所用Linux内核为4.2版。

20151012_561c0b6e3ad16

Debian 拋弃 Linux 标准规范(LSB)

Linux 标准规范(LSB,Linux Standard Base)是一个意图定义 Linux 发行版为第三方程序所提供的服务和应用层程序二进制接口(ABI,Application Binary Interfaces) 的规范。但 Debian 项目内的某些人正在质疑是否值得维持兼容 LSB,他们认为,该项工作的工作量巨大,但好处有限。

20151012_561c0b6bcf014

新手可能不喜欢轻量级 Linux 发行版的几个原因

市面上有数百个 Linux 发行版,用户往往根据日常任务来选择某一款 Linux 发行版。一些大受欢迎的 Linux 发行版有 Ubuntu、Debian 和 Fedora 等。在其他几篇文章中,我也建议用户在开始使用 Linux 时,不妨选择一款轻量级发行版。不过在这篇文章中,我要谈论轻量级 Linux 发行版以及为何轻量级 Linux 发行版很烦人。虽然使用轻量级 Linux 发行版有诸多好处,但是我遇到博客读者不断吐槽也是个不争的现实。

20151012_561c0b6a7359f

nginx中upstream的设计和实现(二)

这次主要来看upstream的几个相关的hook函数。 首先要知道,对于upstream,同时有两个连接,一个时client和nginx,一个是nginx和upstream,这个时候就会有两个回调,然后上篇blog中,我们能看到在upstream中,会改变read_event_handler和write_event_handler,不过这里有三个条件,分别是
1 没有使用cache,
2 不忽略client的提前终止
3 不是post_action

nginx 0.8.x稳定版对linux aio的支持

前几天nginx的0.8.x正式成为stable,然后看了下代码,发现0.8加入了linux native aio的支持,我们知道在linux下有两种aio,一种是glibc实现的aio,这个比较烂,它是直接在用户空间用pthread进行模拟的。还有一种就是内核实现的aio,这些系统调用是以io_xxx开始的,而在nginx的0.8 中使用的是后一种,下面我们简称后一种为native aio.这里注意native aio只支持direct io。

而native aio的优点就是能够同时提交多个io请求给内核,然后直接由内核的io调度算法去处理这些请求(direct io),这样的话,内核就有可能执行一些合并,优化。

nginx least_conn 模块源码剖析

nginx在1.3.1添加了一个新模块 least_conn,也就是我们常说的最少连接负载均衡算法,简单来说就是每次选择的都是当前最少连接的一个server(这个最少连接不是全局的,是每个进程都有自己的一个统计列表)。

nginx中内存对齐调用的函数

The posix_memalign() function shall allocate size bytes aligned on a boundary specified by alignment, and shall return a pointer to the allocated memory in memptr. The value of alignment shall be a multiple of sizeof( void *), that is also a power of two. Upon successful completion, the value pointed to by memptr shall be a multiple of alignment.

Linux 系统是否适合于您?

并非人人都适合使用 Linux –对许多用户来说,Windows 或 OSX 会是更好的选择。我喜欢使用 Linux 桌面系统,并不是因为软件的政治性质,也不是不喜欢其它操作系统。我喜欢 Linux 系统因为它能满足我的需求并且确实适合使用。

20151011_561ab43a04b8e