基本概念

什么是 Nginx

一个项目或平台,用户使用量少,并发量小的情况下,一台 Tomcat 服务器就可以满足需求。但当平台用户量增多,并发量增大时,一台 Tomcat 服务器就不能够很好地支撑。于是就需要做横向扩展,多增加几台服务器,并设置一个代理服务器。用户如果要访问平台首先会经过代理服务器,代理服务器实现处理用户的请求和转发到真实服务器,也就是反向代理。在做横向扩展后,每台服务器的大小、性能可能各不相同。代理服务器需要根据用户的请求,服务器的状态等实际情况实现选择和转发,也就是负载均衡。
img
Nginx( engine x )是一个高性能的 HTTP 和反向代理 web 服务器。
Nginx 特点是占用内存少,并发能力强。1M 左右的内存支持高达 50000 个并发连接数的响应,而 Tomcat 只支持 500~600 个响应。
Nginx 安装简单,配置文件简洁,启动容易且能持续运行。
Nginx 的作用简单来说就是反向代理和负载均衡。

正向代理和反向代理

正向代理基于客户端,代理客户端,是一种主动地行为。比如使用 VPN 访问外网,用户需要手动选择香港、日本或美国的节点,通过节点转发到外网服务器,这些节点代理了外网的服务器。
img
反向代理基于服务端,代理服务端,是一种被动地行为。比如访问百度,百度的服务器可能不在同一个地方,但是用户可以通过访问百度的域名 www.baidu.com,由代理服务器实现转发,这个过程用户是无感知的。
img

负载均衡

Nginx 提供的负载均衡策略有 2 种:内置策略和扩展策略。内置策略分为轮询,加权轮询,Ip hash。扩展策略由程序员自行创造。
轮询
img
加权轮询
img
Ip hash
img
动静分离
一个项目中,有些请求需要后台处理,而有些请求不需要后台处理,如 HTML、CSS、JavaScript 等文件,这些文件统称为静态资源。在开发中将不经常变动地资源与经常变动地资源分离,将这些静态资源缓存到本地 Nginx 中,由 Nginx 直接返回,可以大大提高资源响应的速度和网页的健壮性。
img


Nginx 安装

1、下载 nginx。
下载 Linux 安装包,使用tar -zxvf命令解压到对应的目录即可。
img
2、安装 nginx 所需依赖。

yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y openssl openssl-devel

3、进入 nginx 目录,执行以下两个命令。

./configuremake install

4、查找 nginx 安装路径并进入。
img
5、启动 nginx。

./nginx

img
6、查看 nginx 配置文件.
img
img
7、检查 nginx 是否启动成功。
访问 服务器 ip:80,如果出现以下画面则说明 nginx 启动成功。
img
如果访问失败,检查服务器防火墙和阿里云安全组的端口是否开启。


Nginx 常用命令

cd /usr/local/nginx/sbin/
./nginx  启动
./nginx -s stop  停止
./nginx -s quit  安全退出
# reload命令十分常用,如果在线上部署的时候想要更改配置文件,完成后直接使用reload就可以快速重新加载。
./nginx -s reload  重新加载配置文件
ps aux|grep nginx  查看nginx进程