nginx源码编译安装(详解)
nginx编译安装
安装步骤:
官网下载合适的版本,建议选择稳定版本。
官网地址:https://nginx.org
wget https://nginx.org/download/nginx-1.20.1.tar.gz
解压后,进入源码目录
cd /opt
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
源码文件各目录解释
[root@localhost nginx-1.20.1]# ll
总用量 788
drwxr-xr-x 6 zdsoftro zdsoftro 326 10月 18 15:44 auto
-rw-r--r-- 1 zdsoftro zdsoftro 311503 5月 25 20:35 CHANGES
-rw-r--r-- 1 zdsoftro zdsoftro 475396 5月 25 20:35 CHANGES.ru
drwxr-xr-x 2 zdsoftro zdsoftro 168 10月 18 15:44 conf
-rwxr-xr-x 1 zdsoftro zdsoftro 2590 5月 25 20:35 configure
drwxr-xr-x 4 zdsoftro zdsoftro 72 10月 18 15:44 contrib
drwxr-xr-x 2 zdsoftro zdsoftro 40 10月 18 15:44 html
-rw-r--r-- 1 zdsoftro zdsoftro 1397 5月 25 20:35 LICENSE
drwxr-xr-x 2 zdsoftro zdsoftro 21 10月 18 15:44 man
-rw-r--r-- 1 zdsoftro zdsoftro 49 5月 25 20:35 README
drwxr-xr-x 9 zdsoftro zdsoftro 91 10月 18 15:44 src
auto目录:用于编译时的文件,以及相关lib库,编译时对对操作系统的判断等,都是为了辅助./configure命令执行的辅助文件。
CHANGES文件:就是当前版本的说明信息,比如新增的功能,修复的bug,变更的功能等
CHANGES.ru文件:作者时俄罗斯人,生产了一份俄罗斯语言的CHANGE文件
conf目录:是nginx编译安装后的默认配置文件,安装时会拷贝到安装的里面里面。
configure文件:编译安装前的预备执行文件
contrib目录:该目录是为了方便vim编码nginx的配置文件时候,颜色突出显示,可以将该目录拷贝到自己的~/.vim目录下面
cp -rf contrib/vim/* ~/.vim/
这样vim打开nginx配置文件就有突出的颜色显示。html目录:编译安装的默认的2个标准web页面,会拷贝到nginx的安装目录
man目录:nginx命令的帮助文档
src:nginx的源码文件
开始编译,执行./configure
备注:nginx使用yum源安装,可能导致业务上很多需要的功能模块没有开启,还是按需自己编译比较合适。
./configure --help
#查看./configure 支持哪些参数
我演示使用默认参数安装:
./configure --prefix=/home/zdsoft/nginx
没有报错代表安装完成。
./configure
执行完成后,会生成很多中间文件,放在objs目录下面在当前命令执行make命令
make
#没有报错代表执行成功备注:这个时候,如果是第一次安装,下一步可以执行
make install
命令,如果是升级,就不能执行install命令。这个时候,需要把objs目录下生成nginx二进制文件拷贝到原老版本的nginx目录下。
执行make install 安装命令
make执行完成后生成的中间件文件,都会放在objs/src目录下面
[root@localhost src]# ll
总用量 8
drwxr-xr-x 2 root root 4096 10月 18 17:15 core
drwxr-xr-x 3 root root 191 10月 18 17:15 event
drwxr-xr-x 4 root root 4096 10月 18 17:15 http
drwxr-xr-x 2 root root 6 10月 18 16:37 mail
drwxr-xr-x 2 root root 6 10月 18 16:37 misc
drwxr-xr-x 4 root root 31 10月 18 16:37 os
drwxr-xr-x 2 root root 6 10月 18 16:37 stream
[root@localhost src]# pwd
/opt/nginx-1.20.1/objs/src
[root@localhost src]#
安装完成,安装目录为:/home/zdsoft/nginx/
nginx -v #查看nginx版本
nginx -V #查看nginx编译参数,如果没有额外的参数,只会显示configure arguments: --prefix=/home/zdsoft/nginx
#这情况下,代表是默认安装,可以查看源码目录auto/options 文件。默认安装了哪些模块,哪些没有安装。
遇到的问题
./configure: error: the HTTP rewrite module requires the PCRE library.
解决:
yum -y install pcre-devel
./configure: error: the HTTP gzip module requires the zlib library.
解决:
yum install -y zlib-devel
nginx源码编译安装(详解)的更多相关文章
- linux http服务源码编译安装详解
相信大家大多都听过linux 的编译安装,但它到底是怎么把源代码变为自己电脑里可以应用的软件哪?今天,小编就以httpd 为例详细讲解一下. 什么是编译安装——编译:将源代码变为机器可执行的代码文件. ...
- apache源码编译安装详解
查看是否安装 rpm -qa httpd 如果已安装,则卸载:rpm -e 卸载 --nodeps 不考虑意外 下载 wget http://mirrors.sohu.c ...
- Nginx源码编译安装选项
[Nginx源码编译过程] make是用来编译的,它从Makefile中读取指令,然后编译. make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. configu ...
- centos 下nginx源码编译安装
1.下载nginx 进入nginx官网下载nginx的稳定版本,我下载的是1.10.3. 下载:wget http://nginx.org/download/nginx-1.10.3.tar.gz 解 ...
- QGIS源码编译步骤详解——官方新方案
目录 源码下载 环境下载 Cygwin64 OSGeo4W CMAKE Visual Studio 2017 环境配置 配置 编译 方案详细可见源码文件中INSTALL.md. 源码下载 QG ...
- nginx源码编译安装
安装编译所需的包: [root@xaiofan ~]# yum install -y gcc gcc-c++ autoconf automake 安装nginx使用某些功能需要的包: [root@xa ...
- 源码编译安装MySQL8.0.20
1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...
- Linux系统 - 源码编译安装Nginx
什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...
- Centos7通过yum跟源码编译安装Nginx
源码编译安装 http://nginx.org/en/download.html 到官网下载,然后用XFTP上传到root目录 把文件解压出来 tar -zxvf nginx-1.16.0.tar.g ...
随机推荐
- Data Leakage in Machine Learning 机器学习训练中的数据泄漏
refer to: https://www.kaggle.com/dansbecker/data-leakage There are two main types of leakage: Leaky ...
- (六)羽夏看C语言——函数
写在前面 由于此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇 ...
- 记一次 .NET 某新能源汽车锂电池检测程序 UI挂死分析
更多高质量干货:参见我的 GitHub: dotnetfly 一:背景 1. 讲故事 这世间事说来也奇怪,近两个月有三位朋友找到我,让我帮忙分析下他的程序hangon现象,这三个dump分别涉及: 医 ...
- Merchant
\(get\)二分新用法. 每道题都有答案范围提示,以前只是以为是用来提示用什么类型输出的. 从来没想过直接用它来二分. 这道题真的刷新了我的认知啊...... 整道题的复杂度是\ ...
- [考试总结]noip模拟43
这个题目出的还是很偷懒.... 第一题...第二题...第三题...四.... 好吧... 这几次考得都有些问题,似乎可能是有些疲惫,脑袋也是转不太动,考完总觉得自己是能力的问题,但是改一分钟之后会发 ...
- Intel® QAT加速卡之编程demo框架
QAT demo流程框架 示例一: 代码路径:qat1.5.l.1.13.0-19\quickassist\lookaside\access_layer\src\sample_code\functio ...
- C# List集合类常用操作:三、查找
List集合查询数据 List<Employees> employees = new List<Employees>(); employees.Add(new Employee ...
- 【Python学习】print语句
一.print 可以向屏幕上输出信息,print 后面一个空格再加上''中间放入要输出的内容. 二.print可以用逗号分隔语句,但是每有一个逗号就会出来一个空格. 1 >>> pr ...
- Elaticsearch倒排索引
ES倒排索引基本原理 索引(index)可以分为正序索引(Forward Indexes)和倒排索引(Inverted Index)两种.在关系型数据库中使用索引可以避免数据检索走全表扫描,将检索的时 ...
- 2. Go并发编程--GMP调度
目录 1. 前言 1.1 Goroutine 调度器的 GMP 模型的设计思想 1.2 GMP 模型 1.3. 有关M和P的个数问题 1.4 P 和 M 何时会被创建 2. 调度器的设计策略 3. g ...