引言
对于Nginx
,相信大家一点都不陌生。某次与友人闲聊,他在ByteDance工作,他们的负载均衡也是由Nginx
组成的,包括京东商城的架构也是基于Nginx
的一套系统。
对此,专门开一组文集记录Nginx。
基于Nginx的中间件架构
Nginx
是一个高效、可靠的web
服务和代理中间件
- 高效:支持海量的并发请求
- 可靠:
Nginx
服务可靠运行
Nginx的市场地位
Developer | March 2018 | Percent | April 2018 | Percent | Change |
---|---|---|---|---|---|
Microsoft | 633,719,941 | 35.80% | 658,800,756 | 36.94% | 1.15 |
Apache | 464,340,535 | 26.23% | 456,169,336 | 25.58% | -0.65 |
nginx | 409,124,174 | 23.11% | 403,381,961 | 22.62% | -0.49 |
21,802,670 | 1.23% | 22,460,562 | 1.26% | 0.03 |
W3Techs数据统计如下:
Web Servers
Most popular web servers
© W3Techs.com | usage | change since 1 April 2018 |
---|---|---|
1. Apache | 46.4% | -0.5% |
2. Nginx | 38.3% | +0.6% |
3.Microsoft-IIS | 9.9% | -0.1% |
4.LiteSpeed | 3.3% | +0.1% |
5.Google Servers | 1.0% |
percentages of sites
Fastest growing web servers since 1 April 2018
© W3Techs.com | sites |
---|---|
1.Nginx | 1,758 |
2.LiteSpeed | 292 |
3.Node.js | 41 |
daily number of additional sites in the top 10 million
Nginx正文
1.学习环境
- 系统硬件:CPU>=2Core,内存>=256M
- 服务器:可以选择自己购买服务器或者云商(如阿里云、亚马逊、腾讯云)购买VPS(Virtual Private Server虚拟专用服务器)或者使用虚拟软件VMware构建自己的虚拟操作系统。(为了快速的建立、迁移和重建,可以选择docker)
- 操作系统:版本
Centos
>=7.0,位数X64。或者选择redhat
系统
上面展示了硬件设备的准备,接着来作环境调试确认。
四项确认:
- 确认系统网络
- 确认yum可用
- 确认关闭iptables规则
- 确认停用selinux
1.确认系统网络:
ping baidu.com
2.确认yum可用
yum list|grep gcc
从yum源中列出包含gcc的包,以确认yum可用
3.确认关闭iptables规则
iptables -L
如果有规则的话,就关闭iptables的规则
iptables -F
保险起见,可以再查看
iptables -t nat -L
如果有规则的话
iptables -t nat -F
4.停用selinux
首先先判断selinux是否已经开启
getenforce
如果已经开启的话呢,接下一步
setenforce 0
两项安装
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httpd-tools vim
一次初始化
cd /opt;
mkdir app download logs work backup
- app:存放代码目录
- download: 网上下载的源码包
- logs:自定义的日志
- work:shell的脚本
- backup:默认的配置文件的备份