redhat安装Nginx基于源码编译安装

本文详细介绍了Nginx的安装过程,包括依赖库如GCC、PCRE、zlib和OpenSSL的安装,强调了它们在Nginx性能和功能中的作用。同时涵盖了Nginx的负载均衡、安全性以及如何配置和管理服务。
摘要由CSDN通过智能技术生成

目录

前言

1 依赖库安装

1.安装gcc编译环境:

2、安装 pcre

 3、安装zlib

4、安装openssl

2 nginx 安装

3 ningx操作


前言

Nginx是一款高性能的HTTP和反向代理服务器,也是IMAP/POP3/SMTP代理服务器。它的重要性主要体现在以下几个方面:

高性能:Nginx采用事件驱动的异步模型,可以处理大量并发请求,响应速度快。与传统的Web服务器相比,Nginx能够处理更多的并发连接,并有效地分发请求到后端服务器,从而提高网站的响应速度和并发处理能力。此外,Nginx还非常节省资源,对CPU和内存的占用率很低。
负载均衡:Nginx可以在后端服务器之间进行负载均衡,通过配置不同的负载均衡策略,如轮询、最小连接数法等,将请求均匀地分发到多个服务器上,避免单个服务器过载或故障导致整个网站不可用。负载均衡不仅能提高网站的可靠性和可扩展性,还能充分利用服务器资源,提供更好的用户体验。
安全性:Nginx具有一系列的安全功能,如DDos攻击防护、基于IP地址的访问控制、SSL/TLS加密等,可以帮助保护Web应用程序的安全。此外,Nginx还支持HTTPS和SSL加密,确保数据在传输过程中的安全性。
反向代理:作为反向代理服务器,Nginx可以隐藏后端服务器的细节,并提供额外的安全性。在请求进入服务器之前,Nginx可以进行过滤和处理,降低恶意攻击和非法请求的风险。
可定制性和可扩展性:Nginx具有一个丰富的模块系统,可以根据需求添加或删除模块。此外,Nginx还支持自定义Lua脚本,通过Lua脚本可以实现高级功能。这种灵活性使得Nginx可以根据不同的应用场景进行定制和优化。
由于Nginx具有以上诸多优点,它已经被越来越多的网站和应用所采用,成为现代Web架构中不可或缺的一部分。

1 依赖库安装

1.安装gcc编译环境:


安装GCC编译器是安装Nginx的一个前提条件,主要有以下几个原因:

源代码编译:Nginx是一个开源项目,其源代码通常是用C语言编写的。为了从源代码编译安装Nginx,需要一个C语言编译器,而GCC(GNU Compiler Collection)是最常用的C语言编译器之一。
依赖管理:在安装Nginx的过程中,可能还需要编译和安装一些依赖库,如PCRE(Perl Compatible Regular Expressions)库、zlib库等。这些库通常也是用C语言编写的,因此同样需要GCC来编译。
性能优化:GCC编译器提供了一系列优化选项,可以帮助开发者优化代码的性能。对于Nginx这样的高性能Web服务器来说,优化是非常重要的。通过GCC编译器,可以确保Nginx的性能达到最佳状态。
因此,在安装Nginx之前,通常需要先安装GCC编译器以及其他必要的依赖库。这样不仅可以确保Nginx能够成功编译和安装,还可以保证Nginx的性能和稳定性。
                        

yum -y install gcc gcc-c++ autoconf automake make

2、安装 pcre

提供nginx支持重写功能

Perl库是一组用于支持Perl编程语言的库文件和模块。Perl是一种功能丰富的计算机程序语言,广泛用于各种任务,包括系统管理、Web开发、网络编程、GUI开发等。

Nginx安装Perl库的原因通常是为了支持特定的功能扩展或与Perl应用程序的交互。

pcre-deve是使用Perl开发的一个二次开发库。
 

yum -y install pcre pcre-devel

 

 3、安装zlib

zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩

Nginx需要安装zlib库主要是因为zlib提供了多种压缩和解压缩的方式,而Nginx使用zlib对HTTP包的内容进行gzip压缩。通过gzip压缩,Nginx可以有效地减少传输的数据量,降低网络带宽的消耗,并加速网页的加载速度。这对于提高网站的性能和用户体验非常重要。

另外,zlib库也是开源的,并且被广泛使用,因此与Nginx的集成非常顺畅。通过安装zlib库,Nginx可以利用zlib提供的压缩算法和高效的数据处理功能,实现对HTTP内容的实时压缩和传输。

yum -y install zlib zlib-devel make libtool

 

4、安装openssl

安全套接字层密码库,用于通信加密

Nginx需要安装OpenSSL库主要是因为它支持HTTPS协议,即通过在SSL/TLS协议上传输HTTP协议来提供加密通信。OpenSSL是一个强大的安全套接字层密码库,它包含了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议。

当Nginx配置为使用HTTPS时,它需要OpenSSL库来处理加密和解密操作,确保在客户端和服务器之间传输的数据是安全的。OpenSSL提供了丰富的应用程序和库函数,使得Nginx可以方便地使用SSL/TLS协议进行安全通信。

此外,OpenSSL还提供了证书管理功能,Nginx可以使用OpenSSL来加载和管理SSL证书和私钥,以确保安全的连接建立。


2 nginx 安装

手动创建用户和用户组

groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M

官网下载:

wget https://nginx.org/download/nginx-1.20.2.tar.gz

 

解压:

tar -zxvf nginx-1.20.2.tar.gz

编译目录:

cd nginx-1.20.2

# 检查平台安装环境

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx

 参数说明: –prefix=/usr/local/nginx

#编译安装目录 –user=nginx

#所属用户nginx –group=nginx

#所属组nginx –with-http_stub_status_module

#该模块提供nginx的基本状态信息 –with-http_ssl_module

# 支持HTTPS

编译源码并安装:

make			# 编译
make install  		# 安装

 

 

nginx编译完成以后,修改nginx.conf文件

使用nginx用户登录:

user nginx nginx;

如果切换不了。就忽略这一步

3 ningx操作

启动服务:

/usr/local/nginx/sbin/nginx

如果不知道Nginx在哪里?可以使用下面命令:

whereis nginx

启动后,查看Nginx情况:

ps -ef | grep nginx

查看Nginx的版本号:

/usr/local/nginx/sbin/nginx -V

 浏览器直接IP访问:

重启服务:

/usr/local/nginx/sbin/nginx -s reload

停止服务:

/usr/local/nginx/sbin/nginx -s stop

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值