Nginx基础笔记

智数逐光人
• 阅读 1294

一、是什么

Nginx是一个高性能的HTTP和反向代理的Web服务器,核心特点是占用内存少,并发能力强。

二、应用场景

  • HTTP服务器

    • 高并发(5W并发连接),高负载,本身低功耗
  • 反向代理服务器
  • 负载均衡服务器
  • 动静分离

三、特点

  • 跨平台 -> 大多数类Unix系统,以及Windows
  • 上手容易
  • 高并发、性能好
  • 稳定性好

四、反向代理

1. 正向代理

请求 -> 代理服务器 -> 目标服务器 ,返回的时候原路返回

2. 反向代理

请求 -> Nginx(暴露的ip及端口) -> 真实处理的服务的ip(隐藏)

Nginx反向代理到真实服务提供者,根据负载均衡策略,用户只能看到反向代理服务器Nginx的端口及ip。

五、负载均衡

当请求到来时,分配哪个服务处理请求的过程。为了解决服务高负载的问题。

1. 策略: 轮训(默认)

upstream Servers {
    server ip:port;
    server ip:port;
}

location /path/ {
    proxy_pass   http://Servers/;
}

2. 策略: 权重

# 权重越高被分配请求越多
upstream Servers {
    server ip:port weight=1;
    server ip:port weight=2;
}

3. 基于ip的hash

# 每个请求按照ip的hash分配结果,同意客户端的请求会分到同一服务提供者,可以解决session问题。
upstream Servers {
    ip_hash;
    server ip:port;
    server ip:port;
}

六、动静分离

  • 静态资源:html,js,icon等文件交由Nginx路由
  • 动态资源:Servlet,接口 交由服务的Tomcat

    # 静态资源
    location /static/ {
       root /app/static/ # 静态资源目录
    } 

七、命令

./nginx #启动
./nginx -s stop
./nginx -s reload #重新加载配置文件

八、内存模型

  • Master进程用于控制woker进程
  • worker进程真正负责工作,独立互不影响

九、配置

# 所有配置以 ;  结尾
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    
    # 负载均衡
        upstream Server {
            server 127.0.0.1:8080;
            server 127.0.0.1:8081;
        }
        
        
    server {
        listen       80; # 监听端口
        server_name  localhost; #监听ip

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / { # / 代表默认反向代理的情况#
            #root   html;
            #index  index.html index.htm;
            # 转发到 127.0.0.1:8080
            proxy_pass   http://127.0.0.1:8080/;
        }
        
        # 根据不同路径转发
        # 语法:location [ = | ~ | ~* | ^~ ] /URI { … }  https://segmentfault.com/a/1190000022315733
        location /path/ { 
            #root   html;
            #index  index.html index.htm;
            # 转发到 127.0.0.1:8081
            # proxy_pass   http://127.0.0.1:8081/;
            # 负载均衡方式
            proxy_pass   http://Server/;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}
点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Keepalived+Nginx实现高可用和双主节点负载均衡
简介Nginx可以实现高并发反向代理,lvs集群可以实现负载均衡,但是他们都有一个共同的弊端,就是Nginx,lvs架构中Director是单点故障,有没有一个好的方案解决这个问题呢?答案是有。通过Keepalived就可以实现,前端Nginx,lvs中Director服务器的高可用和负载均衡,通过shell命令或者脚本可以实现对服务器状态和服务的监控!
Stella981 Stella981
3年前
Nginx入门简介和反向代理、负载均衡、动静分离理解
场景Nginx简介Nginx("enginex")是一个高性能的HTTP和反向代理服务器特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。Nginx可以作为静态页面的web服务器,
Stella981 Stella981
3年前
Nginx入门
课程概览Nginx是一个开源的HTTP和反向代理服务器,同时也可以用于邮件代理服务器、负载均衡以及HTTP缓存。Nginx项目在一开始时,就定位于高并发、高性能以及低内存消耗的目标。它可以运行在Linux,,各类BSD系统,MacOSX,Solaris,AIX,HPUX以及各类\nix操作系统。此外,它也提供了一个Windows
Stella981 Stella981
3年前
Nginx是什么及作用?
一:介绍nginx是一个高性能的HTTP和反向代理服务器,其特点是占用内存少,并发能力强。二:名词介绍代理服务器:代理服务器英文全称是ProxyServer,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站,去获取信息。主要的功能有:1.突破自身IP访问限制,访问国外站点。教育网、169网等
Stella981 Stella981
3年前
Nginx、Apache工作原理及Nginx为何比Apache高效
Nginx才短短几年,就拿下了web服务器大笔江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于httpd,甚至能轻松解决C10K问题。在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx0.7.14PHP5.2.6(FastCGI)可
可莉 可莉
3年前
12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向
12.5Nginx介绍Nginx("enginex")是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSDlike协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网
Wesley13 Wesley13
3年前
nginx中文手册内容说明
1.什么是nginx?Nginx是一个高性能的Web和反向代理服务器,它具有有很多非常优越的特性:作为Web服务器:相比Apache,Nginx使用更少的资源,支持更多的并发连接,体现更高的效率,这点使Nginx尤其受到虚拟主机提供商的欢迎。能够支持高达50,000个并发连接数的响应,感谢Nginx为我们选择了e
Stella981 Stella981
3年前
Nginx安全加固配置手册
第1章   概述1.1   目标Nginx(发音同enginex)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师IgorSysoev所开发,可以稳定地运行在Linux、Windows等操作系统上,其特点是占用内存少,并发能力强。同其他软件一样,Ng
Stella981 Stella981
3年前
Nginx学习总结(一)
一、基本概念1.什么是Nginx?Nginx是一个高性能的web服务器和反向代理服务器,特点是占用内存少,并发能力强;事实上Nginx的并发能力确实在同类型的网页服务器中表现良好;Nginx专为性能优化而开发,性能是其主要的考量;实现上非常注重效率,经得住高并发的考验,有报告表名能支持高达50000个并发连接数
胖大海 胖大海
2年前
什么是nginx
Nginx的介绍Nginx是一款是由俄罗斯的程序设计师IgorSysoev所开发高性能的Web和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错
阮小五 阮小五
1年前
Nginx入门学习笔记
Nginx是一款面向性能设计的HTTP服务器,能反向代理HTTP,HTTPS和邮件相关(SMTP,POP3,IMAP)的协议链接。并且提供了负载均衡以及HTTP缓存。它的设计充分使用异步事件模型,削减上下文调度的开销,提高服务器并发能力。采用了模块化设计,