安装 Nginx 的三种方式

news2025/1/14 20:40:42

通过 Nginx 源码安装需要提前准备的内容:

GCC 编译器

Nginx 是使用 C 语言编写的程序,因此想要运行 Nginx 就需要安装一个编译工具

GCC 就是一个开源的编译器集合,用于处理各种各样的语言,其中就包含了 C 语言

使用命令 yum install -y gcc 来安装

安装成功后,可以通过 gcc --version 来查看 gcc 是否安装成功

PCRE

Nginx 在编译过程中需要使用到 PCRE 库(Perl Compatible Regular Expression 兼容正则表达式库),因为在 Nginx 的 Rewrite 模块和 HTTP 核心模块都会使用到 PCRE 正则表达式语法

可以使用命令 yum install -y pcre pcre-devel 来进行安装

安装成功后,可以通过 rpm -qa pcre pcre-devel 来查看是否安装成功

zlib

zlib 库提供了开发人员的的压缩算法,在 Nginx 的各个模块中需要使用 gzip 压缩,所以也需要提前安装其库及源码 zlib 和 zlib-devel

可以使用 yum install -y zlib zlib-devel 来进行安装

安装成功后,可以通过 rpm -qa zlib zlib-devel 来查看是否安装成功

OpenSSL

OpenSSL 是一个开发源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听

SSL:Secure Sockets Layer 安全套接层协议的缩写,可以在 Internet 上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。在 Nginx 中,如果服务器需要提供安全网页时就需要用到 OpenSSL 库,所以需要对 OpenSSL 的库文件及它的开发安装包进行安装

可以使用命令 yum install -y openssl openssl-devel 来进行安装

安装成功后,可以通过 rpm -qa openssl openssl-devel 来查看是否安装成功

上述命令,一个个来的话比较麻烦,也可以通过一条命令来进行安装

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

进行全部安装

一、通过 Nginx 源码简单安装

nginx: downloadicon-default.png?t=N7T8https://nginx.org/en/download.html

1、进入官网找到需要下载版本的链接地址,或者直接使用 wget 命令进行下载

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

2、对下载的资源进行包管理

mkdir -p nginx/core
mv nginx-1.24.0.tar.gz nginx/core

3、解压缩 

tar -xzf nginx-1.24.0.tar.gz

4、进入资源文件中,运行 configure

./configure

5、编译

make

6、安装 

make install

 编译与安装也可以一起执行

make && make install

7、启动 Nginx 

cd sbin
./nginx

在浏览器访问:虚拟机 IP 地址,出现以下页面则安装成功 

 

二、通过 Nginx 源码复杂安装 

这种方式和简单安装配置不同的地方在于第一步,通过 ./configure 来对编译参数进行设置,需要我们手动来指定

PATH:是和路径相关的配置信息

with:是启动模块,默认是关闭的

without:是关闭模块,默认是开启的

我们先来认识一些简单的路径配置以及通过这些配置来完成一个简单的编译:

--prefix=PATH

指向 Nginx 的安装目录,默认值为 /usr/local/nginx

--sbin-path=PATH

指向(执行)程序文件(nginx)的路径,默认值为<prefix>/sbin/nginx

--modules-path=PATH

指定 Nginx 动态模块安装目录,默认值为 <prefix>/modules

--conf-path=PATH

指定配置文件(nginx.conf)的路径,默认值为<prefix>/conf/nginx.conf

--error-log-path=PATH

指向错误日志文件的路径,默认值为 <prefix>/logs/error.log

--http-log-path=PATH

指向访问日志文件的路径,默认值为 <prefix>/logs/access.log

--pid-path=PATH

指向 Nginx 启动后进程 PID 的文件路径,默认值为 <prefix>/logs/nginx.pid

--lock-path=PATH

指向 Nginx 锁文件的存放路径,默认值为 <prefix>/logs/nginx.lock

基本步骤跟简单安装没什么区别,只是在运行 ./configure 时指定一些路径参数

示例代码:

./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--modules-path=/usr/local/nginx/modules \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--lock-path=/usr/local/nginx/logs/nginx.lock

 

三、使用 yum 安装

使用源码进行简单安装,发现安装的过程比较繁琐,需要提前准备 GCC 编译器、PCRE 兼容正则表达式库、zlib 压缩库、OpenSSL 安全通信的软件库包,然后才能进行 Nginx 的安装

nginx: Linux packagesicon-default.png?t=N7T8https://nginx.org/en/linux_packages.html#RHEL

1、安装 yum-utils

sudo yum install -y yum-utils

 这里如果系统中没有安装过 yum-utils 则会自动安装,若是已经安装过,则会提示 Nothing to do

可以直接进行第二步

2、添加 yum 源文件 

vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

这里要注意:直接复制到 Linux 中可能会出现第一行部分缺失,需要手动补齐!!! 

默认使用稳定版,若需切换为主线版本

sudo yum-config-manager --enable nginx-mainline

3、安装 Nginx 

sudo yum install -y nginx

使用这种方式安装 Nginx,则会使用默认的路径:

nginx 的配置文件在 /etc/nginx/nginx.conf

自定义的配置文件放在 /etc/nginx/conf.d

项目文件存放在 /usr/share/nginx/html/

日志文件存放在 /var/log/nginx/

还有一些其他的安装文件都在 /etc/nginx

 

一  叶  知  秋,奥  妙  玄  心 

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

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

相关文章

python基础语法--列表

一、列表的概念 列表&#xff08;List&#xff09;是一种有序、可变、允许重复元素的数据结构。列表用于存储一组相关的元素&#xff0c;并且可以根据需要动态地进行增加、删除、修改和访问。以下是列表的主要特点和操作&#xff1a; 有序性&#xff1a; 列表中的元素是按照它…

工作与生活,如何找到平衡点,实现双赢?(2个简单工具答案一目了然)

前言 很多 35岁左右上有老下有小的程序员会陷入一个瓶颈期&#xff0c;在工作上想努力多赚钱&#xff0c;但是每天回到家 23 点&#xff0c;老婆孩子早已熟睡。好不容易周末有点休息时间&#xff0c;但是一个电话接一个&#xff0c;由于是生产问题还不得不接。 那么职场人应该如…

激活IDM下载器并配置百度网盘

前言&#xff1a; 最近想下载一些软件&#xff0c;奈何不充钱的百度网盘的速度实在太慢了&#xff0c;不到一个G的文件夹奈何下了一晚上&#xff0c;只能重新找一下idm的下载了。 但是idm的正版是需要收费的&#xff0c;所以有白嫖党的破解版就横空出世了。 正文&#xff1a…

【目标跟踪】ByteTrack详解与代码细节

文章目录 一、前言二、代码详解2.1、新起航迹2.2、预测2.3、匹配2.4、结果发布2.5、总结 三、流程图四、部署 一、前言 论文地址&#xff1a;https://arxiv.org/pdf/2110.06864.pdf git地址&#xff1a;https://github.com/ifzhang/ByteTrack ByteTrack 在是在 2021 年 10 月…

OpenAIGPT-4.5提前曝光?

OpenAI GPT-4.5的神秘面纱&#xff1a;科技界的震撼新篇章 在人工智能的世界里&#xff0c;每一次技术的飞跃都不仅仅是一次更新&#xff0c;而是对未来无限可能的探索。近日&#xff0c;科技巨头OpenAI似乎再次站在了这场革命的前沿&#xff0c;其潜在的新产品——GPT-4.5 Tur…

Https协议原理剖析【计算机网络】【三种加密方法 | CA证书 】

目录 一&#xff0c;fidler工具 前提知识 二&#xff0c;Https原理解析 1. 中间人攻击 2. 常见的加密方式 1&#xff09;. 对称加密 2&#xff09;. 非对称加密 对称加密 4&#xff09;. CA证书 1. 数据摘要 3. 数字签名 CA证书 理解数据签名 存在的安全疑问&am…

ubuntu ROS1 C++下使用免安装eigen库的方法

1、eigen库的定义及头文件介绍 Eigen是一个高层次的C 库&#xff0c;有效支持线性代数&#xff0c;矩阵和矢量运算&#xff0c;数值分析及其相关的算法。 2、获取eigen库安装包 下载地址&#xff1a;eigen库官网 &#xff0c;如下图所示&#xff1a; 下载最新版tar.bz2即可&…

嵌入式Linux driver开发实操(二十三):ASOC

ASoC的结构及嵌入到Linux音频框架 ALSA片上系统(ASoC)层的总体项目目标是为嵌入式片上系统处理器(如pxa2xx、au1x00、iMX等)和便携式音频编解码器提供更好的ALSA支持。在ASoC子系统之前,内核中对SoC音频有一些支持,但它有一些局限性: ->编解码器驱动程序通常与底层So…

甘特图是什么?如何利用其优化项目管理流程?

甘特图是项目管理软件中十分常见的功能&#xff0c;可以说每一个项目经理都要学会使用甘特图才能更好的交付项目。什么是甘特图&#xff1f;甘特图用来做什么&#xff1f;简单来说一种将项目任务与时间关系直观表示的图表&#xff0c;直观地展示了任务进度和持续时间。 一、甘特…

博睿数据亮相GOPS全球运维大会,Bonree ONE 2024春季正式版发布!

2024年4月25日&#xff0c;博睿数据 Bonree ONE 2024 春季正式版焕新发布。同时&#xff0c;博睿数据AIOps首席专家兼产品总监贺安辉携核心产品新一代一体化智能可观测平台 Bonree ONE 亮相第二十二届 GOPS 全球运维大会深圳站。 Bonree ONE 2024 春季版产品重点升级数据采集、…

7-30 字符串的冒泡排序

题目链接&#xff1a;7-30 字符串的冒泡排序 一. 题目 1. 题目 2. 输入输出样例 3. 限制 二、代码 1. 代码实现 #include <stdio.h> #include <string.h> #include <stdlib.h>// 获取输入的字符串 char **arrayGet(int len) {char **array;array malloc…

单链表实现通讯录

不过多赘述了 顺序表的增删查改-CSDN博客https://blog.csdn.net/bkmoo/article/details/137566495?spm1001.2014.3001.5502 使用顺序表实现通讯录-CSDN博客https://blog.csdn.net/bkmoo/article/details/137676561?spm1001.2014.3001.5502这里没有使用文件操作只是简单的使…

施耐德EOCR-DS3-60S电机保护器 5-60A 24-240VAC/DC

三和EOCR株式会社是韩国的电动机保护器生产企业&#xff0c;公司由金仁锡博士&#xff08;施耐德电气集团韩国执行官&#xff09;于1981年建立。 2001年&#xff0c;为了把企业发展成性的、战略性企业&#xff0c;随后加入了法国施耐德电气集团公司。 EOCR主要产品有电子式电…

没有文件服务器,头像存哪里合适

没有文件服务器&#xff0c;头像存哪里合适 1. 背景 之前有同学私信我说&#xff0c;他的项目只是想存个头像&#xff0c;没有别的文件存储需求&#xff0c;不想去用什么Fastdfs之类的方案搭建文件服务器&#xff0c;有没有更简单且无需后期维护的方案&#xff0c;我喝了一口…

MP2110A Anritsu 安立 采样示波器 眼图设备 简述

MP2110A是一款集成了误码率测试仪&#xff08;BERT&#xff09;和采样示波器的一体化测量仪器&#xff0c;主要用于光学模块的误码率&#xff08;BER&#xff09;测量、眼图分析等评估操作。它支持从10G到800G的光学模块制造过程中的检测分91522。MP2110A内置4通道采样示波器&a…

【InternLM实战营---第七节课笔记】

一、本期课程内容概述 本节课的主讲老师是【曹茂松、刘卓鑫】。教学内容主要包括以下三个部分&#xff1a; 1.大模型评测的背景 2.大模型评测工具OpenCompass的介绍 3.OpenCompass实战 二、学习收获 为什么要研究大模型的评测&#xff1f; 首先&#xff0c;研究评测对于我们全…

Spring Boot框架强大的事件驱动模型(ApplicationEvent)

文章目录 前言应用场景异步处理事务边界外的操作跨微服务通信系统监控与日志聚合UI更新生命周期管理工作流或业务流程缓存同步 小试牛刀定义事件实现事件处理器注册事件处理器发布事件测试事件 写在最后 前言 在Spring Boot应用中&#xff0c;事件处理器是指那些处理特定类型事…

SCP收容物121~130

注 &#xff1a;此文接SCP简介以及116~120的介绍,本文只供开玩笑 ,与steve_gqq_MC合作。 --------------------------------------------------------------------------------------------------------------------------------- 目录 scp-121 scp-122 scp-123 scp-124 …

webpack面试题(持续汇总ing。。。)

webpack的编译过程 初始化 此阶段&#xff0c;webpack会将CLI参数、配置文件、默认配置进行融合&#xff0c;形成一个最终的配置对象。对配置的处理过程是依托一个第三方库 yargs 完成的。此阶段相对比较简单&#xff0c;主要是为接下来的编译阶段做必要的准备目前&#xff0c;…

IDEA左右两侧的Project,Structure,Maven等按钮消失

目录 问题描述解决方法 问题描述 学习的时候 左右两侧没有这些按钮感觉切换很不方便 之前每次加载MAVEN都要在View里手动把他点出来 解决方法 选择File-Settings