前言

简单编译一下nginx。

正文

为什么我们要去编译nginx。

  1. 系统安装,比如yum安装,会把nginx 模块直接编译进来。

这意味着,我们无法使用第三方的包。如果我们需要使用第三方包,那么需要编译出来。

第一步需要下载出nginx 包:

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

第二步进行解压:

tar -xzf nginx-1.14.2.tar.gz

介绍一下里面的目录结构:

第一个是auto 目录:

cc 是用于编译的。

lib 就是使用的库

os 选择不同的操作系统

其他的都是根据option 不同的选项然后做出不同的选择。

这个就是对项目的介绍了。

conf 就是配置了

configure 编译中间文件的程序

contrib 一些高亮辅助的东西,比如vim的高亮

cp -r contrib/vim/* ~/.vim/

这样就有高亮了。

然后这个html就是静态文件了。

这个man不用多少了,就是man 帮助。

src 自然就是原代码了。

开始编译:

第一类配置:

就是安装到什么地方,如果没有指定,那么会在--prefix 之下。

这个选择用户和组了。

第三类就是使用什么模块了:

默认不会编译进去的。

这个带without 就是默认编译进去。

下面这一类就是编译时候的资源选择了:

然后进行编译:

./configure  --prefix=/home/test/nginx

然后你编译的时候可能会发现:

c compiler cc is not found

那么你需要这样:

yum -y install gcc-c++

安装完,重新编译一下:

可以看到一些中间文件:

其中ngx_modules.c 就是将要安装的模块。

然后执行make,就会看到nginx二进制了:

然后使用make install 进行安装:

然后介绍一下这些文件:

  1. conf 就是nginx 配置文件

  2. html 静态文件

  3. logs 日志

  4. sbin 那么就是这个二进制文件了,这就是自己编译安装。

后面如果需要新的模块,那么就需要替换这个nginx了。

大概是这样了,下一节热部署和日志切割。

nginx重新整理——————编译nginx[二]的更多相关文章

  1. 转载:Centos7 从零编译Nginx+PHP+MySql 二

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  2. 用lua扩展你的Nginx(整理)-----openresty

    用lua扩展你的Nginx(整理) 首先得声明.这不是我的原创,是在网上搜索到的一篇文章,原著是谁也搞不清楚了.按风格应该是属于章亦春的文章. 整理花了不少时间,所以就暂写成原创吧. 一. 概述 Ng ...

  3. 用lua扩展你的Nginx(整理)

    首先得声明.这不是我的原创,是在网上搜索到的一篇文章,原著是谁也搞不清楚了.按风格应该是属于章亦春的文章. 整理花了不少时间,所以就暂写成原创吧. 一. 概述 Nginx是一个高性能.支持高并发的,轻 ...

  4. [转帖]nginx基础整理

    nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...

  5. 转载:Centos7 从零编译Nginx+PHP+MySql 序言 一

    这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先的一些 ...

  6. [原创]Centos7 从零编译Nginx+PHP+MySql

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  7. Nginx基础整理

    目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Nginx的主要企业功能 Nginx作为web服务器的主要应用场景包括: Nginx的安装 安装环境 快速安装命令集合 各个 ...

  8. Nginx 之一:编译安装nginx 1.8.1 及配置

    一:基介绍 官网地址www.nginx.org,nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始,第一次公开发布时间 ...

  9. Nginx服务及编译安装

    第1章 Nginx 1.1 nginx的概念 Nginx("engine x")是一个开源的.支持高性能.高并发的WWW服务和代理服务软件,具有高开发(特别是静态资源),占用系统资 ...

  10. Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)

    一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...

随机推荐

  1. SpringCloud zookeeper和consul 的介绍和基本搭建

    1. Spring Cloud 集成 zookeeper Spring Cloud 集成了 zookeeper ,通过一些简单的注释,就可以快速注册到zookeeper 服务中 并且支持Spring ...

  2. Java 对属性赋值的位置 执行的先后顺序

    1 package com.bytezreo.block; 2 3 /** 4 * 5 * @Description 对属性赋值的位置: 6 * @author Bytezero·zhenglei! ...

  3. GitHub访问地址映射更新的时候刷新DNS

    1.windows系统 上设置地址映射 Window系统本地可以安装 Git Bash 方便本地管理仓,或下载Git 上的代码,在访问Git的时候经常出现Git访问主页加载不了等问题.需要设置在本地设 ...

  4. [VueJsDev] 日志 - nginxConfig 配置文件备份

    [VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html nginxConfig 配置文件备份 ::: details ...

  5. PowerShell alias - cmd中设置别名 快捷的执行命令

    Step. 1: 发现需求 最近学nest.js发现,都是用命令创建工程文件,然后教程里面都是用的快捷命令 比如 pd = pnpm run dev pb = pnpm run build 但是我这里 ...

  6. 用python进行二进制bin文件合并

    一 基本概念 bin文件合并是嵌入式中常用的,这里给一个实例. 二  实例分析 import os import argparse import hashlib offset1 = 0x0010000 ...

  7. FFmpeg命令行之 Unknown encoder ‘libx264‘

    在执行下面命令进行摄像头采集时,会报错 Unknown encoder 'libx264' ffmpeg -f dshow -i video="C1E Camera" -vcode ...

  8. [503. 下一个更大元素 II] 单调栈

    import java.util.ArrayDeque; import java.util.Deque; class Solution { public static void main(String ...

  9. Spring Boot学习日记7

    学会了配置spring boot 导入各种组件 SpringBoot在启动的时候,从类路径下/META-INF/spring.factories获取指定的值 将这些自动配置的类导入容器,自动配置类就会 ...

  10. CSS(相对定位relative、绝对定位absolute、固定定位fixed、定位应用、元素的显示和隐藏)

    一. 定位(position) 介绍 1.1 为什么使用定位 我们先来看一个效果,同时思考一下用标准流或浮动能否实现类似的效果? 场景1: 某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子. ...