目录
1. 什么是Nginx?
Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP / POP3)代理服务器,并在一个BSD-like 协议下发行。
其特点是占有内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 Nginx 网站用户有:新浪、网易、 腾讯等。
优点:
- 占用内存少,并发能力强
- Nginx 专为性能优化而开发,在高连接并发的情况下,能够支持高达 50000 个并发连接数的响应
- Nginx 支持热部署,可以在不间断服务的情况下,对软件版本进行升级
2. 应用场景
1. HTTP 服务器:Nginx 是一个 http 服务可以独立提供 http 服务,可以做网页静态服务器。
2. 虚拟主机:可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟主机。
3. 反向代理、负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理;并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
3. Nginx 安装
官方网站:
http://nginx.org/en/download.html
版本:1.17.8
Nginx 在 Linux 下安装,只提供了源代码,所以需要进行编译
3.1 安装环境配置
1)因为 Nginx 是 C 语言编写的,所以需要配置 C 语言编译环境(要在联网状态下安装)。
需要安装 gcc 的环境,执行命令:
yum install gcc-c++
如果执行命令出现这样的提示:
解决办法 - 问题是 yum 在锁定状态中,强制关掉 yum 进程即可:
rm -f /var/run/yum.pid
2)第三方的开发包,在编译之前需要安装这些第三方包。
-- PCRE
Nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库
yum install -y pcre pcre-devel
-- zlib
Nginx 使用 zlib 对 http 包的内容进行 gzip,所以需要在 linux 上安装 zlib 库。
yum install -y zlib zlib-devel
-- OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,nginx 不仅支持 http 协议,还支持 https,所以需要在 linux 安装 openSSL 库。
yum install -y openssl openssl-devel
3.2 安装 Nginx 步骤
1)将 Nginx 的源码包上传到 Linux
2)解压 Nginx
tar -xvf nginx-1.17.8.tar
3)进入到解压之后的目录 nginx-1.17.8
4)执行命令 configure 生成 Mikefile 文件
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
执行命令后生成了 MakeFile 文件
5)创建临时文件目录
mkdir /var/temp/nginx/client -p
6)执行 make 命令进行编译
make
7)安装
make install
3.3 启动并访问 Nginx
1)进入到 nginx 安装目录
cd /usr/local/nginx/
2)进入到 sbin 目录执行 nginx 命令
# 启动
./nginx
# 关闭
./nginx -s stop
# 查看进程
ps aux | grep nginx
3)通过浏览器进行访问,默认端口 80(注意放行防火墙端口)