《实战Nginx》读书笔记
最近今天读了一本书叫做《实战Nginx:取代Apache的高性能Web服务器》,看后对Nginx 了解了不少。但是还有很多地方不是很了解。不过此书可以作为一本参考手册来使用,里面的讲解很详细。
一下是看过这本书的,自己摘抄和做的一些笔记。
Nginx 特点介绍
高效:Nginx 能够采用高效的epoll(linux 2.6内核)作为网络I/O模型
Apache 采用的是传统的select模型,多进程模式。经常派生子进程
消耗的cpu 等服务器资源要比nginx高很多
高并发、在实际生产环境中,可以支持2w以上的并发数
内存消耗低。开启64个php-cgi进程消耗1280mb内存
配置简单、成本低廉、稳定性好、内置健康检查功能
Nginx、apache、lighttpd 对比图
Nginx 安装
Nginx 可以在windows、linux下使用,在window下,使用简单,下载对应的window 版本,运行里面的nginx.exe 即可启动
linux 下需要编译,相对比较麻烦。
安装环境要求:至少需要10m以上的磁盘空间,因为nginx编译完成会占用4M左右的空间
以centos为例
安装gcc 编辑器
yum -y install gcc gcc-c++ autoconf automake
模块依赖性:开启gzip 需要zlib模块,rewrite功能 需要pcre模块 ssl 功能需要openssl库
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
编译Nginx
tar zxvf nginx-xx.tar.gz
cd nginx-xx
./configure --
Nginx 的configure脚本的支持以下选项(里面的选项很多,此处只列出一些常用的)
--prefix=<path> nginx 安装的路径
--sbin-path=<path> nginx 可执行文件的安装路径
--conf-path=<path> 在没有给定c选项的下默认的nginx.conf 没有指定,默认是prefix/conf/nginx.conf
--pid-path=<path> 默认的nginx.pid 的路径 <prefix>/logs/pid
--lock-path =<path> nginx.lock文件的路径
--error-log-path=<path> 默认的<prefix>/logs/error.log
--http-log-path=<path> 默认访问日志的路径 access.log
--user=<user> 指定用户
--group=<group> 指定分组
--builddir=Dir 指定编译的目录
--with-rtsing_module 启用rtsig 模块
--with-select_module 允许或不允许开启select模式。如果configure没有找到合适的模式,则使用select模式
--with-poll_module 允许或者不允许开启poll模式
--with-http-ssl_module 开启HTTP SSL 模块
Nginx 的启动、重启、停止
启动:
Nginx -c [nginx.conf的路径]
停止
Kill -QUIT `/usr/local/nginx/logs/nginx.pid`
快速停止
pkill -9 nginx
平滑启动
/usr/local/nginx(nginx安装目录) -c -t /usr/local/nginx/conf/nginx.conf(nginx的默认的配置文件目录) 这样检查配置文件是否正确
Nginx的信号控制
kill [信号控制] [pid]
TERM INT 快速关闭
QUIT 从容关闭
HUP 平滑重启 重新加载配置文件
USR1 重新打开日志文件
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程
《实战Nginx》读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- *C语言有关指针的变量声明中的几个易错点
转至:http://my.oschina.net/ypimgt/blog/108265 Technorati 标签: 指针, typedef, const, define 我们都知道,至少听说过 ...
- oracle学习(一)
作为一个入门选手,怕忘记,所以所有东西都尽量写下来.(省略oracle11g的安装过程) 一.sqlpuls用sys账户登录 (sqlplus是客户端连上服务器的一个工具) 1.使用cmd控制台登录 ...
- ZOJ 3229 Shoot the Bullet [上下界最大流]
ZOJ 3229 Shoot the Bullet 题意:此生无悔入东方 上下界最大流 spj挂掉了我也不知道对不对,把代码放这里吧以后正常了可能会评测一下 #include <iostream ...
- BZOJ 3926: [Zjoi2015]诸神眷顾的幻想乡 [广义后缀自动机 Trie]
3926: [Zjoi2015]诸神眷顾的幻想乡 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1124 Solved: 660[Submit][S ...
- 基于爬取百合网的数据,用matplotlib生成图表
爬取百合网的数据链接:http://www.cnblogs.com/YuWeiXiF/p/8439552.html 总共爬了22779条数据.第一次接触matplotlib库,以下代码参考了matpl ...
- VScode离线安装插件
VScode离线插件的转移 需求:换台电脑用VScode 找到插件安装路径 在本地找.vscode的文件夹,里面的extensions文件夹里都是下载的插件 复制发给其他电脑 在vscode首选项-- ...
- 2018/1/8 学习汇总,kettle简单介绍,集合遍历方式的选择及原理,防止表单重复提交的后台解决方案
昨天因为当前这个二次开发项目的接近尾声,要求我们将生产环境数据库里的数据迁移到现在新的数据库来,但老数据库里是sqlserver而新数据库则是ORACLE,不仅仅面对着数据库数据类型结构不一致的问题, ...
- 似懂非懂的Comparable与Comparator
jdk1.8.0_41 一知半解写代码, 集合排序用个啥. 抄起键盘胡乱打, 似懂非懂最可怕. Comparable与Comparator都是用于集合的排序,对于大多数人来说Comparator可能略 ...
- 超级简便的容器化部署工具(使用 ASP.NET Core 演示)
Docker 改变了我们部署网站的方式,从原先的手动编译打包上传,到现在的构建镜像然后推送部署,让我们在配置环境上所花费的时间大大减少了.不仅如此,通过一系列相关的工具配合,可以很轻松的实现 CI.C ...
- 浅讲JUnit
JUnit单元简介: JUnit ----是一个开发源码的java测试框架,用于编写和运行可重复的测试,它是用于单元测试框架体系xUnit的一个实例, 用于java语言,主要用于白盒测试,回 ...