CentOS 7 编译安装 Nginx

news2024/11/16 20:38:31

CentOS 7 编译安装 Nginx

    • 背景
    • 下载 Nginx 源码包
    • 安装依赖包
    • 编译
    • 添加环境变量
    • 添加守护
    • 查考文献

背景

一开始使用 docker 搭建了一个 web 服务器,但是由于 docker 不太方便的部署 TLS 证书,故使用 Nginx 做反向代理,实现 https 连接。

下载 Nginx 源码包

Nginx 主要提供两个版本,分别为:Mainline version 与 Stable version,前面是主线版本,有新的特性会在此版本中体现,但是 BUG 的出现的可能性也会比 稳定版本高,故以下使用写这篇博客下最新的稳定版作为演示。
image.png

由红框中指出的是 Linux 下,应该下载的源码包,获取它的下载链接。
然后在服务器上先进入系统的源代码存放处,在下载源码包,解压并进入:

cd /usr/local/src
curl -LO https://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.20.2

安装依赖包

  1. 安装编译环境
yum -y install gcc gcc-c++

  1. 如果要使用 rewrite、ssl 与 gzip 功能,则需要 pcre、openssl、zlib 依赖包
yum -y install pcre pcre-devel openssl openssl-devel zlib zlib-devel

编译

./configure --prefix=/usr/local/nginx \
	--with-http_ssl_module \
	--with-http_v2_module \
	--with-http_realip_module

命令解释

配置选项功能
-prefix指定安装路径
–with-http_ssl_module支持 HTTPS 协议
–with-http_v2_module支持 HTTP/2
–with-http_realip_module从指定请求头获取客户端 IP 地址

执行完上面的命令后,可以开始进行正式的编译了

make && make install

如果你的服务器配置较高,可以使用多线程编译 在 make 后添加 -j3 参数

make -j3 && make install

添加环境变量

如果使用 bash shell,则使用以下命令:

echo 'export PATH="/usr/local/nginx/sbin:$PATH"' >> ~/.bashrc
source ~/.bashrc

如果使用 zsh shell,则使用:

echo 'export PATH="/usr/local/nginx/sbin:$PATH"' >> ~/.zshrc
source ~/.zshrc

添加守护

使用 vim 在 /etc/systemd/system/ 文件夹下,添加 nginx.service。vim /etc/systemd/system/nginx.service
然后将如下所示的内容复制粘贴到该文件中并保存(vim 编辑器先按 ESC 再输入 :wq):

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID

[Install]
WantedBy=multi-user.target

运行以下命令,将 systemd 重新读取新的配置内容

systemctl daemon-reload

以下命令,都是用来管理 Nginx 服务的:
随系统启动服务

systemctl enable nginx

启动 Nginx

systemctl start nginx

停止 Nginx

systemctl stop nginx

重载 Nginx

systemctl reload nginx

查考文献

[1] OSFERE. (2022.2.2). 如何在 CentOS 上编译安装及配置最新版 Nginx. Tech Trends. Retrieved from https://osfere.com/linux/how-to-build-install-and-configure-latest-nginx-on-centos

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1526487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

观成科技-基于自适应学习的人工智能加密流量检测技术

1.前言 人工智能技术的广泛应用正在深刻改变我们的生活。在网络安全领域,基于机器学习的检测技术也应用在许多场景中。随着信息技术的迅猛发展和数字化转型的深入推进,加密技术逐渐成为保障网络安全和数据隐私的核心手段,而基于机器学习的检…

LeetCode 面试经典150题 274.H指数

题目: 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她…

滑块验证码

1.这里针对滑块验证给了一个封装的组件verifition,使用直接可以调用 2.组件目录 3.每个文件的内容 3.1 Api文件中只有一个index.js文件,用来存放获取滑块和校验滑块结果的api import request from /router/axios//获取验证图片 export function reqGe…

影响交易收益的因素有哪些?

在尝试做交易时,你可能会问自己一个问题:交易一天能赚多少钱?“如果我全职投入交易,一天能赚多少?”或者更广泛地说,“交易能为我带来怎样的财富?”这些问题本质上都充满了不确定性,…

upload-labs-pass01

1.安装好环境进入关卡(记得打开小皮) 2.可以看到第一关是要求上传图片,但是同时限制了图片类型,那么如果我们将木马写入图片,但是类型又不在白名单,就要想办法绕过 3.可以看到这里的要求是有check&#xff…

计算机组成原理——自己制作一个cpu

cpu包括单周期cpu、中断cpu、多周期cpu 代码实现之后在实验箱看效果,并且看波形图 单周期波形 中断cpu 多周期cpu 1.单周期CPU总体电路图 如图是一个简单的基本上能够在单周期CPU上完成所要求设计的指令功能的数据通路和必要的控制线路图。其中指令和数据各存储在不…

怎么批量去掉文件名中的空格?

怎么批量去掉文件名中的空格?在日常工作和生活中,我们经常会遇到文件名中含有空格的情况。这些空格可能是因为拷贝、重命名或其他操作时产生的,给文件的管理和识别带来了一定困扰。为了更好地整理和管理文件,批量去掉文件名中的空…

一文速通半监督学习(Semi-supervised Learning):桥接有标签与无标签数据

一文速通半监督学习:桥接有标签与无标签数据 前言背景补充:监督学习、半监督学习、无监督学习半监督学习(Semi-supervised Learning)的魔法一、半监督学习的三个常见的基本假设1. 连续性假设(Smoothness Assumption)2. 聚类假设&a…

【视频图像取证篇】模糊图像增强技术之锐化类滤波场景应用小结

【视频图像取证篇】模糊图像增强技术之锐化类滤波场景应用小结 模糊图像增强技术之锐化类滤波场景应用小结—【蘇小沐】 (一)锐化类滤波器 模糊消除类滤波器(Remove blur / Unsharpness)。 通用去模糊滤波器:针对大…

多线程在线检测网速流量HTML源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 多线程在线检测网速流量html源码,测试您的网速,多地查询您的IP地址,同时具备网络延迟实时检测,流量杀手,流量消耗器&#x…

申请Github Education获取免费Copilot权限(2024.3.18实测成功)

起因:旧帐户Copilot权限被封 我已经离开Github Copilot就无法独自耐着性子写代码了(懒惰AI成瘾性),这两天Github Copilot不知道为什么在大规模封号,我不幸也被封号了(禁用掉了Github Copilot权限&#xff…

微信自动回复的好处,如何设置

自动回复的好处: 1、支持自定义不重复触发时间和生效时间段,使得回复效果更为智能; 2、支持多个微信设置,并可直接导入素材库内容,以提高工作效率; 3、具备多个关键词和多条回复内容,从而使自…

Acwing.1360 有序分数(递归or最小公因数)

题目 给定一个整数 N,请你求出所有分母小于或等于 N,大小在 [0,1]范围内的最简分数,并按从小到大顺序依次输出。 例如,当 N5时,所有满足条件的分数按顺序依次为: 输入格式 共一行,包含一个整…

十二、Transformer(Attention Mechanism)

参考Transformer详解 和 Transforner模型详解 1 Transformer 整体结构 Transformer 由 Encoder 和 Decoder 两个部分组成,Encoder 和 Decoder 都包含 6 个 block。 ​ 2 Transformer 局部结构 2.1 输入层 Transformer 中的输入层是由单词的 Word Embedding 和 …

传统电力运维企业的数字化转型案例

一. 传统电力运维企业面临的主要问题 上海某电力集团企业下属有成套设备公司、电力工程公司,依托于自身的设备制造和工程服务能力,以及多年积累的终端客户资源,几年前该公司成立了电力运维服务公司进入用户侧电力托管运维服务行业。 该公司…

4-激活函数:给机器注入灵魂

声明 本文章基于哔哩哔哩付费课程《小白也能听懂的人工智能原理》。仅供学习记录、分享,严禁他用!!如有侵权,请联系删除 目录 一、知识引入 (一)背景 (二)激活函数 &#xff08…

vulhub中DNS域传送漏洞复现

DNS协议支持使用axfr类型的记录进行区域传送,用来解决主从同步的问题。如果管理员在配置DNS服务器的时候没有限制允许获取记录的来源,将会导致DNS域传送漏洞。 环境搭建 Vulhub使用Bind9来搭建dns服务器,但不代表只有Bind9支持AXFR记录。运行…

知识管理系统(KMS)和AI的融合十大场景

我向AI问了一个问题,KMS和AI融合有哪些场景,不得不说AI越来越强大了,他给我列出了十个场景,老铁们知道有哪些可以落地的吗? 将知识管理系统(KMS)与人工智能(AI)融合有着广…

ELK集群实战

1、 Elasticsearch集群部署 服务器 安装软件主机名IP地址系统版本配置ElasticsearchElk10.12.153.180centos7.5.18042核4GElasticsearchEs110.12.153.178centos7.5.18042核4GElasticsearchEs210.12.153.179centos7.5.18042核4G 2、创建运行的ES普通用户 3、上传es的数据包 …

代码随想录阅读笔记-哈希表【三数之和】

题目 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a b c 0 ?请你找出所有满足条件且不重复的三元组。 注意: 答案中不可以包含重复的三元组。 示例: 给定数…