Nginx入门使用介绍

简介: 简单介绍Nginx基础知识

Nginx


Nginx目录
  • conf

用来存放配置文件相关

  • html

用来存放静态文件的默认目录 html、css等

  • sbin

nginx的主程序


基本运行原理

Nginx配置文件
  • worker_processes

worker_processes 1;默认为1,表示开启一个业务进程

  • worker_connections

worker_connections 1024;单个业务进程可接受连接数

  • include mime.types;

include mime.types; 引入http mime类型

  • default_type application/octet-stream;

default_type application/octet-stream;如果mime类型没匹配上,默认使用二进制流的方式传输

  • sendfile on;

sendfile on; 使用linux的sendfile(socket, file, len)高效网络传输,也就是数据0拷贝。
未开启sendfile

开启sendfile

  • server

虚拟主机配置

server {
            listen 80; 监听端口号
            server_name localhost; 主机名
            location / { 匹配路径
                    root  html; 文件根目录
                    index.html index.htm; 默认页名称
            }
            error_page  500 502 503 504 /50x.html; 报错编码对应页面
            location = /50x.html {
                    root   html;
            }          
} 

虚拟主机

原本一个服务器只能对应一个站点,通过虚拟主机技术可以虚拟化成多个站点同时对外提供服务

servername匹配规则

需要注意servername匹配分先后顺序,写在前面的匹配上就不会继续往下匹配了。

完整匹配

我们可以在同一servername中匹配多个域名
serve_name void.test.com www1.test.com;

通配符匹配

server_name *test.com;

通配符结束匹配

server_name void.* ;

正则表达式

server_name ~^[0-9]+\.test\.com$ ;

Nginx反向代理
location / {
      proxy_pass http://test;
}

基于反向代理的负载均衡
upstream test {
      server 服务地址:端口号;
      server 服务地址:端口号;
      ...
}
  • 负载均衡策略
  1. 轮询

默认情况下使用轮询方式,逐一转发,这种方式适用于无状态请求。

  1. weight(权重)

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

upstream test {
      server 服务地址:端口号   weight=10 down;
      server 服务地址:端口号   weight=1;
      server 服务地址:端口号   weight=2 backup;
}
  down:表示当前的server暂时不参与负载
  weight:默认为1.weight越大,负载的权重就越大。
  backup: 其它所有的非backup机器down或者忙的时候,请求backup机器
  • ip_hash

根据客户端的ip地址转发同一台服务器,可以保持会话。

  • least_conn

最少连接访问

  • url_hash

根据用户访问的URL定向转发请求(固定资源不在同一服务器上使用 ,不常使用,容易造成流量倾斜)

  • fair

根据后端服务器响应时间转发请求


动静分离
  1. 配置反向代理
location / {
      proxy_pass http://服务地址:端口号;
      root html;
      index index.html  index.htm;
}
  1. 增加每一个location
location /css {
      root /usr/local/nginx/static;
      index index.html index.htm;
}
location /js {
      root /usr/local/nginx/static;
      index index.html index.htm;
}
location /img {
      root /usr/local/nginx/static;
      index index.html index.htm;
}
  1. 使用一个location

使用正则 location前缀

/ 通用匹配,任何请求都会匹配到
=精准匹配,不是以指定模式开头
~正则匹配,区分大小写
~*正则匹配,不区分大小写
^*非正则匹配,匹配以指定模式开头的location
  1. location匹配顺序

    • 多个正则location直接书写顺序匹配,成功后就不会继续往后面匹配
    • 普通破(非正则)location会一直往下走,知道找到匹配度最高的(最大前缀匹配)
    • 当普通location与正则location同时存在,如果正则匹配成功,则不会再执行普通匹配
    • 所有类型location存在时,“=”匹配 > “^~”匹配 > 正则匹配 > 普通(最大前缀匹配)

相关文章
|
4月前
|
存储 缓存 负载均衡
Nginx入门笔记
Nginx入门笔记
116 0
|
5月前
|
负载均衡 算法 应用服务中间件
Nginx+Tomcat实现反向代理与负载均衡入门
Nginx+Tomcat实现反向代理与负载均衡入门
190 0
|
5月前
|
负载均衡 网络协议 应用服务中间件
当当网266买来的1399页Nginx笔记,原来我入门都不算
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
当当网266买来的1399页Nginx笔记,原来我入门都不算
|
负载均衡 网络协议 Ubuntu
入门nginx
今天带大家一起学习一下nginx。 # 什么是nginx Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。 - Nginx其可以支持数以百万级别的TCP连接 - 开源 - 跨平台 - 稳定 - 反向代理 ## 正向代理与反向代理 什么是正向代理呢?正向代理就是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真
|
缓存 负载均衡 JavaScript
Nginx 简单入门指北不指南
Nginx 简单入门指北不指南
103 0
|
网络协议 Ubuntu 关系型数据库
树莓派ubuntu20.04+Docker+Nginx+Wordpress个人网站搭建全纪录(超详细,入门友好篇)
前言: 本文基于树莓派4B平台,搭载Ubuntu Server 20.04 LTS版本服务器系统,通过将树莓派服务器连接Ipv6公网网络,利用Docker工具,部署Nginx反向代理与Wordpress网站管理系统,实现网站搭建与异地访问。同时用到了域名管理、DDNS、MySQl等工具。本文将从服务器镜像烧录开始,将网站搭建过程进行完整的说明记录。 (经验来自互联网,多次试错学习后总结如下,以供参考。) 关键词: 树莓派; Ubuntu ; Ipv6 ;Docker
518 0
树莓派ubuntu20.04+Docker+Nginx+Wordpress个人网站搭建全纪录(超详细,入门友好篇)
|
前端开发 应用服务中间件 API
Nginx入门及如何反向代理解决生产环境跨域问题
Nginx入门及如何反向代理解决生产环境跨域问题
|
域名解析 负载均衡 应用服务中间件
Nginx基本入门
Nginx基本入门
91 0
Nginx基本入门
|
关系型数据库 MySQL 应用服务中间件
入门 - Docker将nginx容器和php容器关联起来
新建完文件后就可以开启容器了,开启后应该就正常了,访问你的服务器ip(默认就是80端口,应该就可以正常访问nginx) 然后在刚刚的主机目录/home/wwwroot/下新建一个目录default (因为在nginx里设置的默认目录,可以自己修改) 然后新建test.php 写入php代码测试运行。
393 0
|
消息中间件 编解码 JSON
Kafka、Logstash、Nginx日志收集入门
Kafka、Logstash、Nginx日志收集入门
195 0