最近今天读了一本书叫做《实战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》读书笔记的更多相关文章

  1. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  2. CSAPP 读书笔记 - 2.31练习题

    根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x ...

  3. CSAPP读书笔记--第八章 异常控制流

    第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...

  4. CSAPP 并发编程读书笔记

    CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...

  5. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  8. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  9. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  10. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

随机推荐

  1. Tensorflow ActiveFunction激活函数解析

    Active Function 激活函数 原创文章,请勿转载哦~!! 觉得有用的话,欢迎一起讨论相互学习~Follow Me Tensorflow提供了多种激活函数,在CNN中,人们主要是用tf.nn ...

  2. JMeter基础教程2:正则表达式使用

    0. 正则表达式简介 正则表达式,又称规则表达式(Regular Expression,在代码中通常简写为regex.regexp或RE)描述了一种字符串匹配的模式(pattern),可以用来检查一个 ...

  3. 17年年终总结——走过2017,迎来2018Flag

    引言 记得大概从大学毕业到现在都没有写作啥总结性的文章了(ps:应该是没写过啥长篇大论了),所以也不知道怎么个起头.我也闲聊的方式起头吧. 其实跨入18年就想着写篇总结,总结下自己17年的得与失,不足 ...

  4. BZOJ 4555: [Tjoi2016&Heoi2016]求和 [分治FFT 组合计数 | 多项式求逆]

    4555: [Tjoi2016&Heoi2016]求和 题意:求\[ \sum_{i=0}^n \sum_{j=0}^i S(i,j)\cdot 2^j\cdot j! \\ S是第二类斯特林 ...

  5. BZOJ 2724: [Violet 6]蒲公英 [分块 区间众数]

    传送门 题面太美不忍不放 分块分块 这种题的一个特点是只有查询,通常需要预处理:加入修改的话需要暴力重构预处理 预处理$f[i][j]$为第i块到第j块的众数,显然$f[i][j]=max{f[i][ ...

  6. BZOJ 1492: [NOI2007]货币兑换Cash [CDQ分治 斜率优化DP]

    传送门 题意:不想写... 扔链接就跑 好吧我回来了 首先发现每次兑换一定是全部兑换,因为你兑换说明有利可图,是为了后面的某一天两种卷的汇率差别明显而兑换 那么一定拿全利啊,一定比多天的组合好 $f[ ...

  7. OpenLayer3调用天地图,拖拽后,地图消失的问题[已解决]

    拖拽后,地图直接消失了,而且右上角的坐标变成了NaN,NaN 后来经过测试发现,原来是自己封装有问题,坐标点一定要用parseFloat()转换下,但不清楚为什么页面刚开始加载的时候没有问题,总之能解 ...

  8. Spring bean的生命周期详解

    bean的生命周期1.实例化bean 即new2.按照spring上下文对实例化的bean进行配置 即填充属性,也就是IOC/DI(控制反转,依赖注入)3.如果这个bean实现了BeanNameAwa ...

  9. XAMPP简介、安转、使用

    虽然没有写Mac安装方法及使用, 但方法也都大相径庭, 殊途同归而已. XAMPP简介 XAMPP是一款开源.免费的网络服务器软件,经过简单安装后,就可以在个人电脑上搭建服务器环境.本文为大家介绍Wi ...

  10. 4、flask之分页插件的使用、添加后保留原url搜索条件、单例模式

    本篇导航: flask实现分页 添加后保留原url搜索条件 单例模式 一.flask实现分页 1.django项目中写过的分页组件 from urllib.parse import urlencode ...