Nginx概述
Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有: 百度、京东新浪、网易、腾讯、淘宝等。Nginx是使用C语言开发的。
Nginx安装(ubuntu系统)
使用第二种方式(源码安装方式)安装时,注意:
- 更新wget后面的安装包路径。
- 解压的时候命令为
tar -zxvf。 - 后续命令以第二种方式为例。
安装后的路径:/usr/local/nginx
首页就是html/index.html。
Nginx命令
在sbin目录下:
- 查看nginx版本:
./nginx -v - 检查配置文件正确性:
./nginx -t - 启动nginx:
./nginx - 停止nginx:
./nginx -s stop - 查看nginx进程:
ps -ef | grep nginx - 重新加载配置文件:
./nginx -s reload,如果修改了前端界面需要重新加载。
想在任意目录下都能够执行上述命令
- 把二进制文件的路径配置到环境变量里,修改文件:
~/.bashrc:
source ~/.bashrc重新加载文件。
Nginx配置文件结构
Nginx具体应用
部署静态资源
Nginx可以作为静态web服务器来部署静态资源。
静态资源:在服务端真实存在并且能够直接展示的文件,比如html页面、css文件、js文件、图片、视频。
如何部署:将文件复制到Nginx安装目录下的html目录中即可。
红色部分不可修改,黑色部分可以修改。
反向代理(使用最多)
正向代理:在客户端配置代理服务器,代理客户端,比如VPN,客户端知道代理服务器的存在。
反向代理:在服务器配置代理服务器,代理服务端,客户端不知道代理服务器的存在。
配置反向代理
负载均衡(基于反向代理实现)
单台服务器性能不足,容易出现单点故障,需要多台服务器组成应用集群,以扩展性能和避免单点故障。
应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应数据。
负载均衡器:将用户请求根据负载均衡算法分发到应用集群中的一台服务器进行处理。
配置负载均衡
负载均衡算法
| 算法名称 | 说明 |
|---|---|
| 轮询 | 默认 |
| weight | 权重 |
| ip_hash | 根据IP地址计算哈希值,相同IP地址分到达服务器相同 |
| least_conn | 哪台服务器处理的连接少就发给谁 |
| url_hash | 根据url地址计算哈希值 |
| fair | 依据响应时间 |