nginx编译安装

安装步骤:

  1. 官网下载合适的版本,建议选择稳定版本。

    官网地址:https://nginx.org

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

  2. 解压后,进入源码目录

    cd /opt
    tar -zxvf nginx-1.20.1.tar.gz
    cd nginx-1.20.1
  3. 源码文件各目录解释

    [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的源码文件

  4. 开始编译,执行./configure

    备注:nginx使用yum源安装,可能导致业务上很多需要的功能模块没有开启,还是按需自己编译比较合适。

    ./configure --help #查看./configure 支持哪些参数

我演示使用默认参数安装:

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

没有报错代表安装完成。

  1. ./configure 执行完成后,会生成很多中间文件,放在objs目录下面

  2. 在当前命令执行make命令

    make #没有报错代表执行成功

    备注:这个时候,如果是第一次安装,下一步可以执行make install命令,如果是升级,就不能执行install命令。

    这个时候,需要把objs目录下生成nginx二进制文件拷贝到原老版本的nginx目录下

  3. 执行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]#
  4. 安装完成,安装目录为:/home/zdsoft/nginx/

    nginx -v  #查看nginx版本
    nginx -V #查看nginx编译参数,如果没有额外的参数,只会显示configure arguments: --prefix=/home/zdsoft/nginx
    #这情况下,代表是默认安装,可以查看源码目录auto/options 文件。默认安装了哪些模块,哪些没有安装。

遇到的问题

  1. ./configure: error: the HTTP rewrite module requires the PCRE library.

    解决:yum -y install pcre-devel

  2. ./configure: error: the HTTP gzip module requires the zlib library.

    解决:yum install -y zlib-devel

nginx源码编译安装(详解)的更多相关文章

  1. linux http服务源码编译安装详解

    相信大家大多都听过linux 的编译安装,但它到底是怎么把源代码变为自己电脑里可以应用的软件哪?今天,小编就以httpd 为例详细讲解一下. 什么是编译安装——编译:将源代码变为机器可执行的代码文件. ...

  2. apache源码编译安装详解

    查看是否安装 rpm -qa httpd        如果已安装,则卸载:rpm -e 卸载  --nodeps 不考虑意外        下载 wget http://mirrors.sohu.c ...

  3. Nginx源码编译安装选项

    [Nginx源码编译过程] make是用来编译的,它从Makefile中读取指令,然后编译. make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. configu ...

  4. centos 下nginx源码编译安装

    1.下载nginx 进入nginx官网下载nginx的稳定版本,我下载的是1.10.3. 下载:wget http://nginx.org/download/nginx-1.10.3.tar.gz 解 ...

  5. QGIS源码编译步骤详解——官方新方案

    目录 源码下载 环境下载 Cygwin64 OSGeo4W CMAKE Visual Studio 2017 环境配置 配置 编译   方案详细可见源码文件中INSTALL.md. 源码下载   QG ...

  6. nginx源码编译安装

    安装编译所需的包: [root@xaiofan ~]# yum install -y gcc gcc-c++ autoconf automake 安装nginx使用某些功能需要的包: [root@xa ...

  7. 源码编译安装MySQL8.0.20

    1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...

  8. Linux系统 - 源码编译安装Nginx

    什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...

  9. Centos7通过yum跟源码编译安装Nginx

    源码编译安装 http://nginx.org/en/download.html 到官网下载,然后用XFTP上传到root目录 把文件解压出来 tar -zxvf nginx-1.16.0.tar.g ...

随机推荐

  1. MySQL的几种锁机制的使用介绍

    锁 在日常的开发过程中,为了控制线程的并发肯定会用到锁机制.对于数据库而言,锁机制就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则.当然MySQL也不例外,根据不同 ...

  2. GitHub+JSDelivr+PicGo+Typora免费白嫖高速稳定图床

    0. 初衷1. 创建 GitHub 仓库2. 使用 jsDelivr 进行 CDN 加速3. 使用PicGo上传图片4. Typora 配置 PicGo 上传 0. 初衷 平时写文章,经常需要插入图片 ...

  3. 设置 ajax 同步获取数据

    问题 在处理DataTable的render进行列表渲染的时候发现通过ajax发送请求,返回的值并不正确. {"data":"id","render& ...

  4. 服务器安装CentOS7.9系统(U盘启动方式)

    一.安装环境 机房的华为GPU服务器,型号G2500,8张P4显卡,需要安装最小化的CentOS7.9操作系统,利用U盘启动的方式进行安装. 二.安装说明 虽然本环境是GPU服务器,但是安装方式同样适 ...

  5. docker-compose up -d nginx 报错

    在阿里云ECS上创建nginx容器时,报错如上图. The solution: In your Dockerfile, before running any apt commands, add the ...

  6. python库--pandas--Series.str--字符串处理

    原数据 import pandas as pd a = pd.Series(['aSd', 'asd', 'dfd fsAsf sfs']) b = pd.Series([None, 'asd', ' ...

  7. shell脚本之循环语句 for-while-until

    目录: 一.for循环语句 二.while循环语句 三.unti循环语句   一.for循环语句 读取不同的变量值,用来逐个执行同一组命令 举例 批量添加用户◆ 用户名存放在users.txt文件中, ...

  8. ms sql 带自增列 带外键约束 数据导入导出

    1,生成建表脚本 选中要导的表,点右键-编写表脚本为-create到  ,生成建表脚本 2,建表(在新库),但不建外键关系 不要选中生成外键的那部分代码,只选择建表的代码 3,导数据,用SQL STU ...

  9. python中的getpass模块问题,在pycharm中不能继续输入密码

    python中getpass模块   在pycharm中运行下面的代码: 1 import getpass 2 name = input('请输入你的名字:') 3 passwd = getpass. ...

  10. sed 找出含有某个字符串的行 注释掉

    1.源文件例子 [root@node1 ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Mon Mar 1 18:32:15 20 ...