安装 Nginx 的三种方式

通过 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://xiahunao.cn/news/2982179.html

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

相关文章

电力调度自动化系统由什么构成?

电力调度自动化系统由什么构成&#xff1f; 电力调度自动化系统通过数据采集与传输、数据处理与存储、监视与控制、优化与决策、通信网络和系统应用软件等构成&#xff0c;实现对电力系统的监控、控制和优化。 电力调度自动化系统是一种集成了计算机技术、通信技术、自动化技术…

上位机图像处理和嵌入式模块部署(树莓派4b开机启动脚本)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 编写好程序之后&#xff0c;一般要求程序开机启动后就可以运行。所以这个时候&#xff0c;我们一般就会把程序流程放在开发板的启动脚本当中。如果…

Ubuntu系统开机长

Ubuntu系统开机长 1. 检查开机自启动软件的所占时间2. 将耗时最高的禁止开机自启动 1. 检查开机自启动软件的所占时间 systemd-analyze blame2. 将耗时最高的禁止开机自启动 sudo systemctl disable networking.service这个耗时是有阈值的&#xff0c;一般大于15s的算&#x…

k8s-pod 控制器

文章目录 k8s-pod 控制器无状态服务与有状态服务无状态服务pod 控制器ReplicationController(RC)ReplicaSet(RS)Label 和 Selector Deployment创建滚动更新回滚版本扩容/缩容暂停和恢复 StatefulSet创建扩容/缩容更新RollingUpdate->金丝雀发布OnDelete 删除 DaemonSet节点选…

JumpServer 堡垒机架构

需求背景&#xff1a; 最近由于项目审计需要&#xff0c;要求企业加固应用和系统&#xff0c;顺便加固一些日常使用的软件和系统&#xff0c;远程接入访问安全问题。 需求目的&#xff1a; 部署实施&#xff1a; 1、系统安装 安装执行 curl -sSL https://resource.fit2clou…

Spring 注解开发详解

1. 注解驱动入门案例介绍 1.1 需求描述 1.需求&#xff1a;实现保存一条数据到数据库。 2.表结构&#xff1a;create table account(id int primary key auto_increment,name varchar(50),money double(7,2)); 3.要求&#xff1a;使用spring框架中的JdbcTemplate和DriverMana…

问题记录:交换两行printf -打印结果不同

环境 os: windows IDE: iar toolchain&#xff1a;iar9.32 board: STM32F429 问题描述 同一个float变量&#xff0c;用两行printf打印&#xff0c;先%d打出来&#xff0c;再%.3f打出来&#xff0c;前者输出32&#xff08;正确&#xff09;&#xff0c;后者打出来是0.000。顺…

贝叶斯网络(概念、应用、实例)

目录 一、贝叶斯网络基本概念 1.1主要组成 1.2概率模型 1.3应用场景 1.4推理方法 1.5学习 二、贝叶斯网络在机器学习中的应用 三、应用实例 3.1分类 3.2推荐系统 3.3自然语言处理 一、贝叶斯网络基本概念 贝叶斯网络&#xff0c;也称为信念网络或有向无环图模型&am…

微信小程序开发六(自定义组件)

自定义组件的创建&#xff1a; 如何创建&#xff1a; 右键选择新建component 创建完成之后需要打开app.json&#xff0c;这是全局使用这个组件&#xff0c;想要单独的页面使用&#xff0c;就在当前页面的json文件中定义 "usingComponents": {"my-zj": &quo…

电子邮件免费版有哪些?免费注册电子邮箱

电子邮件有付费版和免费版两种类型&#xff0c;付费版通常具有更大的电子邮箱容量和更强大的电子邮箱功能。但是对于我们个人用户或者是中小型企业来说注册电子邮箱免费版的就够日常使用了。电子邮件的免费版提供商有Zoho Mail、微软、腾讯等&#xff0c;今天我们就来具体了解下…

电子温度计不准需要怎么处理?

电子温度计不准需要怎么处理&#xff1f; 首选将温度计完全浸入温度为0℃左右的水中&#xff0c;使温度计指示值与0℃相等&#xff0c;拿出测量待测物的温度。其次将温度计完全浸入温度为100℃左右的水中&#xff0c;使温度计指示值与100℃相等&#xff0c;拿出测量待测物的温…

丙级资质升级乙级实操:河南灌溉排涝项目所需材料清单

丙级资质升级乙级实操&#xff1a;河南灌溉排涝项目所需材料清单 在河南灌溉排涝项目中&#xff0c;从丙级资质升级到乙级资质是一个重要且复杂的过程。为了成功完成这一过程&#xff0c;需要准备一系列详尽且符合规定的材料。以下是针对此实操所需的关键材料清单&#xff1a;…

产品推荐 | 基于Intel (Altera) Cyclone IV 打造的水星Mercury CA1核心板

01 产品概述 水星Mercury CA1核心板结合了Intel Cyclone IV FPGA、通用接口如USB 2.0和Gigabit Ethernet&#xff0c;具备大量的LVDS I/O、大容量DDR2 SDRAM和大量硬件乘法器&#xff0c;这些使得水星CA1核心板非常适合数字信号处理、网络、高速I/O以及使用Intel NiosII软处理…

Laravel 6 - 第六章 服务容器

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

OpenAI 笔记:chat API

聊天模型接受一系列消息作为输入&#xff0c;并返回模型生成的消息作为输出。 1 导入openai 的api key from openai import OpenAIclient OpenAI(api_key***) 2 调用聊天API completion client.chat.completions.create(model"gpt-3.5-turbo",messages[{"…

TypeScript 中 interface 和 type 的使用#记录

一、interface&#xff1a;接口 interface A{label: string; }const aa ((aObj: A) > {console.log(aObj.label);//123return aObj.label; })aa({label: 123}) 1、可选属性 interface A{label: string;age?: number; } 2、只读属性 interface A{label: string;age?:…

Go Sync并发包之errgroup

你是否写过一个函数&#xff0c;它之所以很长&#xff0c;是因为它要完成很多任务&#xff0c;即使这些任务之间并不相互依赖&#xff1f; 你是否写过一个很长的函数&#xff0c;因为它要完成很多任务&#xff0c;即使这些任务并不相互依赖&#xff1f;我就遇到过这种情况。 想…

BRC铭文NFT铸造质押挖矿系统开发运营

区块链技术的不断演进与应用拓展&#xff0c;为数字资产领域带来了更多可能性。BRC铭文NFT铸造质押挖矿系统的开发与运营&#xff0c;将为用户提供一种全新的数字资产体验&#xff0c;下文将介绍其版/需求方案/逻辑项目。 1. 系统概述 BRC铭文NFT铸造质押挖矿系统旨在结合区块…

数据库之数据库恢复技术思维导图+大纲笔记

大纲笔记&#xff1a; 事务的基本概念 事务 定义 用户定义的一个数据库操作系列&#xff0c;这些操作要么全做&#xff0c;要么全不做&#xff0c;是一个不可分割的基本单位 语句 BEGIN TRANSACTION 开始 COMMIT 提交&#xff0c;提交事务的所有操作 ROLLBACK 回滚&#xff0c…

电商技术揭秘三十一:智能风控与反欺诈技术

相关系列文章 电商技术揭秘相关系列文章合集&#xff08;1&#xff09; 电商技术揭秘相关系列文章合集&#xff08;2&#xff09; 电商技术揭秘二十八&#xff1a;安全与合规性保障 电商技术揭秘二十九&#xff1a;电商法律合规浅析 电商技术揭秘三十&#xff1a;知识产权保…