20181103 Nginx(布尔教育)
nginx介绍
- 对标Apache服务器
- 目录介绍
conf 配置文件
html 网页文件
logs 日志文件
sbin 主要二进制程序
控制命令
./nginx # 启动
nginx -t # 测试配置文件语法是否正确
nginx -s reload # 重新加载配置,不终止重启
nginx -s stop # 立即停止
nginx -s quit # 优雅停止,正在请求的仍然可以完成请求,之后停止
nginx -s reopen # 重新打开日志
全局段配置
- 配置nginx.conf中的worker_processes数量:CPU数 * 核数,另外考虑网卡的连接数
# 工作线程的数量
worker_processes 1;
events {
# 每个工作线程的最大连接数
worker_connections 1024;
}
server段配置虚拟主机
- nginx.conf中一个server是一个虚拟主机,server_name是服务名称,location是服务所在的根目录
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
日志管理
# 日志格式,其中$http_x_forwarded_for为用户的真实IP地址
#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;
URL重写
rewrite
location / {
# 使用正则表达式匹配路径,进行URL重写
rewrite (.*)$ /index.php/$1;
}
try_files
location / {
try_files $uri /index.php?uri
}
反向代理
# 当匹配到图片格式时,到另一台服务器上获取
location ~ \.(jpeg|jpg|png|gif)$ {
proxy_pass http://192.168.2.42:80;
# 转发到另一台服务器时,携带真实的用户IP
proxy_set_header X-Forwarded-For $remote_addr;
}
集群和负载均衡
# 配置upstream
upstream imageserver {
server 192.168.1.204:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.1.204:8081 weight=1 max_fails=2 fail_timeout=30s;
}
# 下游调用
location ~ \.(jpeg|jpg|png|gif)$ {
proxy_pass http://imageserver;
# 转发到另一台服务器时,携带真实的用户IP
proxy_set_header X-Forwarded-For $remote_addr;
}
负载均衡的算法
- 默认的负载均衡算法是设置计数器,轮流请求N台服务器
- 可以安装第3方模式,来利用不同参数把请求均衡到不同服务器去,如基于cookie值区别用户做负载均衡(nginx sticky模块),或基于URI利用一致性哈希算法做均衡(NginxHttpUpstreamConsistentHash模块),或基于IP做负载均衡等。
参考
- Nginx 实战+负载均衡【布尔教育】(腾讯课堂)
- Nginx官方文档
20181103 Nginx(布尔教育)的更多相关文章
- 修改两行代码,让nginx支持phpinfo模式
Nginx服务器默认不支持pathinfo, 在需要pathinfo支持的程序中(如thinkphp),则无法支持”/index.php/Home/Index/index”这种网址. 网上流传的解决办 ...
- Openresty最佳案例 | 第1篇:Nginx介绍
转载请标明出处: http://blog.csdn.net/forezp/article/details/78616591 本文出自方志朋的博客 Nginx 简介 Nginx是一个高性能的Web 服务 ...
- Openresrt最佳案例
第1篇:Nginx介绍 Nginx是一个高性能的Web 服务器,同时是一个高效的反向代理服务器,它还是一个IMAP/POP3/SMTP 代理服务器. 由于Nginx采用的是事件驱动的架构,能够处理并发 ...
- IT知识圈视频学习资源整理贴
原文地址 热门课程 1.2019 尚学堂大数据全套视频教程(视频.源码.课件) 2.IDEA破解补丁(支持最新2019.2) 3.2019年 MySQL DBA 6期视频教程 4.微信小程序实战开发特 ...
- 突然想写点东西,关于web新人的。采用问答方式
我自己是会计专业,转行自学web的,学习有一两年了,也还是新人一个,只不过不是那种超级“新”的,所以有什么话说得不对,请轻喷.欢迎大家来和我交流. 1.我能不能转行学web? 能不能学web这个不是别 ...
- 转 - Web新人(偏前端)应该怎样学习(个人观点,勿喷)
我自己是会计专业,转行自学web的,学习有一两年了,也还是新人一个,只不过不是那种超级“新”的,所以有什么话说得不对,请轻喷.欢迎大家来和我交流. 1.我能不能转行学web? 能不能学web这个不是别 ...
- HTML学习_01
html总结 html是一门标记语言,也就是不经过编译就能直接执行的语言,不像是c/c++/java等等须要转换成二进制码, html是一门最主要的学科,提供了一个框架,提供了各种标签和规则,使得语言 ...
- 【CSS学习笔记】a标签的四种伪类
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- 【CSS学习笔记】整齐的表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
随机推荐
- 带阴影的圆形 QLabel
带阴影的圆形 Label 来自: 公孙二狗
- vs编译器好多下划波浪线但不报错
解决办法:项目属性->c/c++->常规->附加包含目录->$(ProjectDir): $(ProjectDir) 项目的目录(定义形式:驱动器 + 路径):包括尾部的反斜杠 ...
- cocos2d-x学习记录2——CCAction动作
CCAction能够使CCNode运动起来,能够呈现出多种多样的动作.这些动作能够改变其运动方向.形状.大小.旋转等. 同时,还可利用CCCallFunc.CCCallFuncN.CCCallFunc ...
- [CF1063F]String Journey[后缀数组+线段树]
题意 在 \(S\) 中找出 \(t\) 个子串满足 \(t_{i+1}\) 是 \(t_{i}\) 的子串,要让 \(t\) 最大. \(|S| \leq 5\times 10^5\). 分析 定义 ...
- mongodb安装教程
MongoDB 下载及安装 MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www. ...
- SSIS 你真的了解事务吗?
事务用于处理数据的一致性,事务的定义是,处于同一个事务中的操作是一个工作单元,要么全部执行成功,要么全部执行失败.把事务的概念应用到在实际的SSIS Package场景中,如何在Package中实现事 ...
- JavaScript快速入门-实战(例子)
1.模拟bootstrap中的模态框 效果图:(点我后,弹出对话框,最下面的内容可以看到,但是有一定的透明度.) 思路分析: 整体分为三层,最底层(点我),中间透明层(实现透明效果),最顶层(最新内容 ...
- Docker_容器化jenkins
Docker部署接口自动化持续集成环境第二步,容器化一个Jenkins! 接上文:Docker_容器化gitlab 1:pull一个jenkins镜像 docker pull jenkins 2:查看 ...
- Nginx安装负载均衡配置 fair check扩展
前言 本文主要是针对Nginx安装.负载均衡配置,以及fair智能选举.check后端节点检查扩展功能如何扩展,进行讲解说明. fair模块: upstream-fair,“公平的”Nginx 负载均 ...
- 大厂面试官:Java工程师的“十项全能”
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格Java软件工程师所要具备的. 一.专业技能 熟练的 ...