红帽9,nginx源代码安装

本文详细介绍了如何安装、配置和测试Nginx服务器,包括安装GCC编译环境、Perl库、zlib和OpenSSL,以及创建systemd单元文件管理和nginx服务。重点讲解了Nginx的高性能、负载均衡、安全性和可扩展性特点。
摘要由CSDN通过智能技术生成

前言

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

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

由于Nginx具有以上诸多优点,它已经被越来越多的网站和应用所采用,成为现代Web架构中不可或缺的一部分。

一、安装nginx准备前工作

1.安装gcc编译环境:

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

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

因此,在安装Nginx之前,通常需要先安装GCC编译器以及其他必要的依赖库。这样不仅可以确保Nginx能够成功编译和安装,还可以保证Nginx的性能和稳定性。

yum install gcc-c++

2.安装perl库

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

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

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

yum install -y pcre pcre-deve

3.zlib安装

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

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

yum install -y zlib zlib-devel

4.openssl安装

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

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

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

yum install -y openssl openssl-devel

二、nginx安装测试

1.搜索nginx网站,查看版本

2.下载nginx(1.25.4)

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

3.解压进入nginx目录 

tar -xzvf nginx-1.25.4.tar.gz
ls
cd nginx-1.23.4/

4.准备编译环境,编译安装

./configure 预编译,主要用于检测系统基准环境库是否满足,生成makefile文件
--prefix=/usr/local/nginx 路径 安装位置 --user= 用户名 --group=用户组 其他就是功能参数--with-http ssl module 自定义的安装模块

make :编译

make install :安装

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

(提示有一个日志错误,不过没什么影响) 

 5.搜索,进入nginx,然后启动

whereis nginx
cd /usr/local/nginx
ls
cd /usr/local/nginx/sbin
./nginx

6.登入127.0.0.1测试是否成功 

三、编写systemd单元文件管理nginx服务

1.进入/etc/systemd/system或/usr/lib/systemd/system目录下,创建一个nginx.service文本文件

cd /etc/systemd/system
touch nginx.service

2.编写nginx.service文本文件内容

vim nginx.service
[Unit]
Description=nginx service  #描述服务名称
[Service]
ExecStart=/usr/local/ngix/sbin/nginx   #指定服务启动命令路径
ExecReload=/usr/lcoal/ngix/sbin/nginx -s reload #指定服务重启命令路径
ExecStop=/usr/local/ngix/sbin/nginx -s quit  #指定服务停止命令路径
PrivateTmp=True   #服务运行时分配独立的临时空间
Type=forking     #服务运行类型为后台运行
[Install]
WantedBy=multi-user.target

3.重载配置,命令测试

systemctl daemon-reload
systemctl stop  nginx.service
systemctl start nginx.service
systemctl enable nginx.service

systemctl daemon-reload(重载配置)
systemctl stop  nginx.service(停止服务)
systemctl start nginx.service(启动服务)
systemctl enable nginx.service(随机启动)
 

参考博客:http://t.csdnimg.cn/c97Ae

http://t.csdnimg.cn/efVS8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值