Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:网易、腾讯、阿里等。
Nginx是由伊戈尔·赛素耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Panfnep)开发的,第一个公开版本,发布于2004年10月4日。
官网: nginx newshttps://nginx.org/
特性应用
Nginx三大特性应用:动静分离、反向代理、负载均衡。
这三大功能都非常常用。
(1)Nginx可作为静态web服务器来部署静态资源。比如常见的html页面、css及js文件、图片视频等静态资源。 相对Tomcat,Nginx处理静态资源的能力更高效快捷,所以在生产环境下,一般都会将静态资源部署到Nginx中。 部署非常简单,只需将文件复制到Nginx安装目录下的html目录中即可。
server {
listen 80; # 监听端口
server_name localhost; # 服务器名称
location / { # 匹配客户端请求url
root html; # 指定静态资源根目录
index index.html; # 指定默认首页
}
}
(2)Nginx最多的就是“反向代理”,即代理服务端。
反向代理服务器位于用户与目标服务器之间,于用户而言,反向代理服务器就相当于目标服务器,用户直接访问反向代理服务器即可,反向代理服务器负责将请求转发给目标服务器。 用户不需要知道目标服务器的地址,也无须在用户端作任何设定。
server {
listen 82;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:8080; # 反向代理配置,将请求转发到指定服务
}
}
(3)“负载均衡”用得也非常之多
早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,随业务流量越来越大,业务逻辑也越来越复杂,单台服务器的性能及单点故障问题凸显,因此需多台服务器组成应用集群,进行性能的水平扩展及避免单点故障出现。 ·
应用集群 —— 同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应数据;
负载均衡器 —— 将用户请求根据对应的负载均衡算法分发到应用集群中的某一台服务器处理。
# 配置负载均衡:
upstream targetserver { # upstream指令可以定义一组服务器
server 192.168.138.101:8080;
server 192.168.138.101:8081; # 甚至还可以配权重weight=xx,比如一个设为1,一个设为2,默认轮询
}
server {
listen 8080;
server_name localhost;
location / {
proxy_pass http://targetserver;
}
}
载装
官网下载页面:nginx: downloadhttps://nginx.org/en/download.html
更推荐稳定(Stable)版的。
Linux安装步骤:
# 安装依赖包
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
# 下载Nginx安装包 (可以在Linux系统上下载刚刚上面的安装包)
wget https://nginx.org/download/nginx-1.20.2.tar.gz
# 解压
tar -zxvf nginx-1.20.2.tar.gz
#
cd nginx-*
# 创建目录并配置
mkdir -p /usr/local/nginx
./configure --prefix=/usr/local/nginx
# 安装
make && make install
启动Nginx服务使用如下命令: ./nginx
停止Nginx服务使用如下命令: ./nginx -s stop
启动完成后可以查看Nginx进程: ps -ef | grep nginx