Nginx介绍
Nginx
是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。
Nginx应用场景
- 作为http服务器使用并独立提供http服务。
- 虚拟主机。
- 用于反向代理与负载均衡,当并发量非常大时,可以使用
Nginx
对服务器集群进行反向代理与负载均衡,提高吞吐量。
反向代理
反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
Nginx安装流程
Nginx依赖于以下4个库
gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境**yum install gcc-c++**
pcre
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-develzlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-developenssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel一键安装依赖包 yum -y install zlib zlib-devel openssl openssl–devel pcre pcre-devel
解压Nginx源码包
使用configure创建makefile
|
|
make & make install
cd /usr/local/nginx/sbin 目录
./nginx 开启
Nginx
./nginx -s stop 关闭
Nginx
./nginx -s reload 重新加载
Nginx
配置文件
Nginx配置文件
nginx.conf是Nginx
的主要配置文件,它的主要结构如下
worker_process表示工作进程的数量,一般设置为cpu的核数
worker_connections表示每个工作进程的最大连接数
server{} 定义了一个虚拟机,如果要添加一个虚拟机,则添加一个server{}即可。
listen监听的端口
server_name监听的域名
location{}配置匹配的URI
root 指定URI查找的资源路径,为相对路径。
index 指定首页的名称,可以配置多个。
proxy_pass 指定反向代理转发的路径。
Nginx配置负载均衡
对upstream test{}中的2个web服务器配置了负载均衡,weight设置权值,权值越高的服务器承载的压力就越大。