源代码安装nginx(red hat)

本文详细介绍了如何从源代码安装Nginx,包括下载、依赖包安装、配置、编译及systemd服务管理,强调了Nginx在Web服务器、负载均衡等方面的应用价值。
摘要由CSDN通过智能技术生成

目录

一、源代码安装原因

二、操作步骤

1.下载并解压软件包

2、安装所需依赖包

3、执行configure脚本生成编译配置文件Makefile

4、编译源代码并安装软件

5、查看nginx是否安装成功

6、访问nginx

三、编写systemd单元文件管理nginx服务(开机自启)

四、总结


一、源代码安装原因

如果yum、rpm软件包不能提供所需软件时,就要考虑源代码安装,获取源代码包,进行编译安装。另外源代码包可以根据用户的需要对软件加以定制,有的还允许二次开发,本篇博客将以nginx为例进行源代码安装。

二、操作步骤

在源代码安装nginx之前,得确保已经配置好国内镜像源,未配置且不会配置的同学可参考以下链接:Linux红帽RedHat9.0网络(阿里)源与本地源搭建-CSDN博客

1.下载并解压软件包

在nginx官网找到Linux版本相应的源代码包:http://nginx.org/download/

有tar.gz和zip两种格式,这里下载自己所需版本tar.gz格式的源代码包,不得低于1.20.0(这篇博客以nginx-1.22.1.tar.gz为例)

复制自己所需版本的下载链接,在虚拟机里下载源代码包

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

解压源代码包

tar -zxvf nginx-1.22.1.tar.gz

2、安装所需依赖包

Nginx是基于C语言开发的,所以安装nginx前需要安装C语言编译环境,HTTP rewrite 模块要求安装PCRE库,SSL模块要求OpenSSL库,可以执行以下命令来安装所需的依赖包

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

3、执行configure脚本生成编译配置文件Makefile

在执行configure脚本生成编译配置文件Makefile前需要进入到nginx-1.22.1目录下

cd nginx-1.22.1

进入nginx-1.22.1目录后即可执行configure脚本生成编译配置文件Makefile

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

 注:--prefix是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share,比较凌乱。上述命令配置--prefix,可以把所有资源文件放在/usr/local/nginx的路径中,不会杂乱

4、编译源代码并安装软件
make & make install

5、查看nginx是否安装成功
Whereis nginx

Ps:出现/usr/local/nginx即代表成功安装

6、访问nginx

如果想要成功访问nginx,需要关闭防火墙或者开放指定的端口号,本文以关闭防火墙为例

systemctl stop filewalld

 关闭防火墙之后,进入浏览器输入自己虚拟机的IP看到以下界面即代表访问成功

三、编写systemd单元文件管理nginx服务(开机自启)

在/usr/lib/systemd或/etc/systemd/system目录下创建一个nginx.service文本文件,设置如下内容:

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
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=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

设置完之后保存并退出,要让systemd重新识别此单元文件,通常执行systemctl daemon-reload命令重载配置,或者重启系统,这样就可以使用systemd来管理nginx的启动、重启、随机启动等。

执行以下命令使nginx随机启动:

systemctl enable nginx.service

四、总结

Nginx的主要作用可以归结为以下几点:

  1. Web服务器:nginx可以高效地处理静态文件,如图片、文件等,是一个很好的图片、文件服务器。与Apache相比,nginx使用更少的资源,支持更多的并发连接,表现出更高的效率。因此,nginx特别受到虚拟主机提供商的欢迎。
  2. 负载均衡服务器:nginx通过反向代理实现服务的负载均衡,将请求按照一定的策略转发到不同的服务器上,从而避免服务器单节点故障,提高网站的可靠性和可扩展性。负载均衡策略包括轮询、加权轮询、源地址哈希法等。
  3. 反向代理服务器:nginx作为反向代理服务器,可以隐藏后端服务器的细节,并提供额外的安全性。通过nginx的反向代理功能,可以在请求进入服务器之前进行过滤和处理,降低恶意攻击和非法请求的风险。
  4. 邮件代理服务器:nginx也是一个非常优秀的邮件代理服务器,最初开发的目的之一就是作为邮件代理服务器。
  5. 缓存加速:nginx具有强大的缓存功能,可以缓存经常访问的静态内容或动态内容,提供快速的响应速度和减少服务器负载。

  Nginx是一个高性能、稳定性、丰富的功能以及低廉的成本的HTTP和反向代理服务器,可以大幅提升网站的响应速度和并发处理能力,提供更好的用户体验,广泛应用于Web服务领域。

前端Nginx主备,负载均衡。 两台应用服务器每台都与负载均衡器相连,负载均衡器分配WEB请求到应用服务器。两台负载均衡器对外提供单一IP地址WEB服务; 通过heartbeat管理故障切换集群中可用的负载均衡分配器nginxd,提供对网络和硬件的维护和监视,对集群异常做自动修复和记录日志。 通过Mon提供负载均衡nginxd进程和jboss进程的维护和监视,对集群内部负载均衡进程故障做自动修复和记录日志。 高可用性特性列表  主节点电源失效,故障修复速度为12-16s。  主节点意外重启,故障修复速度为12-16s。  主节点HA进程意外停止,故障修复速度为12-16s。  主节点负载均衡进程意外停止,故障修复速度为2s。  主节点网线意外松动或断开,故障修复速度为12-16s。  备份节点电源失效,不影响对外提供服务。  备份节点意外重启,不影响对外提供服务。  备份节点HA进程意外停止,不影响对外提供服务。  备份节点负载均衡进程意外停止,不影响对外提供服务。  备份节点网线意外松动或断开,不影响对外提供服务。  维护和监视进程Mon通过linux计划任务维护和监视,故障修复速度为60s。 NGINX服务具有负载均衡、失效转移功能。两台NGINX服务器同时运行,正常运行时两台NGINX服务器同时提供服务,当其中一台NGINX出现故障时,负载均衡进程自动将客户请求转发到正常运行的NGINX服务上。 当游戏正在运行时,如果NGINX异常终止,则该局游戏作废处理,重新启动NGINX之后可以继续运行下一局游戏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值