Nginx手动编译、安装超超详解

文章目录

  • 一、为什么要手动编译Nginx
  • 二、下载Nginx
    • 1、官网
    • 2、下载至linux服务器
    • 3、源码目录分析
    • 4、编译安装
    • 5、安装目录
  • 三、启动
    • 1、启动
    • 2、访问一下80端口

一、为什么要手动编译Nginx

Nginx安装除了编译以外,我们还可以直接用操作系统上自带的工具比如说yum、apt-get直接安装。

但是直接安装Nginx二进制文件有一个问题:Nginx二进制文件会把模块直接编译进来,Nginx官方模块并不是每一个都会默认开启,如果想要添加第三方Nginx模块,必须通过编译Nginx才能把第三方强大生态圈中的功能添加到Nginx中。

二、下载Nginx

1、官网

http://nginx.org/

找到右下角的download:
在这里插入图片描述
在这里插入图片描述
我们复制链接地址,到linux服务器中。
在这里插入图片描述

2、下载至linux服务器

# 下载
wget http://nginx.org/download/nginx-1.24.0.tar.gz
# 解压
tar -zxvf nginx-1.24.0.tar.gz
# 进入到源码目录
cd nginx-1.24.0/

3、源码目录分析

在这里插入图片描述

  • auto目录:主要包含用于编译的核心功能、lib库以及辅助config配置文件的核心功能。
  • CHANGES文件:包含nginx每一个版本中提供的特性及bug-fix。
  • CHANGES.ru文件:俄罗斯版本的change文件。
  • conf目录:该目录中包含示例配置文件。
  • configure脚本:该脚本用于生成中间文件,执行编译前的一个必备动作。
  • contrib目录:提供vim工具,使用vim可以高亮显示conf配置文件(需要手动拷贝:cp -r contrib/vim/* ~/.vim
  • html目录:提供了两个html文件,一个是首页一个是50x错误。
  • man目录:帮助文件。
  • src目录:源代码。

4、编译安装

# 查看configure 支持的参数,其中包含指定某些路径、开启某些模块、编译中特殊参数
#./configure --help | more# 安装nginx必备依赖库
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 进行编译,指定安装目录,没什么报错就是编译成功
./configure --prefix=/nginx

在这里插入图片描述
configure命令执行完之后,会生成一些中间文件,存放在objs目录下:
在这里插入图片描述
其中,ngx_modules.c文件中,决定了我们在执行编译时,哪些模块会编译进nginx。

# 在nginx根目录进行编译(configure所在的目录)
make

此时又生成了大量的中间文件,以及执行的nginx二进制文件(在objs目录下):
在这里插入图片描述

# 安装(configure所在的目录)
make install

5、安装目录

在这里插入图片描述

  • conf目录包含配置文件
  • sbin目录包含二进制可执行文件
  • logs目录包含日志文件
  • html包含html文件

三、启动

1、启动

# 进入到sbin目录
cd /nginx/sbin
# 启动
./nginx

2、访问一下80端口

打开默认的index页面!
在这里插入图片描述

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

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

相关文章

java框架-Spring-事务

配置 配置事务管理器方法: Beanpublic PlatformTransactionManager platformTransactionManager(){return new DataSourceTransactionManager();}原理

Vue模板语法(下)

文章目录 一、事件处理1.1 监听事件​1.2 事件修饰符1.3 按键修饰符​1.4 实例 二、表单综合案例三、自定义组件 一、事件处理 1.1 监听事件​ 我们可以使用 v-on 指令 (简写为 ) 来监听 DOM 事件,并在事件触发时执行对应的 JavaScript。用法:v-on:cli…

第一次作业题解

第一次作业题解 P5717 【深基3.习8】三角形分类 思路 考的是if()的使用,还要给三条边判断大小 判断优先级&#xff1a; 三角形&#xff1f;直角、钝角、锐角等腰等边 判断按题给顺序来 代码 #include <stdio.h> int main() {int a 0, b 0, c 0, x 0, y 0, z 0…

智慧公厕云管理平台:筑牢云上“城市公共厕所一张网”

在现代城市中&#xff0c;公共厕所是人们日常生活中不可或缺的一部分。然而&#xff0c;过去的公共厕所管理方式往往效率低下&#xff0c;维护困难&#xff0c;给市民带来了不便。为了解决这一问题&#xff0c;智慧公厕应运而生&#xff0c;赋予传统公共厕所智慧化的管理效能。…

D. A Simple Task

Problem - D - Codeforces 思路&#xff1a;这个题就是求环的数量&#xff0c;通过数据范围的大小&#xff0c;我们可以想到用状压dp来做&#xff0c;因为只有19个点&#xff0c;我们可以将环的路径进行状态压缩&#xff0c;用一个二进制数表示环&#xff0c;当某一位为1时表示…

qt+ffmpeg视频播放器实现音视频倍速功能

目录 一、前言 二、开发环境参考源码 开发环境&#xff1a; 参考源码&#xff1a; 三、添加倍速控件 四、倍速调节代码 五、视频倍速调节 六、音频倍速方案一 七、音频倍速方案二 八、最终效果 九、参考文献 十、结语 一、前言 参考了云天之巅的FFMPEG Qt视频播放器…

蓝桥杯每日一题2023.9.22

4960. 子串简写 - AcWing题库 题目描述 题目分析 原本为纯暴力但是发现会超时&#xff0c;可以加入前缀和&#xff0c;从前往后先记录一下每个位置c1出现的次数 再从前往后扫一遍&#xff0c;如果遇到c2就将答案加上此位置前的所有c1的个数&#xff08;直接加上此位置的前缀…

csdn未经允许将我的文章设置成vip收费

以前在csdn写了一些笔记&#xff0c;后来不用csdn了&#xff0c;想着留下这些笔记或多或少能帮助其他初学者&#xff0c;就没管它。结果csdn把文章设置成收费了&#xff0c;这个收费不是我本人弄的&#xff0c;是csdn弄的&#xff01;我现在只能把这些文章删除掉了。

FPGA设计时序约束二、输入延时与输出延时

目录 一、背景 二、set_input_delay 2.1 set_input_delay含义 2.2 set_input_delay参数说明 2.3 使用样例 三、set_output_delay 3.1 set_output_delay含义 3.2 set_output_delay参数说明 3.3 使用样例 四、样例工程 4.1 工程代码 4.2 时序报告 五、参考资料 一、…

SpringCloud Alibaba 入门到精通 - Sentinel

SpringCloud Alibaba 入门到精通 - Sentinel 一、基础结构搭建1.父工程创建2.子工程创建 二、Sentinel的整合SpringCloud1.微服务可能存在的问题2.SpringCloud集成Sentinel搭建Dashboard3 SpringCloud 整合Sentinel 三、服务降级1 服务降级-Sentinel2 Sentinel 整合 OpenFeign3…

SW利用点光源来校核

先要建立坐标系&#xff0c;然后查这个坐标系的绝对坐标 然后删除其他光源&#xff0c;把环境光源降低最小 最后添加点光源&#xff0c;位置在之前查的坐标点

【密评】商用密码应用安全性评估从业人员考核题库(一)

商用密码应用安全性评估从业人员考核题库&#xff08;一&#xff09; 国密局给的参考题库5000道只是基础题&#xff0c;后续更新完5000还会继续更其他高质量题库&#xff0c;持续学习&#xff0c;共同进步。 1 单项选择题 党的二十大主题是&#xff1a;高举中国特色社会主义伟…

modbusTCP【codesys】

1添加控制器【控制器】&#xff1a; 右击左侧树型菜单【Device】→选择【添加设备】&#xff0c;在弹出对话框中下拉选择【以太网适配器】下的【Ethernet】&#xff0c;最后点击【添加设备】。 注意固件能支持的版本。我的是3.5.17 2添加主站【主站】 2添加从站【从站】 双…

OpenAI ChatGPT API 文档之 Embedding

译者注&#xff1a; Embedding 直接翻译为嵌入似乎不太恰当&#xff0c;于是问了一下 ChatGPT&#xff0c;它的回复如下&#xff1a; 在自然语言处理和机器学习领域&#xff0c;"embeddings" 是指将单词、短语或文本转换成连续向量空间的过程。这个向量空间通常被称…

目标追踪学习经验总结

标题目标追踪算法学习经验总结   最近对目标追踪算法进行了学习&#xff0c;以下是我的学习经验&#xff0c;如有不对之处&#xff0c;欢迎大家指正。 1、简介 1.1 定义 目标跟踪是通过分析视频图片序列&#xff0c;对检测出的各个候选目标区域实施匹配&#xff0c;定位出这…

【面试八股】IP协议八股

IP协议八股 子网掩码的作用为什么IP协议需要分片IP协议什么时候需要分片IP协议是怎么进行分片的那么IP协议是如果进行标识属于同一个分片呢&#xff1f;TCP协议和UDP协议将数据交给IP协议之后&#xff0c;是否需要分片传输&#xff1f; 子网掩码的作用 用来标识网络号和主机号…

029-从零搭建微服务-消息队列(一)

写在最前 如果这个项目让你有所收获&#xff0c;记得 Star 关注哦&#xff0c;这对我是非常不错的鼓励与支持。 源码地址&#xff08;后端&#xff09;&#xff1a;mingyue: &#x1f389; 基于 Spring Boot、Spring Cloud & Alibaba 的分布式微服务架构基础服务中心 源…

Java基础常考知识点(基础、集合、异常、JVM)

作者&#xff1a;逍遥Sean 简介&#xff1a;一个主修Java的Web网站\游戏服务器后端开发者 主页&#xff1a;https://blog.csdn.net/Ureliable 觉得博主文章不错的话&#xff0c;可以三连支持一下~ 如有需要我的支持&#xff0c;请私信或评论留言&#xff01; Java基础常考知识点…

笔记本摄像头怎么打开?记牢这5个简单方法!

“我有一个紧急视频会议&#xff0c;但是关键时刻我的笔记本电脑摄像头居然打不开了&#xff0c;真的让我很崩溃。有什么方法可以快速解决这个问题吗&#xff1f;非常感谢&#xff01;” 在互联网时代&#xff0c;电脑对我们来说非常重要。而借助电脑摄像头与朋友交流或者与同事…

601-体育馆的人流量

文章目录 601-体育馆的人流量1. 题目2. 思路3. 解决4. 运行结果 601-体育馆的人流量 1. 题目 2. 思路 思路&#xff1a;查询Stadium表中人流量超过100的记录&#xff0c;将查询结果与自身的临时表连接&#xff0c;再使用where获得满足条件的记录 查询Stadium表中人流量超过10…