认识Nginx

一.首先来介绍Nginx的功能特性:

1.模块化设计,较好的扩展性

  支持热部署:不停机更新配置文件,升级版本,更换日志文件

 低内存消耗,高可靠性

2. Nginx是一个轻量级且高效的Linux下的Web服务器软件,相当的稳定、功能丰富、安装配置简单、低系统资源……

作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,而且在访问静态页面的时候有着无与伦比的性能和效率。
作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器,Last.fm 描述了成功并且美妙的使用经验。
Nginx 配置文件非常简洁(还能够支持perl语法),Bugs少,启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下进行软件版本的升级。

3. Nginx配置中实现负载均衡公司使用两种方式:
根据weight:location -> proxy_pass -> upstream -> 在upstream中不同的后端Server配置不同的weight
根据Hash: location -> proxy_pass -> upstream -> 在upstream将域名之后的位置请求Hash后分配到不同的后端Server

4.nginx的功用:
静态的web资源服务器;(图片服务器,或js/css/html/txt等静态资源服务器)
结合FastCGI/uwSGI/SCGI等协议反代动态资源请求;
http/https协议的反向代理;
imap4/pop3协议的反向代理;
tcp/udp协议的请求转发;

1.Nginx的安装

官方:  http://nginx.org/packages/centos/7/x86_64/RPMS
 Fedora-EPEL:
  https://mirrors.aliyun.com/epel/7/x86_64/
编译安装:
yum install pcre-devel openssl-devel zlib-devel
useradd -r nginx
 ./configure --prefix=/usr/local/nginx --conf-
path=/etc/nginx/nginx.conf --error-log-
path=/var/log/nginx/error.log --http-log-
path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --
lock-path=/var/run/nginx.lock --user=nginx --group=nginx --
with-http_ssl_module --with-http_v2_module --with-
http_dav_module --with-http_stub_status_module --with-
threads --with-file-aio
 make && make install

2.程序环境
 配置文件的组成部分:
主配置文件:nginx.conf
include conf.d/*.conf
fastcgi, uwsgi,scgi等协议相关的配置文件
mime.types:支持的mime类型
主程序文件:/usr/sbin/nginx
Unit File:nginx.service

注意:
(1) 指令必须以分号结尾;
(2) 支持使用配置变量;
内建变量:由Nginx模块引入,可直接引用;
自定义变量:由用户使用set命令定义;
set variable_name value;
引用变量:$variable_name

三.Nginx的高度模块化,所有的配置都可以在配置文件*.conf中完成

具体的官方文件中给出了很多的注释与帮助(http://nginx.org/)举几个例子我们可以看一下

配置指令:
main配置段常见的配置指令:
分类:
正常运行必备的配置
优化性能相关的配置
用于调试及定位问题相关的配置
事件驱动相关的配置
正常运行必备的配置:
1、user
Syntax: user user [group];
Default: user nobody nobody;
Context: main
2、pid /PATH/TO/PID_FILE;
指定存储nginx主进程进程号码的文件路径;
3、include file | mask;
指明包含进来的其它配置文件片断;
4、load_module file;
指明要装载的动态模块;
性能优化相关的配置:
1、worker_processes number | auto;
worker进程的数量;通常应该等于小于当前主机的cpu的物理核心数;
auto:当前主机物理CPU核心数;
2、worker_cpu_affinity cpumask ...;
worker_cpu_affinity auto [cpumask];
nginx进程的CPU亲缘性;
CPU MASK:
00000000:
0000 0001:0号CPU
0000 0010:1号CPU
0000 0100:2号CPU
... ...
0000 0011:0和1号CPU(这个是不正确的只能单独的存在);
3、worker_priority number;
指定worker进程的nice值,设定worker进程优先级;[-20,20]
4、worker_rlimit_nofile number;
worker进程所能够打开的文件数量上限;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值