nginx服务器详解

轻量级的web服务器

1、nginx服务器功能

nginx服务器可以扮演:web服务器、应用服务器、代理服务器、反向代理服务器、后台服务器、CDN缓存服务器

nginx的基本模块:

  • 内核模块CoreModule:用于控制nginx服务器的基本功能,该模块的指令置于配置文件的根部(开始部分),内核模块还提供了大量的内置变量:$url、$host...。
  • 事件驱动模块EventsModule:用于控制nginx如何处理连接,该模块的指令参数会对应用程序的性能产生重要影响,置于events{}中。
  • http内核模块HttpCoreModule:提供http相关功能,该模块不能被禁用,指令置于http{}中。

2、nginx的模块与进程管理

nginx采用模块化设计,但和apache不同的是,模块一旦被编译进来就不可以被卸载,如果有特别需要只能重新编译nginx。

了解nginx默认安装和不安装的模块:./configure  --help

使用第三方模块:在对nginx进行configure的时候,参数--add-module用来添加第三方模块。

nginx分为single和master两种进程模型,由于single的认错能力较差,实际生产环境中使用的是master进程模型(master进程和worker进程)

master进程可以处理的信号:

worker进程可以处理的信号:

3、针对nginx对linux服务器的优化

1)关闭系统中不需要的服务

chkconfig --list   列出linux中的所有服务

service bluetooth stop

chkconfig --level 235 bluetooth off   --关闭bluetooth服务

2)优化写磁盘操作:nginx每访问一个文件之后,linux系统会对它的access,即访问时间进行修改。

  配置文件:/etc/fstab

/dev/sdb1  /dataext3  defaults,noatime,nodiratime 0 0  

3)优化资源限制

ulimit  -n   --单个用户对文件描述符的使用限制,即能打开的文件个数

ulimit  -u   --单个用户最多拥有的进程数

修改配置文件/etc/security/limits.conf

4)优化内核TCP选项

修改配置文件/etc/sysctl.conf

4、优化nginx服务器

1)关闭访问日志

2)使用epoll

3)配置优化

worker_connections 65535

keepalive_timeout 60

client_header_buffer_size 8k

worker_rlimit_nofile 65535

5、nginx与缓存

nginx实现缓存功能的三种方法:

1)nginx自带的proxy_store、proxy_cache、memcached模块

2)第三方模块Ncache

3)Varnish服务器

缓存技术---memcached



从nginx接受客户端请求处理的角度来说,它与Apache有何不同?

nginx采用的是事件驱动结构,使用异步套接字来接收请求,是一种非阻塞结构,不使用单独的线程处理,目的是为了减少内存和cpu的开销,而apache采用的同步套接字、线程和进程,每一个请求都是一个单独的进程或线程。

nginx服务器详解

时间: 2024-07-29 02:15:56

nginx服务器详解的相关文章

nginx高性能web服务器详解(1)--安装nginx

1. 下载 本次使用nginx-0.1.2.3 版本,下载地址 http://nginx.org/en/download.html  新发布版本 http://nginx.org/download  历史版本 2.上传到linux服务器 sz -bey nginx-0.1.2.3.tar.gz 3.解压 3.1 建立目录  mkdir nginx_123 3.2 解压 tar -zxvf nginx-0.1.2.3.tar.gz ./nginx_123/ 4.配置编译环境 nginx源代码的编译

Nginx 配置文件详解

Nginx 配置文件详解 user nginx ; #用户 worker_processes 8; #工作进程,根据硬件调整,大于等于cpu核数 error_log logs/nginx_error.log crit; #错误日志 pid logs/nginx.pid; #pid放置的位置 worker_rlimit_nofile 204800; #指定进程可以打开的最大描述符 这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文 件数(ulimit -n)与ngin

RHEL7下Nginx配置文件详解(二)

RHEL7下Nginx配置文件详解 全局配置 #user  nobody nobody;//指定Nginx进程运行用户以及用户组. worker_processes  1;//开启的进程数. #error_log  logs/error.log;//定义全局错误日志 #error_log  logs/error.log  notice; //定义全局错误日志 #error_log  logs/error.log  info; //定义全局错误日志 #pid        logs/nginx.p

​Nginx 安装详解

Nginx 安装详解 nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 如有需要nginx 安装进行图文介绍http://down.51cto.com/data/1966600 点击进行下载 yum install gcc gcc-c++ -y 下面正式开始 -------------------------------------------------------------------------------------------- 一般我们都

nginx配置文件详解笔记

web运维第一篇:nginx配置文件详解笔记#定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数.worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log info;#进程文件pid /var/run/nginx.pid;#一个nginx进程打开的最多文件描述符数目,理论值应

nginx之旅第一篇:nginx下载安装、nginx配置文件详解、nginx默认网站

一.nginx下载安装 版本nginx 1.15.5 系统环境centos7.5(本机ip192.168.199.228) 关闭selinux 和防火墙firewall 1.下载 wget http://nginx.org/download/nginx-1.15.5.tar.gz -P /usr/src 2.安装 安装大概过程 配置---编译---安装 配置 1)检查环境 是否 满足安装条件 依赖解决 2)指定安装方式 配置文件 命令文件 各种文件放哪里 开启模块功能[内 置模块 三方模块] 3

nginx配置详解和原理

nginx配置详解和原理 1.nginx的配置文件 nginx 配置文件的整体结构 <pre>user nobody nobody; # 指定Nginx Worker进程运行用户以及用户组,默认由nobody账号运行,nobody 是系统用户,是一个不能登陆的帐号,一个特殊用途的用户 ID #启动进程,通常设置成和cpu的数量相等worker_processes 1; #指定了Nginx要开启的进程数.每个Nginx进程平均耗费10M~12M内存.建议指定和CPU的数量一致即可. #全局错误日

通过现象看本质——Nginx配置文件详解

通过现象看本质--Nginx配置文件详解 前言 ? 前面的文章讲述了有关Nginx进程模型以及基于异步非阻塞机制使得Nginx支持高并发的一些内容.本文将详述有关Nginx的配置文件(主配置文件nginx.conf文件)以及Nginx的体系结构. Nginx配置文件概述 ? 在我们解压后的Nginx目录中的conf目录下就是有关Nginx的配置文件,当然一般我们玩儿的主要是Nginx的配置文件多一点,而其他的配置文件均是纯文本文件.那么本小节就其中的主要配置作解释与介绍. ? 当然,在介绍之前,

【转】Linux 下搭建Postfix邮件服务器详解:

在我自己的服务器上面搭建了邮件服务器,为的是接下来写shell脚本进行报警监控.当服务器发生意外,可以及时发送邮件服务器到邮箱. 看了两个教程,按照两个教程来搭建的,感谢原作. Linux 下搭建Postfix邮件服务器详解: 1.首先关闭sendmail服务 service sendmail stop 2.chkconfig sendmail off(关闭开机自启动) 3.修改DNS正解文件,使DNS能够解析邮箱服务 添加下面两行 mail.zhubf.com. IN A