Nginx简介
Nginx是什么
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点开发的web服务器,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
Nginx是一款轻量级的Web 服务器,可作为反向代理服务器及电子邮件(IMAP/POP3)代理服务器使用,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国很多大型网站均采用Nginx web服务器部署。如:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。
Nginx作用
Nginx web服务器主要用作实现方向代理、负载均衡
方向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet上 的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。
负载均衡
负载均衡简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。而Nginx目前支持自带3种负载均衡策略,分别是:PR(默认)、权重、IP_HASH
简单的了解完Nginx,接下来分享一下在CentOS系统环境中如何安装部署Nginx
Nginx安装
检查Nginx安装环境
因为Nginx底层是C语言实现的,编译时依赖 gcc 环境,需要检查gcc依赖包是否安装
#查看 C++ 环境是否安装(查看版本号)
gcc -v
nginx的http模块使用pcre来解析正则表达式,需要安装pcre库 ;nginx使用zlib对http包的内容进行gzip压缩,nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库,检查其他的依赖是否安装
#查看 zlib 是否安装
cat /usr/lib64/pkgconfig/zlib.pc
#查看 pcre 是否安装(查版本号)
pcre-config --version
安装必要依赖
#一次安装4个插件
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
#一次安装如果有问题,可以试一下分开安装(上面命令执行成功了就无需执行以下命令了)
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
下载Nginx安装包
获取安装包的方式有两种方式:
方法一:在官网直接下载.tar.gz安装包,然后通过远程工具拉取到 linux 里面【在 /usr/local 里面创建个nginx文件夹,拉进来。(也可以拉到其他地方)】
方法二:使用wget命令下载,确保系统已经安装了wget,如果没有安装,执行 yum install wget 安装。
本文采用第二种方式,建议大家在安装的时候也采用第二种方式
进入 usr/local 里面创建 nginx 文件夹,方便后期删除干净
#进入usr下的local目录
cd usr/local
#在local目录下创建 mysql 文件夹
mkdir nginx
#进入nginx目录
cd nginx
通过 wget 下载 nginx 安装包
wget https://nginx.org/download/nginx-1.21.6.tar.gz
编译安装Nginx
解压 并进入解压后的目录
#解压
tar xvf nginx-1.21.6.tar.gz
#进入解压后的目录
cd nginx-1.21.6
配置(带有https模块)【需要进入解压后的目录】
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
编译和安装【需要进入解压后的目录】
#编译
make
#安装
make install
验证安装
启动Nginx服务
###启动服务
#需要先进入sbin目录下
cd /usr/local/nginx/sbin
#启动nginx服务
./nginx
至此Nginx的安装就已经完成了,下一篇文章在给大家分享服务实现Nginx关于反向代理和负载均衡的配置实操
Nginx常用命令
#需要先进入sbin目录下
cd /usr/local/nginx/sbin
#nginx配置重载
./nginx -s reload
#关闭nginx服务
./nginx -s stop
####端口号操作
#查询开启的所有端口
firewall-cmd --list-port
#设置80端口开启
firewall-cmd --zone=public --add-port=80/tcp --permanent
#验证80端口是否开启成功 (单个端口查询)
firewall-cmd --zone=public --query-port=80/tcp
#设置80端口关闭
firewall-cmd --zone=public --remove-port=80/tcp --permanent
####防火墙操作
#检查防火墙是否开启
systemctl status firewalld
#开机自启防火墙
systemctl enable firewalld
#开机禁止自启防火墙
systemctl disable firewalld
#启动
systemctl start firewalld
#关闭
systemctl stop firewalld
#重启
firewall-cmd --reload