目录
前言
Nginx(发音为"engine X")是一款高性能的开源 Web 服务器和反向代理服务器。以下是关于 Nginx 的介绍:
1. **高性能:** Nginx 被设计为高性能的 Web 服务器,它能够处理大量并发连接和高流量的请求。Nginx 使用事件驱动的异步架构,有效地利用系统资源,提供快速而可靠的性能。
2. **反向代理和负载均衡:** Nginx 可以作为反向代理服务器,将客户端请求转发到后端服务器。通过负载均衡算法,Nginx 可以分发请求到多个后端服务器,提高系统的可扩展性和容错性。
3. **静态文件服务:** Nginx 也可以用来提供静态文件(如 HTML、CSS、JavaScript、图像等)的高效传输。它能够快速地缓存文件,并支持 gzip 压缩和范围请求等功能,提供更好的用户体验。
4. **可扩展性:** Nginx 可以通过添加模块来扩展其功能。有很多第三方模块可用,例如支持缓存、HTTP/2、TLS/SSL 加密等。这使得 Nginx 适用于各种不同的应用场景。
5. **简单配置和易于使用:** Nginx 的配置文件基于简单的文本格式,易于理解和修改。它具有清晰的模块化结构,允许用户灵活地配置各种功能和行为。
6. **广泛应用:** Nginx 在全球范围内被广泛应用于大型网站、互联网应用、CDN(内容分发网络)等场景。它能够处理高并发的请求,并提供稳定可靠的服务。
需要注意的是,Nginx 是一个 Web 服务器和反向代理服务器,并不支持动态内容的处理。为了支持动态内容,通常需要将 Nginx 与后端应用服务器(如 PHP-FPM、Node.js 等)结合使用。
总体而言,Nginx 以其高性能、可扩展性和简单配置而备受推崇。它在处理大量并发请求、负载均衡和提供静态文件服务方面表现出色。
如果你对 Nginx 还有其他问题,欢迎随时提问!我会尽力回答你的疑问。
下载安装nginx
1、前期准备
提前安装一些一些库,避免出现错误。前期要配置好国内yum源和本地库。
1.1.安装好国内yum源和本地
【国内yum源】
[ali_baseos]
name=ali_baseos
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/Base0S/x86_64/os/
gpgcheck=0
[ali_appstream]
name=ali_appstream
baseurl=https:/mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
gpgcheck=0
1.2.安装gcc库
【介绍】
GCC(GNU Compiler Collection)是一套由 GNU 项目开发的编译器集合,其中包括多种编程语言(如 C、C++、Fortran、Ada 等)的编译器。除了编译器外,GCC 还包含了用于优化、调试和链接程序的工具。
在 GCC 的库中,主要包括以下几个组件:
1. **编译器:** GCC 包含了各种语言的编译器,例如 `gcc`(C 语言编译器)、`g++`(C++ 编译器)、`gfortran`(Fortran 编译器)等。这些编译器能够将源代码翻译成目标平台上可执行的机器代码。
2. **标准库:** GCC 提供了针对不同编程语言的标准库,如 libc(C 标准库)、libstdc++(C++ 标准库)、libgfortran(Fortran 标准库)等。这些标准库包含了丰富的函数和数据结构,用于支持程序的开发和运行。
3. **调试器:** GCC 也包括调试器,如 GDB(GNU Debugger),用于帮助开发者调试程序,定位问题并查看变量的值和程序执行流程。
4. **性能优化工具:** GCC 提供了一系列优化选项,可以帮助开发者提高程序的性能和效率。通过调整编译器的优化参数,可以使生成的代码更有效率地利用计算资源。
5. **其他工具:** GCC 还包含其他实用工具,如 `make`(构建工具)、`objdump`(目标文件反汇编工具)、`gcov`(代码覆盖率工具)等,这些工具可以辅助开发者进行软件开发和分析。
总的来说,GCC 提供了丰富的工具和库,支持多种编程语言的开发和优化。作为一个开源的编译器集合,GCC 在各种操作系统和平台上被广泛应用,为开发者提供了强大的编译和调试工具。
如果你对 GCC 或者编译器集合有任何其他问题,请随时告诉我!我会尽力回答你的疑问。
yum install gcc -y
1.3.安装openssl库
【介绍】
OpenSSL 是一个强大而广泛使用的开源密码学库,提供了各种加密、解密和安全通信功能。它支持多种密码算法,包括对称加密(如 AES)、非对称加密(如 RSA)、哈希函数(如 SHA)等。OpenSSL 可以用于开发安全的网络应用,实现 SSL/TLS 协议来保护数据传输的机密性和完整性。此外,OpenSSL 还提供了证书管理、随机数生成、数字签名等功能,被广泛应用于 Web 服务器、VPN、电子商务等领域,保障了数据的安全和保密性。
yum install openssl openssl-devel -y
1.4.安装pcre库
【介绍】
PCRE(Perl Compatible Regular Expressions)是一个开源的正则表达式库,提供了与 Perl 兼容的正则表达式功能。以下是关于 PCRE 库的介绍:
1. **特性:** PCRE 库支持 Perl 兼容的正则表达式语法,包括元字符、量词、分组、反向引用等功能。它提供了强大而灵活的模式匹配和搜索能力。
2. **功能:** PCRE 支持在文本中进行模式匹配、替换、提取等操作。开发者可以使用 PCRE 库来实现复杂的字符串操作,例如验证输入、解析文本、提取信息等。
3. **性能:** PCRE 在性能上表现优异,能够高效处理大型文本数据和复杂的正则表达式。它采用了优化的匹配算法,提供了快速而稳定的匹配速度。
4. **跨平台:** PCRE 可以在多种操作系统上运行,包括 Linux、Windows、Mac 等。这使得开发者能够在不同平台上使用相同的正则表达式库,实现跨平台的应用程序开发。
5. **应用领域:** PCRE 被广泛应用于各种编程语言和工具中,如 C、C++、Python、PHP 等。它在处理文本搜索、数据提取、语法分析等方面发挥着重要作用。
总的来说,PCRE 是一个功能强大、性能优异的正则表达式库,为开发者提供了便捷而高效的字符串处理工具。无论是进行简单的文本匹配还是复杂的模式提取,PCRE 都能够满足开发者的需求,并帮助他们实现各种文本处理任务。
如果您有任何关于 PCRE 库或正则表达式的其他问题,请随时告诉我!我会尽力回答您的疑问。
yum install pcre pcre-devel -y
1.5.安装zlib库
【介绍】
Zlib 是一个开源的压缩库,提供了数据压缩和解压缩的功能。以下是关于 Zlib 库的介绍:
1. **压缩算法:** Zlib 使用 DEFLATE 算法进行数据压缩,这是一种通用且高效的压缩算法,常用于文件压缩和网络传输中。
2. **功能特点:** Zlib 提供了简单易用的 API,可以方便地在应用程序中集成数据的压缩和解压缩功能。它支持多种压缩级别和压缩策略,使用户能够根据需求进行定制。
3. **跨平台性:** Zlib 可以在各种操作系统上运行,包括 Linux、Windows、Mac 等,具有良好的跨平台支持,适用于不同环境下的应用开发。
4. **应用领域:** Zlib 被广泛应用于文件压缩、网络传输、数据备份等场景。许多软件和协议(如 HTTP、PNG 图像格式)都使用了 Zlib 进行数据的压缩和解压缩。
5. **开源:** Zlib 是一个开源项目,遵循自由软件许可证,允许用户免费获取、使用和修改源代码,促进了开发者社区的贡献与共享。
总的来说,Zlib 是一个功能强大、高效且广泛应用的压缩库,为开发者提供了压缩和解压缩数据的重要工具。通过使用 Zlib,开发者可以减小数据存储空间、加快数据传输速度,并提高应用程序的性能和效率。
如果您对 Zlib 库或数据压缩有任何其他问题,请随时告诉我!我会尽力回答您的疑问。
yum install zlib zlib-devel -y
2、下载源码
mkdir -p /opt/nginx
cd /opt/nginx
wget http://nginx.org/download/nginx-1.24.0.tar.gz
3、安装
tar -zxvf nginx-1.24.0.tar.gz # 解压nginx
cd nginx-1.24.0
./configure --prefix=/usr/local/nginx
make # 执行命令进行编译:
make install # 执行命令进行安装
4、启动
cd /usr/local/nginx/sbin
./nginx # 启动
ps -ef | grep nginx
5、查看结果
6、编写systemd单元文件管理nginx服务
目前Nginx都是通过命令执行的,在Nginx运行过程中,需要Nginx作为系统的服务运行。以systemctl命令运行服务。
配置服务文件:
vi /lib/systemd/system/nginx.service
配置信息:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
创建服务:
systemctl enable nginx.service
systemctl status nginx
查看端口
sudo netstat -tulnp | grep :80
以上就是小编的团队(h)所分享,如果对您的学习有所帮助希望能动动小手给我们点个赞,如果有问题也欢迎指出,谢谢。