3分钟全面了解nginx配置内容 nginx配置server无法访问
Nginx是现在最火的服务器web和反向代理服务器 , 反向代理是指以代理服务器来接受internet上的连接请求 , 然后将请求转发给内部网络上的服务器 , 并将从服务器上得到的结果返回给internet上请求连接的客户端 , 此时代理服务器对外就表现为一个反向代理服务器 。另外在高并发方面 , 也有比较优异的表现 。
Nginx是一款轻量级的Web服务器、反向代理服务器 , 基于 REST 架构风格 , 以统一资源描述符URI 或者统一资源定位符URL 作为沟通依据 , 通过 HTTP 协议提供各种网络服务 。由于它的内存占用少 , 启动极快 , 高并发能力强 , 在互联网项目中广泛应用 。
整体介绍Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理 , 另外Nginx可以作为反向代理进行负载均衡的实现 。
1.反向代理
反向代理理解架构如下:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/d96867a037c74840b6d6a3e6f2432520.jpg)
文章插图
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求 , 然后将请求转发给内部网络上的服务器 , 并将从服务器上得到的结果返回给 internet 上请求连接的客户端 , 此时代理服务器对外就表现为一个反向代理服务器 。
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/e098bb31ce7a41a58bf2be414608b852.jpg)
文章插图
如图 , 保存配置文件后启动 Nginx , 这样当我们访问 XX.XX.X.XXX 的时候 , 就相当于访问 XX.XX.X.XXX:80 了 。
2.负载均衡
负载均衡理解图:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/f1971c98812f48d8967d0f5ade92e05f.jpg)
文章插图
负载均衡 , 其原理就是将数据流量分摊到多个服务器执行 , 减轻每台服务器的压力 , 多台服务器(集群)共同完成工作任务 , 从而提高了数据的吞吐量 , 多在高并发情况下使用 。可使用的负载均衡策略有:轮询(默认)、权重、ip_hash、url_hash(第三方)、fair(第三方) 。
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/ae298f55ec654a3a8d256cb9b49ce77a.jpg)
文章插图
如图 , 保存配置文件后启动 Nginx , 这样当我们访问 XX.XX.X.XXX/umc 的时候 , 就相当于访问 XX.XX.X.XXX:1010 或者XX.XX.X.XXX:1010了 , 因为 Nginx 会自动判断服务器的状态 , 如果服务器处于不能访问(服务器宕机)的状态 , 就不会跳转到这台服务器 , 所以也避免了一台服务器宕机影响使用的情况 。
3.动静分离
Nginx 本身也是一个静态资源的服务器 , 当只有静态资源的时候 , 就可以使用 Nginx 来做服务器 , 同时现在很流行的动静态分离 , 就可以通过 Nginx 来实现 , 首先看看 Nginx 做静态资源服务器 。
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/e8bedeeba27d45229701ba186f2410b7.jpg)
文章插图
如图 , 这样如果访问 http:// IP 就会默认访问到上边的指定路径当中index.html , 如果一个网站只是静态页面的话 , 那么就可以通过这种方式来实现部署 。
动静分离 , 常用于前后端分离 , Nginx提供的动静分离是指把动态请求和静态请求分离开 , 合适的服务器处理相应的请求 , 使整个服务器系统的性能、效率更高 。Nginx可以根据配置对不同的请求做不同转发 , 这是动态分离的基础 。静态请求对应的静态资源可以直接放在Nginx上做缓冲 , 更好的做法是放在相应的缓冲服务器上 。动态请求由相应的后端服务器处理 。
安装配置本次以Nginx1.14.2版本为例在linux服务器环境上进行安装部署 , 具体操作如下:
1.环境准备
安装make:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/0a0df3246f2942a295d7a4355cfc497b.jpg)
文章插图
安装g++:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/4b0d37130226470e80bdd4d22f04a0b8.jpg)
文章插图
安装pcre和pcre-devel:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/eedfae43701d4940814edf42f550db34.jpg)
文章插图
安装zlib zlib提供了很多压缩和解方式 , nginx需要zlib对http进行gzip:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/1db2fccbc8f94d1eb6ffdbb1ea916f1f.jpg)
文章插图
安装openssl openssl是一个安全套接字层密码库 , nginx要支持https , 需要使用openssl:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/a420e7bf057c4ec382cbb2730084dea6.jpg)
文章插图
2.安装配置
下载nginx:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/5921fb8f4fa1498796d3c9842ca3e7b1.jpg)
文章插图
进入文件夹:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/95cfc424229842b2baffe00ddc1d0964.jpg)
文章插图
解压:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/234aaf629815404290fabeeb8232ece0.jpg)
文章插图
打开文件路径:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/b48561b09d5b4e878d9f012f246b8840.jpg)
文章插图
编译文件:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/db6809cbd6784b989c0d4f032dcbe4ac.jpg)
文章插图
安装:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/6a4cf63f79d648e299f76d5fb51977c8.jpg)
文章插图
更改配置文件:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/aa472a22041848199d1060b0fb735657.jpg)
文章插图
方式二:也可以将nginx.conf文件直接通过xftp上传到该位置 , 注意将原有文件进行备份:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/030f79855fe747d6867183bd3b98ec02.jpg)
文章插图
让配置立即生效:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/fae23c175e0d43f2b8e82083351cad8f.jpg)
文章插图
3.执行启动
进入sbin目录:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/4213c8685beb4dc1832d5e74e3298b79.jpg)
文章插图
启动nginx::
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/60f390525cb04b699dac824fc187ea83.jpg)
文章插图
停止命令:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/530c054fb2994153a0007b4aedf6078a.jpg)
文章插图
高可用配置Keepalived是一个高可用解决方案 , 主要是用来防止服务器单点发生故障 , 可以通过和Nginx配合来实现Web服务的高可用 。
1.环境准备
通过以下命令安装Keepalived:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/8588f1cef9b241158c7e8dd940c4bf9a.jpg)
文章插图
设置为系统服务:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/f513810d8e584eabb32b705d8bd72710.jpg)
文章插图
关闭SElinux、配置keepalived相关配置 :
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/88cd7ca9fa7a4fb9a19ec5745a56465b.jpg)
文章插图
进入后做如下修改:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/a2e91b1bda634e7b8273f9d7b6218b0d.jpg)
文章插图
修改完成后 , 配置立即生效:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/f494eba0d34444d0bc72502e1c2b1ea1.jpg)
文章插图
修改keepalived配置 , 主从机不同的地方通过黄色高亮显示:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/93cc4b31903c4d3b95ba6d891d72e604.jpg)
文章插图
备份:cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/2eae4b74caeb4a61a8bd334b59824550.jpg)
文章插图
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/27462a87ed2a47e78b64db3d9da78ab4.jpg)
文章插图
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/ae3d17bca8ac411d9bd6ac3948327e50.jpg)
文章插图
2.脚本配置
配置 chk_nginx.sh文件:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/7097d0df8afd496885b28d1372eefd1b.jpg)
文章插图
添加如下内容:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/3659ae021285433997a32a67108f2dad.jpg)
文章插图
脚本进行授权:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/860c09e8336949638f79518e4291a445.jpg)
文章插图
修改防火墙 , 添加对虚拟IP的监听:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/af54e253082c403b82991d90ae7996af.jpg)
文章插图
3.启停服务
开启keepalived服务:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/0f5d800045934144821d58d8cc96644b.jpg)
文章插图
停止keepalived服务:
![3分钟全面了解nginx配置内容 nginx配置server无法访问](https://www.changchenghao.cn/wp-content/uploads/2021/07/89cb10d3c3664e73a5827bf9d52df197.jpg)
文章插图
心得体会本次项目Nginx的配置促使自己在网络层面有了一定的了解 , 尤其是Nginx的几个核心功能 , 具体包含反向代理、负载均衡等 , 但是这只是刚刚开始 , 需要学习的内容还有很多 , 现从后续规划、做事方法、迭代更新方面总结如下 。
1.后续规划
每一次搭建K8S集群环境都曾配置过Nginx , 但是都只是在照猫画虎 , 只是把配置文件拿过来进行使用 , 并不理解配置文件中每段代码的含义 , 只会配置某个关键字段信息 , 经过本次的知识点梳理学习到了很多 , 但是学无止境 , 对nginx的了解还是不足 , 例如设置权重、正向代理等等了解得不够全面 , 后续更要在逻辑上对每行代码深入研究 。
2.做事方法
通过平时工作过程中对技能点的随手记录 , 在撰写这篇文章的过程中 , 再一次梳理了自己的逻辑 。在后续的工作中 , 应该文档分门别类地整理出来 , 例如教程类的内容归为一类、错误信息及解决方案的内容归为一类、知识点归为一类 , 以便自己对知识进行更新迭代及快速查找 。笔者认为写文档不仅没有浪费时间 , 而且通过文档的撰为我提供了很多帮助 , 比如代码的复用、类似错误信息的快速调试等 , 节省了很多时间 。
3.迭代更新
近期在某些项目配置过程中遇到了内网80端口及外网端口ESB服务转换时默认携带外网配置端口的问题 , 解决本次问题是撰写该文档的主要原因 , 具体解决方法是通过nginx配置两个server , 通过监控不同的端口使其指向不同的server来解决本次问题 , 但是在工作过程中发现有时会出现逻辑不清晰的情况 , 特别是在网络层面的理解严重缺失 , 后续还需要不断地深入了解 。
【3分钟全面了解nginx配置内容 nginx配置server无法访问】伴随着自身专业知识的不断积累 , 对知识的认知也不断提高 。当回过头来看自己之前记录的工作文档 , 会发现有存在很多漏点 , 这时就需要再次完善工作文档 。在这个完善的过程中又把初学时的理解和现在的理解做了比较 , 可以认识到当时的自己有哪些不足 , 思维逻辑有了哪些改善 。技术、认知在不断更新 , 工作文档也在不断更新 , 在这个不断迭代更新的过程中 , 使自己的知识点不知不觉连成了线 。
推荐阅读
- 减肥可以吃兔肉吗 了解一下
- 华为p30 pro支持无线充电吗 了解华为P30 Pro
- 拼多多数据全面解析 拼多多大数据分析报告
- 全方面了解nginx高性能机制 nginx高性能web服务器详解
- 现在摩托车证可以全国审吗 具体了解一下
- 描写别人不懂你的句子 别人不了解你的句子有哪些
- 糖尿病可以吃山芋吗 大家可以了解一下
- 一键还原系统全面教程分享 电脑一键还原系统怎么用
- 排球是那一年传入中国的? 了解一下排球传入中国的时间
- 足球大四喜是什么意思 了解一下