Nginx的基本概念与安装
基本概念
Nginx是一个轻量级的高性能HTTP反向代理服务器,同时它也是一个通用类型的代理服务器,支持绝大部分协议,如TCP、UDP、SMTP、HTTPS等。
Nginx是基于多路复用模型构建出的产物,具备资源占用少、并发支持高的特点。
Nginx引入前
客户端是直接请求目标服务器,由目标服务器直接完成请求工作。
Nginx引入后
客户端会先经过Nginx,再由其进行分发到具体的服务器处理,处理完成后再返回Nginx,最后由Nginx将最终的响应结果返回给客户端。
环境搭建
在环境搭建Nginx之前,需要先准备好一台Linux系统或者Linux的虚拟机,因为本文安装Nginx是在Linux系统下的CentOS7.7系统安装并成功的。
1. 创建Nginx目录并进入
首先创建一个目录用来存放Nginx下载的安装包以及Nginx相关依赖、脚本等等。
mkdir nginx
cd nginx/
2. 使用wget命令下载Nginx的安装包
若没有wget命令需先安装wget命令,再下载安装包;若系统已有wget命令,则跳过第一条命令,直接下载Nginx的安装包,下载完成后进行解压,本次使用的nginx的安装包是nginx-1.21.6版本的。
若不想通过wget命令下载安装包,可以准备自己下载好的安装包传入到目录下,直接解压即可。
yum -y install wget
wget https://nginx.org/download/nginx-1.21.6.tar.gz
tar -xvzf nginx-1.21.6.tar.gz
3.下载并安装Nginx所需的依赖库和包
先观察自己的Nginx安装包所在目录,通过pwd命令直接执行,显示的结果即是自己机器的所在目录,本文所在目录为“/home/nginx”。
知道自己的安装包所在目录后,通过yum下载Nginx的所需依赖
yum install --downloadonly --downloaddir=/home/nginx gcc-c++
yum install --downloadonly --downloaddir=/home/nginx pcre pcre-devel
yum install --downloadonly --downloaddir=/home/nginx zlib zlib-devel
yum install --downloadonly --downloaddir=/home/nginx openssl openssl-devel
还可通过如下命令一键下载:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
下载完成后通过rpm命令一键安装所有的rpm后缀的依赖包
rpm -ivh --nodeps *.rpm
4.执行nginx的配置脚本,并编译安装nginx
进入解压后的nginx目录,执行nginx的配置脚本,为后续的安装提前配置好环境,默认位于/usr/local/nginx/目录下(可定义目录)
./configure --prefix=/home/nginx
编译并安装nginx
make && make install
返回目录到上一层,即安装包那层,执行后续步骤。
5.修改安装成功的配置文件
修改安装后生成的conf目录下的nginx.conf配置文件
vi conf/nginx.conf
#修改端口号
listen 80;
#修改ip地址(你机器的本地IP)
server_name localhost;
6.指定配置文件并启动nginx
sbin/nginx -c conf/nginx.conf
# 观察是否启动成功
ps aux|grep nginx
7.防火墙设置(若系统无防火墙可不执行)
开放端口,并更新防火墙
firewall -cmd --zone=public --add-port=80/tcp --premanent
firewall -cmd --reload
firewall -cmd --zone=public --list-ports
8.win系统下浏览器中浏览
在win系统的浏览器中,输入配置的IP和端口,看到Nginx的欢迎界面说明安装成功。
9.Nginx其他操作命令
#检测配置文件是否正常
sbin/nginx -t -c conf/nginx.conf
#修改配置后平滑重启
sbin/nginx -s reload -c conf/nginx.conf
#在执行完当前的任务后退出
sbin/nginx -s quit
#不管当前是否有任务在执行强制退出(不建议使用此方法退出)
sbin/nginx -s stop