文章目录

  • 前言
    • nginx 的基本使用详解
  • 一、概念:
  • 二、nginx的基本使用:
    • 1.nginx的安装:
    • 2.nginx文件格式:
    • 3.nginx配置
      • 3.1 nginx 配置文件结构
      • 3.2 nginx server配置
    • 4. 日志
      • 4.1 nginx 错误日志
      • 4.2 nginx 进程id
      • 4.3 访问日志
    • 5. 反向代理服务器+负载均衡
    • 6. 其他配置

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


nginx 的基本使用详解

一、概念:

Nginx是一款轻量级的 Web 服务器。通常用在反向代理、负载均衡和 HTTP 缓存,是一个反向代理服务器软件。

正向代理隐藏真实客户端,反向代理隐藏真实服务端。


二、nginx的基本使用:

1.nginx的安装:

yum install pcre pcre-devel
把nginx-1.17.2.tar.gz放在/yzy/test下
把pcre-8.38.tar.gz放在/yzy/test下
cd yzy/test/
tar -xzvf pcre-8.38.tar.gz
cd pcre-8.38
./configure
make
make install
cd ..
tar -xzvf nginx-1.17.2.tar.gz
cd nginx-1.17.2
./configure
make
make install
cd ..
cd conf/
修改nginx.conf
cd ..
cd sbin        --------注启动nginx配置的地方
停止操作
./nginx -s stop :快速停止nginx
./nginx -s quit :完整有序的停止nginx
重启
./nginx -s reload
查询nginx是否启动
ps -ef | grep nginx


2.nginx文件格式:

cd /yzy/test/nginx-1.17.2

看到如下4个目录

… conf 配置文件
… html 网页文件
… logs 日志文件
… sbin 主要二进制程序(启动的地方)


3.nginx配置

3.1 nginx 配置文件结构

...              #全局块events {         #events块...
}http      #http块
{...   #http全局块server        #server块{...       #server全局块location [PATTERN]   #location块{...}location [PATTERN]{...}}server{...}...     #http全局块
}

全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
如:

1)user administrator administrators; #配置用户或者组,默认为nobody nobody。
2)worker_processes 2; #允许生成的进程数,默认为1
3)pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址
4)error_log log/error.log debug; #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg

events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

events { accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off #use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport worker_connections 1024; #最大连接数,这是指 一个子进程最大允许连1024个连接,默认为512
}

http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
server块:配置虚拟主机的相关参数,一个http中可以有多个server。
location块:配置请求的路由,以及各种页面的处理情况。

http {include       mime.types;   #文件扩展名与文件类型映射表default_type  application/octet-stream; #默认文件类型,默认为text/plain#access_log off; #取消服务日志    log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式access_log log/access.log myFormat;  #combined为日志格式的默认值sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。upstream mysvr {   server 127.0.0.1:7878;server 192.168.10.121:3333 backup;  #热备}error_page 404 https://www.baidu.com; #错误页server {keepalive_requests 120; #单连接请求上限次数。listen       4545;   #监听端口server_name  127.0.0.1;   #监听地址       location  ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。#root path;  #根目录#index vv.txt;  #设置默认页proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表deny 127.0.0.1;  #拒绝的ipallow 172.18.5.54; #允许的ip           }}
}

3.2 nginx server配置

例子1: 基于域名的虚拟主机

    server {listen 80;  #监听端口server_name a.com; #监听域名location / {root /var/www/a.com;   #根目录定位index index.html;}}

例子2: 基于端口的虚拟主机配置

server {listen 8080;server_name 192.168.1.204;location / {root /var/www/html8080;index index.html;}}

4. 日志

4.1 nginx 错误日志

cd logs
ls

4.2 nginx 进程id

cat nginx.pid

4.3 访问日志


5. 反向代理服务器+负载均衡

1: 硬件上做负载均衡, F5 BIG-IP ,硬件负载均衡(很贵).
直接从TCP/IP的底层协议上,直接做数据包的中转.

2: 软件负载均衡, LVS

3: 反向代理+负载均衡

用nginx做反向代理和负载均衡非常简单,
支持两个用法 1个proxy, 1个upstream,分别用来做反向代理,和负载均衡
代理例子:

location /test/ {proxy_pass  http://192.111.90.111:18901;proxy_set_header Host $host:$proxy_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

负载均衡例子:

location /user {proxy_pass http://usermanager;}upstream usermanager{ip_hash;server 192.111.90.11:28095 weight=10 max_fails=2 fail_timeout=30s;server 192.111.90.12:28095 weight=20 max_fails=2 fail_timeout=30s;}

weight:
负载均衡 ,nginx指向多个服务器去处理接受的请求,其中weight是设置权重
也就是说访问三次 有一次是192.111.90.11上的服务来处理,二次是190.111.90.12上的服务来处理

max_fails与fail_timeout:
如上配置的含义为:后端节点30秒内出现2次不可用情况,判定节点不可用。判定不可用后30秒内请求不会转发到此节点,直到30秒后重新检测节点健康情况。

默认:fail_timeout为10s,max_fails为1次。


6. 其他配置

解决上传大小限制:

client_max_body_size 50M;

nginx 的基本使用详解相关推荐

  1. 九爷带你了解 nginx 日志配置指令详解

    nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...

  2. nginx服务器安装及配置文件详解

    nginx服务器安装及配置文件详解 seanlook 5月26日 发布 4 推荐 97 收藏,9.2k 浏览 nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自 ...

  3. Linux下Nginx编译安装过程详解

    Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...

  4. Nginx源码研究之nginx限流模块详解

    这篇文章主要介绍了Nginx源码研究之nginx限流模块详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 高并发系统有三把利器:缓存.降级和限流: 限流的目的是通过对并 ...

  5. Nginx的location配置详解

    Nginx的location配置详解 匹配顺序 location 的匹配顺序其实是先匹配普通,再匹配正则 正则匹配会覆盖普通匹配(实际的规则,比这复杂) 执行顺序 普通 location的匹配规则是& ...

  6. Nginx SSI指令配置详解

    这篇文章主要介绍了Nginx SSI指令配置详解,本文讲解了什么是SSI.为什么要用SSI.nginx配置SSI.页面上配置.配置示例等内容,需要的朋友可以参考下 什么是SSI Server Side ...

  7. Nginx反向代理配置详解

    Nginx反向代理配置详解 Nginx简单的反向代理配置,包括配置文件中各项参数的的注释,好了,开始! 开始首先安装Nginx 一.建立用户和用户组 1 2 ./usr/sbin/groupadd w ...

  8. Nginx高性能Web服务器详解

    Nginx高性能Web服务器详解 1. 什么是Nginx 1.1 优点 1.2 缺点 2. Nginx负载均衡策略 2.1 轮询策略 2.2 加权轮询策略 2.3 IP hash策略 3. 常用指令 ...

  9. Nginx配置文件的结构详解和静态资源部署

    Nginx配置文件的结构详解和静态资源部署 一.配置文件结构 使用Nginx之前,需要先看懂Nginx的配置文件. 因为之后操作Nginx,就是一个对配置文件修改的过程. Nginx的配置文件(con ...

  10. nginx 返回状态码详解

    nginx 返回状态码详解 200 (成功) 服务器已成功处理了请求. 通常,这表示服务器提供了请求的网页. 201 (已创建) 请求成功并且服务器创建了新的资源. 202 (已接受) 服务器已接受请 ...

最新文章

  1. 实例规格 ECS (共享计算型)和 (通用型-原独享)性能上有什么区别?...
  2. 【新周报(051)】Datawhale组队学习
  3. 青源LIVE第29期|清华叉院高阳:使用1/500数据掌控Atari游戏-EfficientZero算法详解
  4. 20170728上课笔记
  5. android 悬浮窗口和主界面同时显示,Android 悬浮窗口(及解决6.0以上无法显示问题)...
  6. c语言switch comiti,国际经济学作业复习资料第三章.docx
  7. python tesseract ocr_使用Python和Tesseract OCR解决Captch
  8. java使用http代理访问服务器
  9. Java字符串分割到map_如何在Java中按空格分割字符串并以键值形式存储在map中?...
  10. 职场打怪,是不是升级越快越好?
  11. 深度学习图片卷积输出大小计算公式
  12. h5可以获取本机手机号码么_h5页面模板免费制作丨动态h5页面模板挑选
  13. Android蓝牙音量调节,安卓 蓝牙音量控制 Bluetooth Volume Control v2.40 付费高级特别版...
  14. 学大数据应该会什么?
  15. ## 编写一个从1到150的循环,并在每行打印一个值,另外在每个3的倍数行打印“foo“,在5的倍数行打印“biz“,在10的倍数行打印“baz“;
  16. Dilworth 定理
  17. 表格对角线两边打字_表格斜线一分为二怎么打字(excel斜杠分割表格打字)
  18. text/css什麼意思
  19. 中心透视投影和鱼眼投影的区别(Central perspective projection vs. fisheye projection)
  20. 求的带权图最小生成树的Prim算法和Kruskal算法

热门文章

  1. 算法 队列问题(浙大数据结构视频作业)
  2. 【C语言】考研复试题目集(三)【结构体】
  3. RK3399驱动开发 | 21 -Marvell交换机芯片88E6390X调试(基于linux主线5.4.32内核)
  4. SOLIDWORKS免费培训 SW大型装配体模式课程
  5. xml格式化软件下载
  6. 2021-04《信息资源管理 02378》真卷(独家文字版),圈定章节考点+统计真题分布
  7. 如何将IIS6服务器的网站批量迁移到IIS7中
  8. FMEA要求:PFMEA的基本要求
  9. 代码、问题-转载-by小雨
  10. 端口测试之-- nc