🌟 Nginx基础学习

1,251 阅读4分钟

一、什么是Nginx

Nginx(Engine X)是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。该软件于2004年由俄罗斯程序员伊戈尔·赛索耶夫发布,并以其稳定性、丰富的功能、简单的配置和低资源消耗而广受好评。在当前的互联网架构中,Nginx扮演着举足轻重的角色,为众多高流量网站提供了稳定可靠的服务。

二、Nginx的四大版本

Nginx开源版:

官方网站:nginx.org/

  • 特点:Nginx开源版是最原始的Nginx版本,完全免费且开放源代码。它提供了基本的HTTP服务器、反向代理、负载均衡等功能,广泛应用于各种规模的网站和应用中。

  • 优势:开源、免费、稳定、高性能、资源消耗低。

  • 劣势:可能缺乏某些高级功能或商业支持。

Nginx Plus商业版:

官方网站:www.nginx.com

  • 特点:Nginx Plus是Nginx公司提供的商业版本,基于开源版增加了诸多高级功能和技术支持。它提供了更强大的负载均衡、健康检查、动态配置更新、安全性增强等功能。

  • 优势:包含开源版的所有功能,加上商业级支持、高级功能集和专业的安全更新。

  • 劣势:需要付费购买,成本相对较高。

OpenResty:

官方网站:openresty.org/cn/

  • 特点:OpenResty是一个基于Nginx的强大Web平台,通过集成Lua语言扩展了Nginx的功能。它允许开发者使用Lua脚本在Nginx配置中直接编写业务逻辑,从而大大提升了Nginx的灵活性和可扩展性。

  • 优势:高性能、可扩展性强、支持Lua脚本编程、丰富的第三方模块库。

  • 劣势:相对于原生Nginx,有一定的学习曲线和复杂性。

Tengine:

官方网站:tengine.taobao.org

  • 特点:Tengine是由淘宝网发起的Web服务器项目,它基于Nginx进行了大量的优化和扩展。Tengine提供了更多高级特性,如动态模块加载、更强大的健康检查、请求过滤等,并针对高并发场景进行了优化。

  • 优势:继承Nginx的所有优点,加上针对电商等高并发场景的特定优化、动态模块支持。

  • 劣势:与原始Nginx的配置和管理可能存在一定的差异,需要适应其特定的扩展和优化。

三、Nginx的安装(linux版)

nginx-1.21.6.gz下载地址

①将nginx-1.21.6.tar.gz放在linux上,并解压文件

mkdir /java/nginx

cd /java/nginx/

tar zxvf nginx-1.21.6.tar.gz

image.png

②安装perl库、安装zlib库

yum install -y pcre pcre-devel

image.png yum install -y zlib zlib-devel

image.png

③ 编译安装

cd nginx-1.21.6

./configure --prefix=/usr/local/nginx

image.png

make

image.png

make install

image.png

④ 进入到nginx的安装目录并启动

cd /usr/local/nginx/sbin/

./nginx

image.png

在浏览器输入ip地址:192.168.118.131(ip根据自己的虚拟机来,nginx默认端口80所以不用输入端口)

image.png

⑤ 设置脚本开机启动nginx

先关闭nginx

./nginx -s stop

编写启动脚本

vi /usr/lib/systemd/system/nginx.service

[Unit]

Description=nginx - web server

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

image.png image.png

重新加载系统服务

systemctl daemon-reload

启动服务

systemctl start nginx.service

开机启动

systemctl enable nginx.service

image.png

再次再浏览器输入ip地址访问nginx首页/在linux查看nginx启动的进程

image.png

ps -ef|grep nginx

image.png

四、Nginx的目录介绍

image.png

五、Nginx配置文件nginx.conf

备份一份新的配置文件,方便后面修改复原

cd /usr/local/nginx/conf/

ls

cp nginx.conf nginxNew.conf

image.png

打开 nginxNew.conf`然后删除多余的注释

image.png

六、总结

本文主要介绍了Nginx这款高性能的HTTP和反向代理服务器。

首先阐述了Nginx的定义、起源以及其在互联网架构中的重要地位。

接着详细比较了Nginx的四大版本,包括开源版、商业版以及两个流行衍生版本的特点、优势和劣势,帮助读者根据自身需求选择合适的版本。

本文还提供了Linux版Nginx的详细安装指南,从解压文件、安装依赖库,到编译安装、启动服务和设置开机启动等步骤一应俱全,使读者能够轻松完成Nginx的部署。

最后,本文简要介绍了Nginx的目录结构和配置文件,为读者进一步探索和使用Nginx提供了基础。通过本文的详细介绍,读者能够对Nginx有更为深入的了解,并为其实际应用打下坚实基础。