认识Nginx

xiaoxiao2021-02-28  12

一.首先来介绍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进程所能够打开的文件数量上限;

转载请注明原文地址: https://www.6miu.com/read-1100041.html

最新回复(0)