一、概述:
Nginx(发音为"engine-x")是一个高性能的开源Web服务器和反向代理服务器。它最初由俄罗斯的程序员Igor Sysoev开发,并于2004年首次公开发布。Nginx以其出色的性能、高并发处理能力和低内存消耗而广受欢迎,成为许多网站和应用程序的首选服务器。
以下是Nginx的一些主要特点和功能:
- 高性能:Nginx采用事件驱动的异步架构,能够有效处理大量并发连接和请求。它使用较少的系统资源,具有优秀的性能和响应速度,适用于高负载和高流量的环境。
- 反向代理和负载均衡:Nginx作为反向代理服务器,可以将客户端请求转发给后端服务器,并实现负载均衡,平衡请求的分布,提高系统的稳定性和可靠性。
- 静态文件服务:Nginx可以快速、高效地提供静态文件服务。它能够直接处理静态内容的请求,减轻后端应用服务器的负载,并提供更快的响应时间。
- 动态内容的缓存:Nginx支持缓存动态内容,可以将动态生成的内容缓存起来,并在后续请求中直接提供,减轻后端服务器的压力,提高性能。
- SSL/TLS支持:Nginx内置支持SSL/TLS协议,可以提供安全的加密连接,保护数据的传输安全性。
- 可扩展性和模块化:Nginx采用模块化架构,可以通过加载不同的模块来扩展其功能。用户可以根据需要选择和配置适当的模块,以满足特定的需求。
- 强大的配置选项:Nginx具有丰富的配置选项,允许用户灵活地定制服务器行为和请求处理规则。它提供了灵活的访问控制和重写规则,使用户能够实现复杂的URL重写、反向代理和访问控制策略。
总而言之,Nginx是一个高性能、可靠且可扩展的Web服务器和反向代理服务器,适用于各种规模的网站和应用程序。它的出色性能和灵活性使得许多公司和网站将其作为首选服务器,并广泛应用于构建高性能的Web架构。
二、常用版本分为四大阵营:
1、官方原始的Nginx版本:
- Nginx开源版 http://nginx.org/en/
2、开箱即用,集成了大量功能:
- Nginx plus商业版
3、OpenResty是一个基于Nginx与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。更适用于需要大量二次开发的场景,有极强的扩展性:
- Open Resty https://openresty.org/cn/
4、由淘宝网发起的Web服务器项目。它在Nginx (opens new window)的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网 (opens new window),天猫商城 (opens new window)等得到了很好的检验。相比于Open Resty,扩展性不够强,但是能够满足绝多数使用场景:
- Tengine https://tengine.taobao.org/
三、Nginx开源版安装:
1、官网下载地址。
2、使用Xftp工具将其Nginx压缩包上传到虚拟机中,我这里是放到了root目录下(根据需求存放到对应位置)。
3、解压Nginx包,并安装:
tar -zxvf nginx-1.23.2.tar.gz #解压到当前目录
cd nginx-1.23.2 #进入解压后的文件夹
4、安装依赖库:
#安装C编译器
yum install -y gcc
#安装pcre库
yum install -y pcre pcre-devel
#安装zlib
yum install -y zlib zlib-devel
5、安装:
/configure --prefix=/usr/local/nginx #使用prefix选项指定安装的目录
make
make install
6、启动nginx :
cd /usr/local/nginx/sbin
ls -l # 里面是一个nginx的可执行文件
./nginx # 启动这个可执行
7、关闭防火墙:
systemctl status firewalld #查看状态
systemctl disable firewalld #禁用开机启动
systemctl enable firewalld #启用开机启动
systemctl start firewalld #启动
systemctl stop firewalld #停止
测试一下nginx是否启动(ip)
8、补充Nginx命令:
./nginx #启动
./nginx -s stop #快速停止
./nginx -s quit #优雅关闭,在退出前完成已经接受的连接请求(完成已接受的请求后,停止)
./nginx -s reload #重新加载配置
./nginx -t #检查nginx配置是否正确
9、查看nginx状态:
ps -ef|grep nginx
- 启动时:
- 停止时:
10、安装成系统服务(注册系统服务):
通过系统服务的方式启动nginx
1、创建服务脚本:
vi /usr/lib/systemd/system/nginx.service
2、服务脚本内容:(需根据需求修改路径。我的nginx安装到/usr/local/nginx目录里):
[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target #多用户
systemctl daemon-reload #重新加载系统服务
3、启动服务:
systemctl start nginx.service #启动
systemctl stop nginx.service #停止
systemctl status nginx.service #查询状态
4、开机启动:
systemctl enable nginx.service
先赞后看,养成习惯!!!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我的坚持下去的动力。点赞后不要忘了关注我哦!