nginx学习笔记1
Nginx是使用c语言编写的,查看nginx编译时参数的设定 使用nginx -V命令查看

可以使用nginx -h命令查看命令帮助

配置文件中将worker process绑定到cpu的特定内核上, vim /etc/nginx/nginx.conf

注意worker_cpu_affinity这个参数是对cpu多核的支持,上面表示4个process分别绑定到cpu内核的第1个 第2个 第1个 第2个(这
个cpu只有两个内核)
如果有4个内核就这样设定

以此内推 8,16... 这样做可以更好的利用系统资源(不过要注意了,其中一个内核坏掉,很可能是影响nginx性能的元凶)
配置文件中worker_rlimit_nofile这个参数是设定单个worker进程能最多打开多少个文件描述符(应该和ulimit -n的值保持一致,因
为nginx对用户请求的回答分配到各个worker进程有时是不均衡的),不过像nginx和haproxy这类服务已经会根据自身的需要自动调
整了worker_rlimit_nofile了

worker_priority这个参数是设置worker process的进程优先级的 范围为[-20 19]数值越小,优先级越高, 可以使用ps axo
comm,pid,nice命令查看nginx进程优先级(nice值)
补充:当各个进程运行时,每个进程会在cpu上来回切换运行直到各个进程完成任务,当一个进程在cpu上运行一定时间后(单位是
ms),cpu会在等待的各个进程队列中调度一遍,使各个进程在cpu上来回切换,优先级越高的队列就会被cpu优先调度,如此这些优
先级高的进程对cpu的使用越大

use epoll这个参数不必定义,nginx会自动选择。
定义一台虚拟主机最简单的方式

root指定根文件路径,server_name指定服务器主机名,listen参数后面的格式为 IP:PORT,此处指定为监听所有网卡地址的80端口,
server_name后面可跟多个主机名(名称可以使用通配符和正则表达式)
当在 listen 80 后面添加default_server时,在浏览器中输入ip地址,默认就会访问到该虚拟主机,当其它虚拟主机不能被请求到内容时
使用默认的虚拟主机返回内容

location只能放置于server上下文中,location的配置说明

上面的定义,访问www.c.com/images/1.jpg-->/data/imgs/images这个目录下寻找1.jpg文件

上面的定义,访问www.c.com/images/1.jpg-->/data/imgs这个目录下找1.jpg文件,不过由于该虚拟主机没有定义root,当访问
www.c.com会被重定向到default server上,所以root别忘记定义
index可以用在location,server,http中,设定默认搜索主页
在虚拟主机中定义404页,root选项必须有

为指定的uri配置访问控制

为指定的uri提供认证功能

auth_basic 是取名字,auth_basic_user_file是指定保存用户文件的路径,此文件要借助httpd的htpasswd命令创建,因此还得下
载httpd
yum -y install httpd
创建/etc/nginx/.passwd

-c 在头次创建该文件时需添加, -m 指定使用md5加密 tom是创建的用户

stub_status这个参数是nginx的web监控页,在nginx -V 中看到了--with-http_stub_status_module这个选项才能使用此功能
如果nginx -t 报错,在stub_status后面添加on
注意上面的location后面的status后面如果加了/则在浏览器中也必须加/,否则会找不到资源

active connections 当前活动连接数,包含了等待服务器发送response的连接
accepts 服务器总共已经接受的连接数量
handled 服务器总共已经处理的连接数,通常accepts和handled是相等的,如果不相等则可能是worker_connections受到了限制,
应调大该值,worker_connection定义的是单个worker进程所能处理的最大客户端连接数
requests 客户端已经发起过的总请求数,requests应该大于accepts,因为一次连接上客户端可以请求多个资源,但关闭了
keepalive_timeout功能就会使两者相等了
reading 有多少连接数中nginx正在读取request header
writing 有多少连接数中nginx正在构建response给请求的客户端
waiting 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令
的驻留连接
nginx学习笔记1的更多相关文章
- Nginx学习笔记4 源码分析
Nginx学习笔记(四) 源码分析 源码分析 在茫茫的源码中,看到了几个好像挺熟悉的名字(socket/UDP/shmem).那就来看看这个文件吧!从简单的开始~~~ src/os/unix/Ngx_ ...
- Nginx学习笔记~目录索引
回到占占推荐博客索引 前几天整理了<Docker的学习笔记索引>,受到了很多朋友的关注,今天把Nginx的文章也整理一下,以后将永久更新,像大叔之前的<EF文章系列>,< ...
- nginx 学习笔记(2) nginx新手入门
这篇手册简单介绍了nginx,并提供了一些可以操作的简单的工作.前提是nginx已经被安装到你的服务器上.如果没有安装,请阅读上篇:nginx 学习笔记(1) nginx安装.这篇手册主要内容:1. ...
- Nginx学习笔记之加强篇
在上一篇文章Nginx学习笔记之应用篇中,我们已经可以正式运行自己的网站了.但是在使用Nginx服务器时还需要注意几个问题: 1.Nginx服务器上配置的单个站点的并发量不超过1024 2.Nginx ...
- Nginx学习笔记之应用篇
Nginx服务器的安装请参考Nginx学习笔记之安装篇 关于Nginx配置文档的API在这里就不一一列出,现在我们来配置第一个Nginx架构实现负载均衡的网站. 1.打开IIS,配置如下站点 重复上述 ...
- Nginx 学习笔记之安装篇
在windows下安装Nginx其实非常简单,只需如下几个步骤: 1. 在Nginx官网下载相应版本的安装程序,上面有最新版.稳定版等各种版本,正式运营的项目建议下载最新的稳定版 2.将下载后的压缩包 ...
- nginx学习笔记(一)
agentzh 的 Nginx 教程 学习笔记 nginx的变量 Nginx 变量一旦创建,其变量名的可见范围就是整个 Nginx 配置,甚至可以跨越不同虚拟主机的 server 配置块, 例子如下 ...
- Nginx学习笔记(六) 源码分析&启动过程
Nginx的启动过程 主要介绍Nginx的启动过程,可以在/core/nginx.c中找到Nginx的主函数main(),那么就从这里开始分析Nginx的启动过程. 涉及到的基本函数 源码: /* * ...
- Nginx学习笔记(三) Nginx基本数据结构
Nginx基本数据结构 话说学习一种编程语言,例如C语言,我们首先学的也是数据结构,这是以后开发程序的关键.为了更好更方便的开发Nginx,Nginx自己实现了很多适合nginx的数据结构. Ngin ...
- 【转】Nginx 学习笔记(十一)nginx下安装配置naxsi waf防火墙(附完整编译、配置)
原文地址:http://f2ex.cn/nginx-installed-configuration-naxsi-waf/ Naxsi 是第三方 nginx 模块 ,它和 Modsecurity 都是开 ...
随机推荐
- clipse在编写JSP时没有代码提示
alt /不会出提示按照下面步骤做 1.菜单window- >Preferences- >Java- >Editor- >Content Assist- >Enable ...
- 第一个jave程序-helloworld
1.打开myeclipse,其中有个select a workspase的过程,即选择工作空间,这里需要更换空间,不要放C盘,防止项目越来越大占用C盘的空间 2.创建java工程 3.取工程名,填写自 ...
- 关于 Python Iterator 协议的一点思考
转:http://www.jianshu.com/p/dcf83643deeb Python 中有好几种容器或者序列类型:list tuple dict set str,对于这些类型中的内容,往往需要 ...
- Python的方法分类
1.Python的类方法,实例方法,和静态方法 class S(object): def Test(self): print("TEST") @classmethod#类方法 de ...
- 常见的MIME类型
超文本标记语言文本 .htm,.html text/html 普通文本 .txt text/plain GIF图形 .gif image/gif JPEG图形 .ipeg,.jpg image/jpe ...
- 第一课 opengl简介
1. 什么是opengl: opengl是图形硬件的一种软件接口. 2. opengl对场景中的图像进行渲染时所执行的主要图形操作 1)根据几何图元创建形状,从而建立物体的数学描述. 2)在三维空间中 ...
- js对象3.1--什么是类,对象--杂志
先来吹吹牛 大家都见过那种做的很精致的小蛋糕吧,给我的感觉就是(很精致,很好看,不经吃太少了,还忒TM的贵).那么这些蛋糕是怎么做出来的呢,反正我不相信是一个一个的扭出来的(除非老板不想赚钱了,那个一 ...
- 使用Spring的Property文件存储测试数据 - 编写测试和调用测试数据
准备好测试数据后,我们可以开始编写测试了,在测试用例中调用我们property文件中的测试数据. 我自己写了一个TestCase作为所有测试类基类,基类中定义了两个变量来代表之前建好的两个测试数据文件 ...
- Python和Django在Windows上的环境搭建
作为一个.NET程序员,真心不喜欢Python以及PHP这种松散的语法.有人说,程序员应该多学几门语言,本想学习Java,无奈感觉Java的语法太啰嗦了.很多人都推荐Python,说它的语法简洁,执行 ...
- 缓存之Redis
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...