技术

深入 NGINX: 我们如何设计性能和扩展

NGINX 能在 web 性能中取得领先地位,这是由于其软件设计所决定的。许多 web 服务器和应用程序服务器使用一个简单的基于线程或进程的架构,NGINX 立足于一个复杂的事件驱动的体系结构,使它能够在现代硬件上扩展到成千上万的并发连接。 下面这张深入 NGINX 的信息图从高层次的进程架构上深度挖掘说明了 NGINX 如何在单一进程里保持多个连接。这篇博客进一步详细地解释了这一切是如何工作的。 知识 NGINX 进程模型 为了更好的理解这个设计,你需要理解 NGINX 如何运行的。NGINX 有一个主进程(它执行特权操作,如读取配置和绑定端口)和
2015-06-24
8分钟阅读时长

11个无用而有趣的Linux终端彩蛋

这里有一些很酷的Linux终端彩蛋,其中的每一个看上去并没有实际用途,但很有趣。 只工作不玩耍 当我们使用命令行工作时,Linux是功能和实用性最好的操作系统之一。想要执行一个特殊任务?可能一个程序或者脚本就可以帮你搞定。但就像一本书中说到的,只工作不玩耍聪明的孩子也会变傻。下边是我最喜欢的可以在终端做的没有实际用途的、傻傻的、恼人的、可笑的事情。 让终端成为一个有态度的人 第一步)敲入sudo visudo 第二步)在Defaults末尾(文件的前半部分)添加一行Defaults insults。 第三步)保存文件。 我刚才对电脑做了什么?
2015-06-23
4分钟阅读时长

在linux上使用交换文件扩展交换空间

想像一种情景,当我们的Linux系统用尽交换空间时,在这种情况下,我们想要使用swap分区扩展交换空间,但在某些情况下磁盘上已经没有可用的空闲分区了,致使我们不能把它扩大。 因此,在这种情况下,我们可以使用交换文件增加swap空间。 以下是使用交换文件在Linux上扩展swap空间的方法 让我们首先检查现有的交换空间/分区的大小,使用命令 free -m 或者 swapon -s free-output-with-swap 我的交换分区大小是2 GB,我们将把交换空间扩展1GB。 第一步:使用下面的dd命令创建大小为1GB交换文件 # dd if=/dev/zero of=/swap_file bs=1G coun
2015-06-18
2分钟阅读时长

Linux中,创建聊天服务器、移除冗余软件包的实用命令

这里,我们来看Linux命令行实用技巧的下一个部分。如果你错过了Linux Tracks之前的文章,可以从这里找到。 5个有趣的Linux命令行技巧 本篇中,我们将会介绍6个命令行小技巧,包括使用Netcat命令创建Linux命令行聊天,从某个命令的输出中对某一列做加法,移除Debian和CentOS上多余的包,从命令行中获取本地与远程的IP地址,在终端获得彩色的输出与解码各样的颜色,最后是Linux命令行里井号标签的使用。让我们来一个一个地看一下。 6个实用的命令行技巧 1. 创建Linux命令行聊天服务 我们大家使用聊天服务都有很长一段时间了。对于Google C
2015-06-17
6分钟阅读时长

Linux 用户的 3 个命令行小技巧

Linux世界充满了乐趣,我们越深入进去,就会发现越多有趣的事物。我们会努力给你提供一些小技巧,让你和其他人有所不同,下面就是我们准备的3个小技巧。 1. 如何在不使用Cron的情况调度Linux下的任务 在Linux下,调度一个任务/命令称之为Cron。当我们需要调度一个任务时,我们会使用Cron,但你知道我们在不使用Cron的情况也可以调度一个在将来时间运行的任务吗?你可以按照如下建议操作 每5秒钟运行一个命令(date)然后将结果写入到一个文件(data.txt)。为了实现这一点,我们可以直接在命令提示符运行如下单行脚本。 $ while true; do
2015-06-16
4分钟阅读时长

Linux有问必答:Linux上如何查看某个进程的线程

问题: 我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到带有它们名称的单个线程详细情况(如,CPU/内存使用率)。 线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个线程被叉分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间、打开的文件),以使叉分开销最小化,并避免大量高成本的IPC(进程间通信)通道。这些功能让线程在并发执行时成为一个高效的机制。 在Linux中,程序中创建的线程(也称为轻量级进程,LWP)
2015-06-15
2分钟阅读时长

在 Linux 上如何清除内存的 Cache、Buffer 和交换空间

像任何其他的操作系统一样,GNU/Linux 已经实现的内存管理不仅有效,而且更好。但是,如果有任何进程正在蚕食你的内存,而你想要清除它的话,Linux 提供了一个刷新或清除RAM缓存方法。 如何在 Linux 中清除缓存(Cache)? 每个 Linux 系统有三种选项来清除缓存而不需要中断任何进程或服务。 (LCTT 译注:Cache,译作缓存,指 CPU 和内存之间高速缓存。Buffer,译作缓冲区,指在写入磁盘前的存储再内存中的内容。在本文中,Buffer 和 Cache 有时候会通指。) 仅清除页面缓存(PageCache) # sync; echo 1 /proc/sys/vm/drop_caches
2015-06-15
4分钟阅读时长