安装 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://www.mfbz.cn/a/573153.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

4.8 海思SS928开发 - uboot开发 - 自定义启动以及分区方案验证

4.8 uboot开发 - 自定义启动以及分区方案验证 上文中自定义了分区方案以及启动方案。但还没有验证过能不能用&#xff0c;这里验证一下。 制作镜像 步骤如下&#xff1a; cd ~/hiss928/uboot/ss928_uboot_v2020.1/ source ~/hiss928/sdk/ss928_sdk_g7.3_k4.19/env_setup.sh .…

IntelliJ IDEA - 10 款 IDEA 宝贝插件,YYDS!

好久没发这种实用贴了&#xff0c;最近用到了一些能提升工作效率的IDEA插件&#xff0c;给小伙伴们分享一下。相信我&#xff0c;我分享的这些插件&#xff0c;都是实实在在能解决实际开发场景中痛处的。 1、POJO to JSON 开发工作中&#xff0c;常常在设计完API后&#xff0c…

汽车驾驶3D模拟仿真展示系统更立体直观

随着新能源汽车的普及&#xff0c;它已成为现代生活中不可或缺的交通工具。并且国产车的崛起&#xff0c;其设计与零部件制造水平已能与合资车相媲美&#xff0c;因此汽车维修技能的学习变得尤为重要。汽车维修3D仿真教学软件应运而生&#xff0c;为广大学员提供了一个直观、高…

C语言 | Leetcode C语言题解之第47题全排列II

题目&#xff1a; 题解&#xff1a; int* vis;void backtrack(int* nums, int numSize, int** ans, int* ansSize, int idx, int* perm) {if (idx numSize) {int* tmp malloc(sizeof(int) * numSize);memcpy(tmp, perm, sizeof(int) * numSize);ans[(*ansSize)] tmp;return…

什么是重放攻击(Reply attack)?

什么是重放攻击(Reply attack)? 重放攻击&#xff0c;也称为回放攻击&#xff0c;是一种网络攻击方式。重放攻击是一种中间人攻击&#xff0c;攻击者通过截获合法的数据传输并重新发送它们来欺骗接收方&#xff0c;让接收方误以为是合法的消息。重放攻击是非常常见的&#xf…

ubuntu 复制文件路径

前言 我打算搞一个ubuntu右键复制文件路径的插件&#xff0c;但是找不到&#xff0c;只能平替 这个配置&#xff0c;可以把文件拖拽到cmd窗口&#xff0c;然后就直接cmd输出文件路径 配置 cd ~ vim .bashrc 在文件结尾添加 cdd () { ddirname "$1"; echo …

7-26 约瑟夫问题变形

编号为1…N的N个小朋友玩游戏&#xff0c;他们按编号顺时针围成一圈&#xff0c;按顺时针次序报数&#xff0c;从第1个人报到第M个人出列&#xff1b;然后再从下个人开始报到第M1个人出列&#xff1b;再从下一个人开始报到第M2个人出列……以此类推不断循环&#xff0c;直至最后…

vscode 如何断点调试ros1工程

在vscode中断点调试ros1工程主要分为以下几步&#xff1a; 1. 第一步就是修改cmakelist.txt&#xff0c;到调试模式。 将CMAKE_BUILD_TYPE原来对应的代码注释掉&#xff0c;原来的一般都不是调试模式。加上下面一行代码&#xff0c;意思是设置调试模式。 # 断点调试 SET(CMAK…

kafka集群安装

目录 1、zookeeper集群安装 2、kafka集群安装 2.1 集群规划 2.2、集群部署 2.3、集群启停脚本 kafka的管理需要借助zookeeper完成&#xff0c;所以要先安装好zookeeper集群。 1、zookeeper集群安装 1、集群规划 在node1、node2 和 node3 三个节点上都部署 Zookeeper。…

数据库并发控制思维导图+大纲笔记

思维导图 大纲笔记 多用户数据库系统 定义 允许多个用户同时使用的数据库系统特点 在同一时刻并发运行的事务数可达数百上千个多事务执行方式 事务串行执行交叉并发方式 单处理机系统同时并发方式 多处理机系统事务并发执行带来的问题 产生多个事务同时存取同一数据的情况可能…

哪吒汽车把最后的翻身筹码,全压在了这辆新车上

正如比亚迪王传福所说&#xff0c;新能源车市场已进入惨烈淘汰赛环节。 近几年国内新能源车销量增长势头迅猛&#xff0c;仅过去的 2023 年产销便分别达 958.7 万辆和 949.5 万辆&#xff0c;同比增长 35.8% 和 37.9%。 销量高速增长背后自然也带来了越来越激烈的竞争。 过去…

【学习】应急响应

知识体系 事件前 事件后 导致安全事件的原因 part2 事件的分级分类 part3 应急响应工作流程

TGRS 2023.11遥感预训练模型的再思考:基于实例感知的遥感场景分类视觉提示

提出了一种参数高效调优方法&#xff0c;称为实例感知视觉提示(IVP)。该方法基于RS图像复杂的背景和高度多变的特征&#xff0c;自适应生成提示信息&#xff0c;仅更新少量参数&#xff0c;将预训练好的RS模型转移到不同的场景分类任务中。具体来说&#xff0c;我们没有调整整个…

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

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

【数字图像处理笔记】Matlab实现离散傅立叶变换 (二)

&#x1f48c; 所属专栏&#xff1a;【数字图像处理笔记】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x…

自然资源调查监测评价系统:守护绿色地球的先锋

随着人类对自然资源的日益依赖&#xff0c;如何合理、可持续地利用这些资源成为了全球关注的焦点。自然资源调查监测评价系统&#xff0c;作为守护绿色地球的重要工具&#xff0c;正发挥着越来越重要的作用。本文将带您了解这一系统的内涵、功能及其在现代社会中的意义。一、自…

Linux内核驱动开发-字符设备驱动框架

1前置条件 &#xff08;1&#xff09;【linux】内核编译结束 &#xff08;2&#xff09;【linux】目录配置跳转文件&#xff1a;补充&#xff1a;配置的跳转文件只能在【linux】目录下使用&#xff0c;子目录无法使用2驱动框架 2.1编写驱动程序 #include <linux/init.h&g…

Lagent AgentLego 智能体应用搭建——笔记

Lagent & AgentLego 智能体应用搭建——笔记 一、智能体简介1.1、为什么要有智能体1.1.1、幻觉问题1.1.2、时效性1.1.3、可靠性 1.2、智能体的含义1.3、智能体的组成1.3.1、大脑1.3.2、感知1.3.3、动作 1.4、智能体范式1.4.1、AutoGPT1.4.2、Rewoo1.4.3、ReAct 二、Lagent …

账号安全及应用

一、账号安全控制 1.1系统账号清理 将用户设置为无法登陆 锁定账户 删除账户 设定账户密码&#xff0c;本质锁定 锁定配置文件-chattr&#xff1a; -a 让文件或目录仅供附加用途。只能追加 -i 不得任意更动文件或目录。 1.2密码安全控制 chage 1.3历史命令 history&am…

Unity 踩坑记录 Rigidbody 刚体重力失效

playerSetting > physics > Gravity > 设置 Y 的值为负数