nginx 的基本使用详解
文章目录
- 前言
- 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 的基本使用详解相关推荐
- 九爷带你了解 nginx 日志配置指令详解
nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...
- nginx服务器安装及配置文件详解
nginx服务器安装及配置文件详解 seanlook 5月26日 发布 4 推荐 97 收藏,9.2k 浏览 nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自 ...
- Linux下Nginx编译安装过程详解
Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...
- Nginx源码研究之nginx限流模块详解
这篇文章主要介绍了Nginx源码研究之nginx限流模块详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 高并发系统有三把利器:缓存.降级和限流: 限流的目的是通过对并 ...
- Nginx的location配置详解
Nginx的location配置详解 匹配顺序 location 的匹配顺序其实是先匹配普通,再匹配正则 正则匹配会覆盖普通匹配(实际的规则,比这复杂) 执行顺序 普通 location的匹配规则是& ...
- Nginx SSI指令配置详解
这篇文章主要介绍了Nginx SSI指令配置详解,本文讲解了什么是SSI.为什么要用SSI.nginx配置SSI.页面上配置.配置示例等内容,需要的朋友可以参考下 什么是SSI Server Side ...
- Nginx反向代理配置详解
Nginx反向代理配置详解 Nginx简单的反向代理配置,包括配置文件中各项参数的的注释,好了,开始! 开始首先安装Nginx 一.建立用户和用户组 1 2 ./usr/sbin/groupadd w ...
- Nginx高性能Web服务器详解
Nginx高性能Web服务器详解 1. 什么是Nginx 1.1 优点 1.2 缺点 2. Nginx负载均衡策略 2.1 轮询策略 2.2 加权轮询策略 2.3 IP hash策略 3. 常用指令 ...
- Nginx配置文件的结构详解和静态资源部署
Nginx配置文件的结构详解和静态资源部署 一.配置文件结构 使用Nginx之前,需要先看懂Nginx的配置文件. 因为之后操作Nginx,就是一个对配置文件修改的过程. Nginx的配置文件(con ...
- nginx 返回状态码详解
nginx 返回状态码详解 200 (成功) 服务器已成功处理了请求. 通常,这表示服务器提供了请求的网页. 201 (已创建) 请求成功并且服务器创建了新的资源. 202 (已接受) 服务器已接受请 ...
最新文章
- 实例规格 ECS (共享计算型)和 (通用型-原独享)性能上有什么区别?...
- 【新周报(051)】Datawhale组队学习
- 青源LIVE第29期|清华叉院高阳:使用1/500数据掌控Atari游戏-EfficientZero算法详解
- 20170728上课笔记
- android 悬浮窗口和主界面同时显示,Android 悬浮窗口(及解决6.0以上无法显示问题)...
- c语言switch comiti,国际经济学作业复习资料第三章.docx
- python tesseract ocr_使用Python和Tesseract OCR解决Captch
- java使用http代理访问服务器
- Java字符串分割到map_如何在Java中按空格分割字符串并以键值形式存储在map中?...
- 职场打怪,是不是升级越快越好?
- 深度学习图片卷积输出大小计算公式
- h5可以获取本机手机号码么_h5页面模板免费制作丨动态h5页面模板挑选
- Android蓝牙音量调节,安卓 蓝牙音量控制 Bluetooth Volume Control v2.40 付费高级特别版...
- 学大数据应该会什么?
- ## 编写一个从1到150的循环,并在每行打印一个值,另外在每个3的倍数行打印“foo“,在5的倍数行打印“biz“,在10的倍数行打印“baz“;
- Dilworth 定理
- 表格对角线两边打字_表格斜线一分为二怎么打字(excel斜杠分割表格打字)
- text/css什麼意思
- 中心透视投影和鱼眼投影的区别(Central perspective projection vs. fisheye projection)
- 求的带权图最小生成树的Prim算法和Kruskal算法