nginx学习笔记

基本内容

视频地址
https://www.bilibili.com/video/BV1TZ421b7SD/?spm_id_from=333.788&vd_source=36466300c658605b420cf080dc4109c2

nginx基本功能

  • web服务器
  • 负载均衡
  • 反向代理
  • ...
    主要讲解作为web服务的配置.

nginx 基本命令

  • 检查nginx版本

nginx -v

  • 检查nginx运行状态

service nginx status

  • 检查配置

nginx -t

  • 重新加载配置

nginx -s reload

web服务器配置

常见配置

http{

include /etc/nginx/mime.types;

server{

listen 80;

server_name localhost 39.39.39.39 www.gaobiaozhun.cn;

root /var/www/gaobiaozhun;

index egg.html;

}

}

知识点讲解:

  • listen 指定监听端口
  • server_name 指定监听访问地址
  • root 指定本地对应的根目录
  • index 指定默认展示网页,默认为index.html 访问 http://localhost 自动展示$root/index
  • server可以添加多个, 每一个对应一个web服务
    通过include /etc/nginx/conf.d/*.conf; 将该路径下所有配置文件添加为nginx配置, 实现将server拆分到多个文件中 方便管理.
  • include /etc/nginx/mime.types; 浏览器请求文件时, 根据文件扩展名查找并设置响应头中的Content-Type.

location标签讲解

http{

include /etc/nginx/mime.types;

server{

listen 80;

server_name localhost 39.39.39.39 www.gaobiaozhun.cn;

location /app {

复制代码
    }
    }
}

访问到网络资源需要两个条件

  • nginx设置网络资源允许访问
  • 根路径下有和网络路径一致的文件
    curl 进行测试
  • localhost/app123.html 可以访问
  • localhost/app/ 可以访问app路径下 index
  • localhost/apple/ppa/ 可以访问路径下 index

location [参数] /app 按照匹配顺序从高到低依次为:

  1. = 精确匹配

location = /app/index.html {}

  1. ^~ 前缀匹配
  2. ~ 或 ~* 正则

location ~ /videos/video[6-9].avi{}

  1. 空格 普通前缀

重写与重定向

重写

{

location rewrite /temp /app/index.html

}

重定向

{

location /temp{

return 307 /app/index.html

}

}

上面都是针对单文件路径

多文件

location / {

add_header X-debug-uri "$uri";

try files uri uri/ =404;

}

  • add_header 服务器对http响应添加响应头
  • try files try_files指令会按顺序检查文件或者目录是否存在,如果不存在则继续检查下一个。如果所有的文件或者目录都不存在,则会返回404错误。

自定义404 500等页面

server {

error_page 404 /404.html

}

返回根路径下404.html 页面

反向代理

location /nextjsapp1 {

proxy_pass http://localhost:3000;

}

将 nextjsapp1请求转向3000端口运行的服务

我对反向代理的理解: 正向代理 客户端要访问什么内容, 通过"助手"去访问.

反向代理 访问"假"地址 将其 转向目标服务器

负载均衡

http {

upstream backend-servers {

server localhost:3000 weight 2;

server localhost:3001 weight 6;

}

server {

location / {

proxy_pass http:backend-servers;

}

}

}

  • upstream backend-servers 罗列所有服务器
  • weight 权重 标志服务器性能 权重越大分配的越多.
相关推荐
koo3641 小时前
李宏毅机器学习笔记30
人工智能·笔记·机器学习
摇滚侠1 小时前
Spring Boot 3零基础教程,WEB 开发 内嵌服务器底层源码分析 笔记48
spring boot·笔记
报错小能手3 小时前
项目——基于C/S架构的预约系统平台 (1)
开发语言·c++·笔记·学习·架构
赤月幼狼4 小时前
clickhouse学习笔记(一)基础概念与架构
笔记·学习·clickhouse
Yupureki5 小时前
从零开始的C++学习生活 13:红黑树全面解析
c语言·数据结构·c++·学习·visual studio
AhriProGramming6 小时前
Python学习快速上手文章推荐(持续更新)
开发语言·python·学习·1024程序员节
泡泡鱼(敲代码中)6 小时前
数据结构(顺序表和链表)
笔记·学习·算法
无妄无望6 小时前
在没有网络的环境下安装包pymysql
学习·docker
新子y7 小时前
【小白笔记】将十进制数(Decimal)转换为二进制数(Binary),并计算二进制表示中“1”的个数
笔记·python
酌量7 小时前
基于3D激光点云的障碍物检测与跟踪---(3)基于匈牙利算法的障碍物跟踪
学习·算法·机器人·匈牙利算法·障碍物跟踪