nginx 安装和内部结构

一.nginx 介绍

1.NGINX:高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

在高连接并发的情况下,Nginx是Apache服务器不错的替代品.

2.Nginx工作原理:

      1) Nginx由内核和模块组成,完成工作是通过查找配置文件将客户端请求映射到一个location block(location是用于URL匹配的命令),location配置的命令会启动不同模块完成工作。

       2)Nginx模块分为核心模块,基础模块和第三方模块。

       a.核心模块:HTTP模块、EVENT模块(事件)、MAIL模块。

  b.基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块、HTTP Rewrite模块。

       c.第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块。

3. 性能优势

      a. web服务器,处理静态文件、索引文件以及自动索引效率高。

       b.代理服务器,快速高效反向代理,提升网站性能。

       c.负载均衡器,内部支持Rails和PHP,也可支持HTTP代理服务器,对外进行服务。同时支持简单容错和利用算法进行负载均衡。

      d.性能方面,Nginx专门为性能设计,实现注重效率。采用Poll模型,可以支持更多的并发连接,并在大并发时占用很低内存。

      e. 稳定性方面,采用分阶段资源分配技术,使CPU资源占用率低。

       f.高可用性方面,支持热备,启动迅速。

二.安装:

(零).系统环境

nginx-1.6.2  ubuntu 12.04 

(一)、软件下载和依赖包

1、pcre   ----->   rewrite模块需要 pcre 库

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz

2、nginx

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

3.Zlib    ------>gzip模块需要 zlib 库

下载地址:   http://download.chinaunix.net/download/0013000/12241.shtml

4.ssl   ------->ssl 功能需要openssl库

下载地址:http://www.openssl.org/source/

(二)、安装

1、安装pcre

tar xf pcre-8.35.tar.gz

cd pcre-8.35

 ./configure 

make

make install

2.安装zlib

   tax  zxvf zlib-1.2.7.targz

   cd zlib-1.2.7

   ./configure

   make

   make install 

3、安装nginx

useradd nginx -s /sbin/nologin 

tar xf nginx-1.6.2.tar.gz 

cd nginx-1.6.2

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module  --with-pcre=/usr/local/src/pcre-8.35  --with-zlib=/usr/local/src/zlib-1.2.7

make

make install

4.启动服务

   /usr/local/nginx/sbin/nginx

5.查看网页和端口

   netstat  -an | grep 80 

6.浏览器输入地址:  ip    可以查看到欢迎界面. 

欢迎界面

7.ngixn 的常用命令:

/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件 

/usr/local/nginx/sbin/nginx -s stop/start/restart       # 停止,启动,重启 Nginx

/usr/local/nginx/sbin/nginx -t  #检查配置文件语法问题


三.nginx 目录结构

tree  /usr/local/nginx

.

├── client_body_temp

├── conf                                   # Nginx所有配置文件的目录

│  ├── fastcgi.conf                     # fastcgi相关参数的配置文件

│  ├── fastcgi.conf.default         # fastcgi.conf的原始备份文件

│  ├── fastcgi_params                # fastcgi的参数文件

│  ├── fastcgi_params.default    # 所有结尾为default的文件都是备份文件

│  ├── koi-utf                               #编码映射: charset_map  koi8-r < -- > windows-1251

│  ├── koi-win                            # 编码映射:charset_map  koi8-r < -- > utf-8

│  ├── mime.types                    # 媒体类型

│  ├── mime.types.default

│  ├── nginx.conf                     # Nginx主配置文件

│  ├── nginx.conf.default

│  ├── scgi_params                   # scgi相关参数文件

│  ├── scgi_params.default 

│  ├── uwsgi_params                # uwsgi相关参数文件

│  ├── uwsgi_params.default

│  └── win-utf                       #编码转换:charset_map  windows-1251 < -- > utf-8

├── fastcgi_temp                    # fastcgi临时数据目录

├── html                                # Nginx默认站点目录

│  ├── 50x.html                    # 错误页面优雅替代显示文件,例如当出现502错误时会调用此页面

│  └── index.html                  # 默认的首页文件

├── logs                           # Nginx日志目录

│  ├── access.log                  # 访问日志文件

│  ├── error.log                     # 错误日志文件

│  └── nginx.pid                    # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件

├── proxy_temp                      # 临时目录

├── sbin                            # Nginx命令目录

│  └── nginx                        # Nginx的启动命令

├── scgi_temp                        # 临时目录

└── uwsgi_temp                      # 临时目录

编码处理文件存在是由于koi8-r是斯拉夫文字8位元编码,供俄语及保加利亚语使用。在Unicode未流行之前,KOI8-R 是最为广泛使用的俄语编码,使用率甚至起ISO/IEC 8859-5还高。这3个文件存在是因为作者是俄国人的原因

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容