一       扎实功底之迅捷学习Nginx

Nginx是1款轻量级的Web
服务器/反向代理服务器及电子邮件(IMAP/POP三)代理服务器,并在三个BSD-like
协议下发行。其性状是占用内存少,并发技能强,事实上nginx的出现技艺确实在同品种的网页服务器中显现较好,中国六上使用nginx网址用户有:百度、京东、腾讯网、乐乎、腾讯、天猫商城等。

 

中文文书档案官方网址:

 

普通话文书档案官方网站络,具备了一些演示:

安装

nginx在windows上安装

nginx在freebsd上安装

nginx在ubuntu上安装

nginx在fedora上安装

nginx在centos上安装

nginx php-fpm安装配备

布署示范和办法

1体化示例

完全示例(来自 Nginx
站点)

虚拟主机

负载均衡示例

防盗链

X-Sendfile (=> X-Accel-Redirect) in
Nginx

Disable the errorlog entries caused by the
HW-Loadbalancer

目录

二       扎实功底之从零先河-Nginx集群布满式.NET应用

Nginx集群体系篇

章节

资料下载

Nginx集群及代理的应用

PDF下载

Nginx集群之WCF分布式局域网应用

PDF下载

Nginx集群之WCF分布式身份验证(支持Soap)

PDF下载

Nginx集群之WCF大文件上传及下载(支持6G传输)

PDF下载

Nginx集群之WCF分布式消息队列

PDF下载

Nginx集群之SSL证书的WebApi微服务

PDF下载

Nginx集群之SSL证书的WebApi身份验证

PDF下载

Nginx集群之SSL证书的WebApi令牌验证

PDF下载

Nginx集群之基于Redis的WebApi身份验证

PDF下载

Nginx集群之.Net打造WebApp(支持IOS和安卓)

PDF下载

 

一       大致思路… 一

3       总结

学学的经过在于不断地积存、应用、切磋。小说均来自本人原创,仅供参考。

二       领悟Nginx及文档财富… 一

叁       Nginx命令模块及进度组织… 二

4       解读Nginx配置… 3

5       让“百度”成为团结的“搬运工”. 5

陆       服务器负荷均衡集群… 7

7       域名解析落成负载均衡… 八

8       总结… 10

1       差不离思路

l  精晓Nginx及文书档案财富

l  Nginx命令模块及进度组织

l  解读Nginx配置

l  让“百度”成为本人的“搬运工”

l  服务器负荷均衡集群

l  域名解析达成负载均衡

l  总结

 

二       掌握Nginx及文书档案财富

Nginx是1款轻量级的Web
服务器/反向代理服务器及电子邮件(IMAP/POP三)代理服务器,并在1个BSD-like
协议下发行。其特色是挤占内部存款和储蓄器少,并发才干强,事实上nginx的产出手艺确实在同品种的网页服务器中显现较好,中华夏族民共和国陆上使用nginx网址用户有:百度、京东、搜狐、搜狐、腾讯、Tmall等。

 

华语文书档案官方网址:

 

中文文书档案官英特网,具备了一部分演示:

安装

nginx在windows上安装

nginx在freebsd上安装

nginx在ubuntu上安装

nginx在fedora上安装

nginx在centos上安装

nginx php-fpm安装配备

配备示范和艺术

总体示例

①体化示例(来自 Nginx
站点)

虚拟主机

负载均衡示例

防盗链

X-Sendfile (=> X-Accel-Redirect) in
Nginx

Disable the errorlog entries caused by the
HW-Loadbalancer

三       Nginx命令模块及经过组织

宗旨命令

命令

描述

nginx –s stop

立即停止守护进程(使用TERM信号)

nginx –s quit

温和地停止守护进程(使用QUIT信号)

nginx –s reopen

重新打开日志文件

nginx –s reload

重新载入配置文件

nginx -t

测试配置文件

kill/killall nginx

配置服务无法停止,可用该命令终止该进程

 

高端的配备,一般有5个公文

标准名称

描述

nginx.conf

应用程序的基本配置文件

mime.types

一个文件扩展列表文件,与MIME类型关联

fastcgi.conf

与FastCGI相关的配置文件

proxy.conf

与Proxy相关的配置文件

sites.conf

配置Nginx提供的网站,最好每个域建文件

 

中央模块

名称

描述

核心模块(Core module)

基本特征和指令,例如进程管理和安全

事件模块(Events module)

让你在Nginx内部机制配置网络使用能力

配置模块(Configuration module)

提供包含机制

开发银行Nginx,二个无比的过程存在于内部存款和储蓄器——master进程,假使该服务在系统运营时有init脚本运维,它会采用当前的用户和用户组来运作——经常为root/root,master进度本身不处理任何客户端的伸手,它是用来发生进程——worker进度,这么些worker进度在配备文件中内定的用户和用户组来运作,定义大批量worker进度以及种种worker进度的最菲尼克斯接数。

图片 1 

硬件选用

低流量的配置

标准配置

高流量配置

CPU:双核

RAM:2GB

请求:~1/s

CPU:四核

RAM:4GB

请求:~50/s

CPU:八核

RAM:12GB

请求:~1000/s

推荐值

 

 

worker_processes 2;

worker_rlimit_nofile 1024;

worker_priority -5;

worker_cpu_affinity 01 10;

events{

 multi_accept on;

 worker_connections 128;

}

worker_processes 4;

worker_rlimit_nofile 8192;

worker_priority 0;

worker_cpu_affinity 0001 0010 0100 1000;

events{

 multi_accept off;

 worker_connections 1024;

}

worker_processes 8;

worker_priority 0;

events{

 multi_accept off;

 worker_connections 8192;

}

 

4       解读Nginx配置

大旨模块(Core module)指令

指令和使用环境

描述

master_process

语法:on或off

若为on,Nginx将开启多个进程,一个主进程(即master进程)和worker进程;若为off,Nginx会以独一无二的进程来运行。该指令仅被用于测试。

worker_processes

语法:数字

定义worker进程的数量,Nginx可将请求分到多个worker进程

error_log

语法:error_log /file/path level

能够提供不同的错误日志级别:应用程序、HTPP服务、虚拟主机和虚拟主机目录

pid

语法:文件路径

用于存放Nginx守护进程的pid文件路径。默认值为编译时配置的路径

事件模块(伊芙nt Module)指令

指令和使用环境

描述

worker_connections

语法:数字

定义一个woker进程能够同时连接的数量

multi_accept

语法:on或off

定义Nginx是否立刻从所有监听队列进入的连接

配备模块(Configuration
module)指令(涉及的根本是HTTP宗旨模块,上边再补偿)

Nginx.conf解读:

#user  nobody;
#定义worker进程的数量,Nginx可将请求分到多个worker进程
worker_processes  1;

#能够提供不同的错误日志级别:应用程序、HTPP服务、虚拟主机和虚拟主机目录
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#用于存放Nginx守护进程的pid文件路径。默认值为编译时配置的路径
#pid        logs/nginx.pid;

#定义一个woker进程能够同时连接的数量
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

Nginx以地点配置为根基,提供Web服务

l  通过80监听tcp套接字

l  访问地址

l  主页为index.html

在windows的cmd下,进入nginx目录,输入:

D:\DTLDownLoads\nginx-1.10.2>start nginx

D:\DTLDownLoads\nginx-1.10.2>nginx -t
nginx: the configuration file D:\DTLDownLoads\nginx-1.10.2/conf/nginx.conf syntax is ok
nginx: configuration file D:\DTLDownLoads\nginx-1.10.2/conf/nginx.conf test is successful

D:\DTLDownLoads\nginx-1.10.2>

运作效果如下:

 图片 2

伍       让“百度”成为本人的“搬运工”

怎么着选用Nginx代理,使“百度”成为搬运工,首要安装server_name和proxy_pass属性。这里涉及了配备模块,首假若HTTP主旨模块。

HTTP大旨模块包涵HTTP服务器全体焦点的区段(block)、指令和变量。重要有http,server和location那两个入眼的区段结构。

l  http 该区段嵌入配置文件的根部。

l  server
那些区段允许你声美素佳儿(Karicare)个站点,可以设定网址(通过主机名)。那样经过Nginx完成公认的服务器。该区段只可以用在http区段。

l  location
定义一组织设立置,应用于网址的二个一定岗位。该区段能够用于server区段,也能嵌套在其它location中。

指令和使用环境

描述

server_name

语法:server_name hostname1[hostname2…]

在server区段定义一个或者多个主机名

sendfile

语法:on或off

Nginx将使用sendfile内核来调用处理文件传递。

root

语法:目录路径

定义文档根目录

keepalive_timeout

语法:keepalive_timeout time1[time2…]

keep-alive能够使用客户端服务器的连接在一定时间内持续有效

 

Nginx.conf配置如下:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost zhyongfeng;
        location / {
            proxy_pass   https://www.baidu.com;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

运作效果:

 图片 3

图片 4

 

陆       服务器负荷均衡集群

不等主机端口,通过localhost:80端口实行负荷均衡集群访问,使用localhost对WEB
API配置如下:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    upstream zhyongfeng.com {
    #可进行down测试;
        server    10.92.202.56:5600; 
        server    10.92.202.57:5700; 
        server    10.92.202.58:5800;
    }
    server {
        listen       80;
        server_name  localhost;
        location / {
            proxy_pass   http://zhyongfeng.com;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

运行CMD:

D:\DTLDownLoads\nginx-1.10.2>start nginx

D:\DTLDownLoads\nginx-1.10.2>nginx -s reload

访问:,运转结果:

 图片 5

图片 6

图片 7

 

7       域名解析完结负载均衡

差别主机端口,通过自己作主义域名zhyongfeng.com:80端口实行负荷均衡集群访问,则访问C:\Windows\System32\drivers\etc\hosts,增添下列“本机IP
自定义的域名”:

10.93.85.66    zhyongfeng.com

接纳zhyongfeng.com对WEB API配置如下:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    upstream zhyongfeng.com {
        server    10.92.202.56:5600;
        server    10.92.202.57:5700; 
        server    10.92.202.58:5800;
    }
    server {
        listen       80;
        server_name  zhyongfeng.com;
        location / {
            proxy_pass   http://zhyongfeng.com;
        } 
    }
}

运营CMD,重新reload加载配置,停止后再一次起动:

D:\DTLDownLoads\nginx-1.10.2>nginx -s reload

D:\DTLDownLoads\nginx-1.10.2>nginx -s stop

D:\DTLDownLoads\nginx-1.10.2>start nginx

访问:http://zhyongfeng.com/,http://localhost/,http://10.93.85.66/的运维结果:

图片 8

图片 9

图片 10

8       总结

Nginx能够应用Rewrite模块创立高端重写规则,能够和PHP、Python结合,也足以轮换Apache,只怕功能于现存HTTP服务器前端,能够轻巧创设虚拟主机配置,既能反向代理又足以是电子邮件(IMAP/POP三)代理服务器,功能庞大,能够深深学习。

 

Windows的Nginx财富下载:

 

PDF下载:

Nginx集群及代理的应用.pdf

相关文章