nginx架构特性及编译安装

一、架构特性

nginx会按需同时运行多个进程:一个主进程(master)和几个工作进程(worker),配置了缓存时还会有缓存加速器进程(cache loader)和缓存管理器进程(cache manager)等,所有进程是仅含有一个线程,并主要通过"共享内存"的机制实现进程间通信,主进程以root用户身份运行,而worker、cacher loader和cache manager均应以非特权用户身份运行。


主进程主要完成如下工作:

  1. 读取并验证配置信息;

  2. 创建、绑定及关闭套接字;

  3. 启动、终止及维护worker进程的个数;

  4. 无需中止服务二重新配置工作特性;

  5. 控制非中断式程序升级,启用新的二进制程序并在需要时回滚至老版本;

  6. 重新打开日志文件;


worker进程主要完成的任务包括:

  1. 接收、传入并处理来自客户端的连接;

  2. 提供反向代理及过滤功能;

  3. nginx任何能完成的其他任务;


二、编译安装


1、下载和解压

# cd /usr/local/src

# wget http://nginx.org/download/nginx-1.6.2.tar.gz

# tar xvzf nginx-1.6.2.tar.gz

# cd nginx-1.6.2


2、解决依赖关系

编译安装nginx需要事先安装开发包组"Development Tools"和"Development Libraries",还需要专门安装pcre-devel包

# yum groupinstall "Development Tools" "Development Libraries"

# yum -y install pcre-devel


3、安装

首先添加用户nginx,实现以之运行nginx服务进程

# groupadd -r nginx

# useradd -r -g nginx nginx


接着开始编译安装:

# ./configure \

  --prefix=/usr/local/nginx-1.6.2 \

  --user=nginx \

  --group=nginx \

  --with-http_ssl_module \

  --with-http_flv_module \

  --with-http_stub_status_module \

  --with-http_gzip_static_module \

  --with-http_realip_module \

  --http-client-body-temp-path=/var/tmp/nginx/client/ \

  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \

  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \

  --http-scgi-temp-path=/var/tmp/nginx/scgi \

  --with-pcre

# make & make install


你可能感兴趣的:(nginx)