安装依赖

<br\>
我们已经选择下载程序源代码进行手动编译,而不是使用软件包管理器(如Yum,Aptitude或Yast)进行安装。 这个选择有两个原因。 首先,软件包可能不包含在您的Linux发行版的存储库中。 此外,提供下载和安装Nginx的存储库经常包含比较旧的版本。 更重要的是,你可能需要配置各种各样的编译选项。 由于选择了手动编译,你的系统需要一些工具和库进行编译安装。
根据您在编译时选择的模块,您可能需要不同的依赖。 下面介绍最常见的依赖,如GCC,PCRE,zlib和OpenSSL。

The GNU Compiler Collection

Nginx是用C编写的程序,因此您首先需要在系统上安装一个编译器工具,如GNU编译器集合(GCC)。 GCC可能已经安装在您的系统上,如果没有,必须先安装它。
首先,通过运行以下命令确保系统上尚未安装GCC:
[alex@example.com ~]$ gcc
如果您得到以下输出,这意味着GCC已经正确安装在您的系统上了,您可以跳到下一部分:
gcc: no input files
如果收到以下消息,则必须继续安装编译器:
~bash: gcc: command not found
对于CentOS系统:

  1. [root@example.com ~]# yum groupinstall "Development Tools"

对于Ubuntu系统:

  1. [root@example.com ~]# apt-get install build-essentials

PCRE库

需要Perl兼容的正则表达式(PCRE)库来编译Nginx。 Nginx的Rewrite和HTTP核心模块使用PCRE作为其正则表达式的语法,在后面的章节中将会发现。 您将需要安装两个软件包:pcre和pcre-devel。 第一个包提供了编译版本的库,而第二个包提供了开发头文件和源文件来编译项目。
如果使用yum,运行以下命令安装:

  1. [root@example.com ~]# yum install pcre pcre-devel

如果使用apt-get,运行以下命令安装:

  1. [root@example.com ~]# apt-get install libpcre3 libpcre3-dev

zlib库

zlib库为开发人员提供了压缩算法。 在Nginx的各个模块中使用的gzip压缩功能需要zlib库。 同样,您可以使用您的包管理器来安装此组件,因为它默认存在于存储库中。 类似于PCRE,您将需要库及其源进行安装:zlib和zlib-devel。
如果使用yum,运行以下命令安装:

  1. [root@example.com ~]# yum install zlib zlib-devel

如果使用apt-get,运行以下命令安装:

  1. [root@example.com ~]# apt-get install zlib1g zlib1g-dev

OpenSSL

Nginx使用OpenSSL库来提供ssl连接。 因此,我们需要安装openssl库及其开发包。需要安装openssl和openssl-devel:
如果使用yum,运行以下命令安装:

  1. [root@example.com ~]# yum install openssl openssl-devel

如果使用apt-get,运行以下命令安装:

  1. [root@example.com ~]# apt-get install openssl openssl-dev

现在您已经安装了所有依赖条件,可以下载并编译Nginx源代码了。

下载Nginx

<br\>
一旦您选择了要使用的版本,请打开http://www.nginx.org并找到您要下载的文件的URL。并使用wget下载该文件:

  1. [alex@example.com ~]$ mkdir src && cd src
  2. [alex@example.com src]$ wget http://nginx.org/download/nginx-1.10.2.tar.gz
  3. [alex@example.com src]$ tar zxf nginx-1.10.2.tar.gz

您已成功下载并解压Nginx。 现在,下一步将是配置编译过程。

Nginx使用教程(一):下载并编译安装Nginx的更多相关文章

  1. 编译安装nginx并修改版本头信息—参考实例

    今天做实验的时候,想起我那台yum安装的nginx+php-fpm+mysql服务器上的nginx版本有点低了,并且还要加两个第3方模块,就去nginx官网下载了最新稳定版nginx-1.0.6,好了 ...

  2. Centos7 编译安装Nginx 教程

    相信经过上篇博文的学习,聪明的你已经学会了如何在Centos7 上通过yum 方式安装Nginx ,但是有时候有些场景或者特俗情况下,我们往往需要通过编译源码方式安装,以便于更灵活地定制我们的Ngin ...

  3. centos6 源码编译安装nginx 1.6 教程 nginx安装脚本

    操作系统centos 6.9 安装nginx需要pcre zlib openssl的库,下文都是在官网直接下载用作编译安装 该nginx安装教程,有安装maxmind IP 库 该教材有修改最大打开文 ...

  4. centos7 源码编译安装nginx教程 nginx安装脚本 lua-nginx-module

    安装nginx需要pcre zlib openssl的库,下文都是在官网直接下载用作编译安装 该nginx安装教程,有安装maxmind IP 库 该nginx安装教程有安装lua-nginx-mod ...

  5. centos系统编译安装nginx+php环境另加独立mysql教程

    以前看过的安装nginx+php环境都带了mysql数据库了,这个是因为很多站长都是nginx+php+mysql都在同一台服务器了,那么今天我们是单独处理了,一个是nginx+php环境,然后mys ...

  6. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  7. linux 编译安装nginx,配置自启动脚本

    本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...

  8. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Mariadb 10.1.20 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  9. CentOS7 编译安装 Nginx (实测 笔记 Centos 7.0 + nginx 1.6.2)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...

随机推荐

  1. 在centos和redhat上安装docker

    前置条件 64-bit 系统 kernel 3.10+一.检查内核版本,返回的值大于3.10即可 $ uname -r 二.使用 sudo 或 root 权限的用户登入终端 三.卸载旧版本(如果安装过 ...

  2. 使用go语言编写IOS和Android程序

    go语言目前已可以用来开发android和ios手机app.相关资料: 1.IOS https://groups.google.com/forum/?utm_medium=email&utm_ ...

  3. Java设计模式学习记录-外观模式

    前言 这次要介绍的是外观模式(也称为门面模式),外观模式也属于结构型模式,其实外观模式还是非常好理解的,简单的来讲就是将多个复杂的业务封装成一个方法,在调用此方法时可以不必关系具体执行了哪些业务,而只 ...

  4. [LeetCode解题报告] 502. IPO

    题目描述 假设 LeetCode 即将开始其 IPO.为了以更高的价格将股票卖给风险投资公司,LeetCode希望在 IPO 之前开展一些项目以增加其资本. 由于资源有限,它只能在 IPO 之前完成最 ...

  5. C# 微信公众号开发--准备工作

    前言 最初打算熟悉下微信开发打算用node.js开发,结果底气不足先用C#开发,先踩了踩坑. 准备工作 微信公众平台开发者文档. 这个先多看几遍. 测试公众号,申请开通后会看到微信号,appID,ap ...

  6. 如何参与linux内核开发

    如何参与linux 内核开发   如果想评论或更新本文的内容,请直接联系原文档的维护者.如果你使用英文 交流有困难的话,也可以向中文版维护者求助.如果本翻译更新不及时或者翻 译存在问题,请联系中文版维 ...

  7. linux下如何批量杀JAVA进程或某个进程方法

    linux下如何批量杀JAVA进程或某个进程方法 在工作中经常需要停止JAVA进程,停止时间也比较长,那么有时候因为一些情况,需要把 linux 下JAVA所有进程 kill 掉,又不能用killal ...

  8. ios --指纹TouchID

    最近在做一套登录系统,包括指纹登录.手势登录以及账号密码登录,在此简单记录一下指纹的处理逻辑. 指纹处理: 1.处理iOS 9.0之后,指纹被锁不会自动弹出密码解锁的情况: 2.处理iOS 10.*系 ...

  9. cordova极光推送插件使用

    首先是在极光官网注册登录账号,然后创建推送应用,创建完应用之后,点击打开应用,设置应用的包名,保存: 然后回到应用主界面,看到AppKey,以及MasterSecret,这时候MasterSecret ...

  10. inheritPrototypeChain.js

    // 原型链 // 其基本思路是利用原型让一个引用类型继承另一个引用类型的属性和方法 function Person(){ this.name = "Person"; } Pers ...