zdsgjh

Nginx (engine x) 是一个高性能的HTTP反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

占用内存:1-2M

并发能力:5万/秒(C语言开发), 3万/秒

免费:不花钱

特点:nginx是软件负载均衡.

 

Nginx 常用功能:

  1. HTTP代理和反向代理(反向代理最广泛)
  2. 负载均衡

1)      内置策略

a)      轮询

将请求按顺序(时间,排序)for后端节点,出问题节点自动排除

b)      加权轮询

轮询考虑后端节点接受请求的权重,指定节点几率

c)      IP hash

将前端访问IP进行hash操作,根据hash结果将请求分配节点,避免session在多个节点共享

2)      扩建策略

a)      url hash

对前端请求的url进行hash操作(提高缓存效率,需配置缓存服务器)

b)      fair

第三方模块,自行查询

  1. Web缓存

取代Squid

Nginx安装:

  1. Windows:  解压运行即可
  2. Linux:  

1)      #mkdir /nginx/  新建目录

2)      #cp nginx安装文件.tar.gz /nginx 将安装文件复制到对应目录下

3)      #tar xf nginx安装文件.tar.gz  解压归档文件

4)      #./configure --prefix=/Nginx将工作路径定位到解压目录,命令配置生成Makerfile文件

5)      #make  编译

6)      #make install 使用maker的install命令安装

7)      #cd/nginx

8)      #ls -1   查看资源

Nginx配置文件

   默认的Nginx服务器配置文件都存放在安装目录conf中,主配置文件为nginx.conf

worker_processes  1;      #全局生效

 

events {

    worker_connections  1024;      #在events部分中生效

}

 

 

http {

    include       mime.types;               #以下指令在http部分中生效

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

 

    server {                                #以下指令在http的server部中生效

        listen       80;

        server_name  localhost;

        location / {                        #以下指令在http/server的localhost生效

              #root代表文件夹

            root   html;

            #index 默认访问页面

            index  index.html index.htm;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

     

      全局块:主要设置一些影响Nginx服务运行的配置指令,例如:配置运行用户,PID存放路径,日志存放路径等

events块:影响Nginx服务器与用户的网络连接,例如:是否允许同时接受多个网络连接,选取那种事物驱动模块处理请求等

http块:代理,缓存和日志定义等大部分的功能和第三方模块配置都放在里面

server块:本虚拟主机的监听配置和名称或IP配置

location块:对特定请求进行处理,地址定向,数据缓存和第三方配置等

    

 

分类:

技术点:

相关文章: