一.环境介绍

nginx的版本功能相差不大,具体支持可以查看官网的功能列表

环境信息:

[nginx-server]
主机名:host-1
系统:centos-7.6
地址:1.1.1.1
软件:nginx-1.16.1

二.安装

1.安装依赖包

yum -y install gcc make pcre pcre-devel openssl openssl-devel zlib zlib-devel

解释:

gcc  编译器
make 用于编译文件
pcre 让nginx可以用正则表达式,rewrite模块,core模块
openssl 生成证书ssl模块
zlib gzip模块需要

2.下载源码包

wget http://nginx.org/download/nginx-1.16.1.tar.gz

3.解压

tar -zxvf nginx-1.16.1.tar.gz

4.创建服务自己用户,不用root

groupadd nginx

useradd -g nginx -s /sbin/nologin nginx

5.编译,具体注解在附录中

cd nginx-1.16.1

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_spdy_module --with-http_stub_status_module --with-pcre

make && make install

6.查看版本号

/usr/local/nginx/sbin/nginx -v

如果提示找不到命令not found,则创建软连接

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

三.使用验证

1.启动校验

nginx -t

如果提示找不到命令not found,则创建软连接

[root@nginx ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

2.启动

nginx

3.如下命令出现welcome nginx是正确的

curl http://127.0.0.1

四.附录

编译参数详解

每个版本所支持的参数有细微差别,具体使用help选项查看

./config --help

-–prefix=PATH #指向安装目录

-–sbin-path=PATH  #指向(执行)程序文件(nginx)

-–conf-path=PATH   #指向配置文件(nginx.conf)

-–error-log-path=PATH   #指向错误日志目录

-–pid-path=PATH  #指向pid 文件(nginx.pid)

-–lock-path=PATH  #指向 lock 文件(nginx.lock)(安装文件锁定,防止安装文件被别人利用,或自己误操作。)

-–user=USER  #指定程序运行时的非特权用户

-–group=GROUP  #指定程序运行时的非特权用户组

-–builddir=DIR #指向编译目录

-–with-rtsig_module  #启用 rtsig 模块支持(实时信号)

-–with-select_module  #启用 select 模块支持(一种轮询模式,不推荐在高载环境下使用)禁用: –withoutselect_module

-–with-poll_module  #启用 poll 模块支持(功能与 select 相同,与 select 特性相同,为一种轮询模式,不推荐在高载环境下使用)

-–with-file-aio  #启用 file aio 支持(一种 APL 文件传输格式)

-–with-ipv6   #启用 ipv6 支持

-–with-http_ssl_module #启用ngx_http_ssl_module 支持(使支持 https 请求,需已安装 openssl)

-–with-http_realip_module #启用 ngx_http_realip_module 支持(这个模块允许从请求标头更改客户端的 IP 地址值,默认为关)

-–with-http_addition_module #启用 ngx_http_addition_module 支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求)

-–with-http_xslt_module #启用 ngx_http_xslt_module 支持(过滤转换 XML 请求)

-–with-http_image_filter_module 启用 ngx_http_image_filter_module 支持(传输JPEG/GIF/PNG 图片的一个过滤器)(默认为不启用。 gd 库要用到)

-–with-http_geoip_module #启用 ngx_http_geoip_module 支持(该模块创建基于与 MaxMind GeoIP 二进制文件相配的客户端 IP 地址的 ngx_http_geoip_module 变量)

-–with-http_sub_module #启用 ngx_http_sub_module 支持(允许用一些其他文本替换 nginx 响应中的一些文本)

-–with-http_dav_module #启用 ngx_http_dav_module 支持(增加 PUT,DELETE,MKCOL:创建集合,COPY 和 MOVE 方法)默认情况下为关闭,需编译开启
-–with-http_flv_module # 启用 ngx_http_flv_module 支持(提供寻求内存使用基于时间的偏移量文件) -–with-http_gzip_static_module #启用 ngx_http_gzip_static_module 支持(在线实时压缩输出数据流) -–with-http_random_index_module #启用 ngx_http_random_index_module 支持(从目录中随机挑选一个目录索
引) -–with-http_secure_link_module #启用 ngx_http_secure_link_module 支持(计算和检查要求所需的安全链接网址) –with-http_degradation_module #启用 ngx_http_degradation_module 支持(允许在内存不足的情况下返回204 或 444 码) -–with-http_stub_status_module #启用 ngx_http_stub_status_module 支持(获取 nginx 自上次启动以来的工作状态) -–without-http_charset_module #禁用 ngx_http_charset_module 支持(重新编码 web 页面,但只能是一个方向服务器端到客户端,并且只有一个字节的编码可以被重新编码)
-–without-http_gzip_module #禁用 ngx_http_gzip_module 支持(该模块同-with-http_gzip_static_module 功能一样) -–without-http_ssi_module #禁用 ngx_http_ssi_module 支持(该模块提供了一个在输入端处理处理服务器包含文件(SSI)的过滤器,目前支持 SSI 命令的列表是不完整的) -–without-http_userid_module #禁用 ngx_http_userid_module 支持(该模块用来处理用来确定客户端后续请求的 cookies) -–without-http_access_module #禁用 ngx_http_access_module 支持(该模块提供了一个简单的基于主机的访问控制。允许/拒绝基于 ip 地址) -–without-http_auth_basic_module #禁用 ngx_http_auth_basic_module(该模块是可以使用用户名和密码基于http 基本认证方法来保护你的站点或其部分内容) -–without-http_autoindex_module #禁用 disable ngx_http_autoindex_module 支持(该模块用于自动生成目录列表,只在 ngx_http_index_module 模块未找到索引文件时发出请求。) -–without-http_geo_module #禁用 ngx_http_geo_module 支持(创建一些变量,其值依赖于客户端的 IP 地址) -–without-http_map_module # 禁用 ngx_http_map_module 支持(使用任意的键/值对设置配置变量) -–without-http_split_clients_module #禁用 ngx_http_split_clients_module 支持(该模块用来基于某些条件划分用户。条件如: ip 地址、报头、 cookies 等等) -–without-http_referer_module #禁用 disable ngx_http_referer_module 支持(该模块用来过滤请求,拒绝报头中 Referer 值不正确的请求) -–without-http_rewrite_module #禁用 ngx_http_rewrite_module 支持(该模块允许使用正则表达式改变 URI,并且根据变量来转向以及选择配置。如果在 server 级别设置该选项, 那么他们将在 location 之前生效。如果在location 还有更进一步的重写规则, location 部分的规则依然会被执行。如果这个 URI 重写是因为 location 部分的规则造成的,那么 location 部分会再次被执行作为新的 URI。 这个循环会执行 10 次,然后 Nginx 会返回一个 500 错误。) -–without-http_proxy_module #禁用 ngx_http_proxy_module 支持(有关代理服务器) -–without-http_fastcgi_module #禁用 ngx_http_fastcgi_module 支持(该模块允许 Nginx 与 FastCGI 进程交互,并通过传递参数来控制 FastCGI 进程工作。 ) FastCGI 一个常驻型的公共网关接口。 -–without-http_uwsgi_module #禁用 ngx_http_uwsgi_module 支持(该模块用来医用 uwsgi 协议, uWSGI 服务器相关) -–without-http_scgi_module #禁用 ngx_http_scgi_module 支持(该模块用来启用 SCGI 协议支持, SCGI 协议是CGI 协议的替代。它是一种应用程序与 HTTP 服务接口标准。它有些像 FastCGI 但他的设计 更容易实现。) -–without-http_memcached_module #禁用 ngx_http_memcached_module 支持(该模块用来提供简单的缓存,以提高系统效率)
--without-http_limit_zone_module #禁用 ngx_http_limit_zone_module 支持(该模块可以针对条件,进行会话的并发连接数控制) -–without-http_limit_req_module #禁用 ngx_http_limit_req_module 支持(该模块允许你对于一个地址进行请求数量的限制用一个给定的 session 或一个特定的事件) -–without-http_empty_gif_module #禁用 ngx_http_empty_gif_module 支持(该模块在内存中常驻了一个 1*1 的透明 GIF 图像,可以被非常快速的调用) -–without-http_browser_module #禁用 ngx_http_browser_module 支持(该模块用来创建依赖于请求报头的值。如果浏览器为 modern ,则$modern_browser 等于 modern_browser_value 指令分配的值;如 果浏览器为 old,则$ancient_browser 等于 ancient_browser_value 指令分配的值;如果浏览器为 MSIE 中的任意版本,则 $msie 等于 1) -–without-http_upstream_ip_hash_module #禁用 ngx_http_upstream_ip_hash_module 支持(该模块用于简单的负载均衡) -–with-http_perl_module #启用 ngx_http_perl_module 支持(该模块使 nginx 可以直接使用 perl 或通过 ssi 调用 perl) -–with-perl_modules_path= #设定 perl 模块路径 -–with-perl= #设定 perl 库文件路径 -–http-log-path= #设定 access log 路径 -–http-client-body-temp-path= #设定 http 客户端请求临时文件路径 -–http-proxy-temp-path= #设定 http 代理临时文件路径 -–http-fastcgi-temp-path= #设定 http fastcgi 临时文件路径 -–http-uwsgi-temp-path= #设定 http uwsgi 临时文件路径 -–http-scgi-temp-path= #设定 http scgi 临时文件路径 --without-http #禁用 http server 功能 -–without-http-cache #禁用 http cache 功能 -–with-mail #启用 POP3/IMAP4/SMTP 代理模块支持 -–with-mail_ssl_module #启用 ngx_mail_ssl_module 支持 -–without-mail_pop3_module #禁用 pop3 协议(POP3 即邮局协议的第 3 个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。是因特网电子邮件的第一个离线协议标 准,POP3 协议允许用户从服务器上把邮件存储到本地主机上,同时根据客户端的操作删除或保存在邮件服务器上的邮件。 POP3 协议是 TCP/IP 协议族中的一员,主要用于 支持使用客户端远程管理在服务器上的电子邮件)
-–without-mail_imap_module #禁用 imap 协议(一种邮件获取协议。它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。 IMAP 协议运行在 TCP/IP 协议之上, 使用的端口是 143。它与POP3 协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。) -–without-mail_smtp_module #禁用 smtp 协议(SMTP 即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 SMTP 协议属于 TCP/IP 协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。) -–with-google_perftools_module #启用 ngx_google_perftools_module 支持(调试用,剖析程序性能瓶颈)
-–with-cpp_test_module # 启用 ngx_cpp_test_module 支持 -–add-module= #启用外部模块支持 -–with-cc= #指向 C 编译器路径 -–with-cpp= #指向 C 预处理路径 -–with-cc-opt= #设置 C 编译器参数(PCRE 库,需要指定–with-cc-opt=” -I /usr/local/include”,如果使用select()函数则需要同时增加文件描述符数量,可以通过–with-cc- opt=” -D FD_SETSIZE=2048”指定。)
-–with-ld-opt= #设置连接文件参数。(PCRE 库,需要指定–with-ld-opt=” -L /usr/local/lib”。) -–with-cpu-opt= #指定编译的 CPU,可用的值为: pentium, pentiumpro, pentium3, pentium4, athlon,opteron, amd64, sparc32, sparc64, ppc64 -–without-pcre #禁用 pcre 库 -–with-pcre #启用 pcre 库 -–with-pcre= #指向 pcre 库文件目录 -–with-pcre-opt= #在编译时为 pcre 库设置附加参数 -–with-md5= #指向 md5 库文件目录(消息摘要算法第五版,用以提供消息的完整性保护) -–with-md5-opt= #在编译时为 md5 库设置附加参数 -–with-md5-asm #使用 md5 汇编源 -–with-sha1= #指向 sha1 库目录(数字签名算法,主要用于数字签名) -–with-sha1-opt= #在编译时为 sha1 库设置附加参数 -–with-sha1-asm #使用 sha1 汇编源 -–with-zlib= #指向 zlib 库目录 -–with-zlib-opt= #在编译时为 zlib 设置附加参数 -–with-zlib-asm= #为指定的 CPU 使用 zlib 汇编源进行优化, CPU 类型为 pentium, pentiumpro
-–with-libatomic #为原子内存的更新操作的实现提供一个架构 -–with-libatomic= #指向 libatomic_ops 安装目录 -–with-openssl= #指向 openssl 安装目录 -–with-openssl-opt #在编译时为 openssl 设置附加参数 -–with-debug #启用 debug 日志

centos7源码安装Nginx-1.6的更多相关文章

  1. CentOS7源码安装Nginx

    系统平台:腾讯云服务器 CentOS 7.3 64位 一.安装编译工具及库文件 [root@VM_0_5_centos ~]# yum install -y make zlib zlib-devel ...

  2. centos7 源码安装nginx

    1. 安装编译所需要的工具包 yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 2. 安装ngi ...

  3. 源码安装nginx env

    源码安装nginx 1. For ubuntu:18.04 apt -y install build-essential libtool libpcre3 libpcre3-dev zlib1g-de ...

  4. 源码安装nginx以及平滑升级

                                                           源码安装nginx以及平滑升级                               ...

  5. Linux之源码安装nginx,并按照作业一描述的那样去测试使用

    作业五:源码安装nginx,并按照作业一描述的那样去测试使用 [root@localhost nginx]# yum install gcc-* glibc-* openssl openssl-dev ...

  6. 源码安装Nginx以及用systemctl管理

    一.源码安装Nginx: 先安装gcc编译器(安装过的可以忽略) [root@localhost ~]# yum -y install gcc gcc-c++ wget 进入src目录 [root@l ...

  7. centos7源码安装Python3的前提条件

    centos7源码安装Python3的前提条件: # yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline- ...

  8. linux源码安装nginx

    任务目标:源码安装nginx,作为web服务修改配置文件,让配置生效,验证配置 首先要去官网nginx.org下载一个tar包: tar xvf 解包 进入到解包出来的目录,对configure进行配 ...

  9. 工作笔记-- 源码安装nginx

    源码安装nginx 1.安装nginx的依赖包 [root@localhost ~]# yum -y install gcc gcc-c++ openssl openssl-devel pcre pc ...

  10. 源码安装nginx 方法二

    yum 仓库不能用大写字母 [root@oldboy conf.d]# gzip * 压缩当前目录下的所有文件 gzip ./* gzip . gzip./ # 关闭防火墙和selinux [root ...

随机推荐

  1. Python-Unittest多线程执行用例

    前言 假设执行一条脚本(.py)用例一分钟,那么100个脚本需要100分钟,当你的用例达到一千条时需要1000分钟,也就是16个多小时... 那么如何并行运行多个.py的脚本,节省时间呢?这就用到多线 ...

  2. 微信小程序(二)

    创建项目: hello.wxml hello world 每个学习的开始 <view>hello world!</view> hello.js 像 app.js 一样 Page ...

  3. Java是“值传递”还是“引用传递”?

    本文是根据stackoverflow网站上的一道题目整理出来的. Java一直是"值传递"而不是引用传递.看一个例子: public class Main{ public stat ...

  4. [cf1240F]Football

    (事实上,总是可以让每一场都比,因此$w_{i}$并没有意义) 当$k=2$时,有如下做法-- 新建一个点,向所有奇度数的点连边,并对得到的图求欧拉回路,那么只需要将欧拉回路上的边交替染色,即可保证$ ...

  5. [loj6118]鬼牌

    枚举最终所有牌的大小$i$,对于最终所有牌大小都为$i$的情况,令其贡献为步数,否则令其贡献为0,记$F$为期望贡献(即所有情况概率*贡献之和),答案即为$\sum_{i=1}^{m}F$ 显然,$F ...

  6. 深度学习,机器学习神器,白嫖免费GPU

    深度学习,机器学习神器,白嫖免费GPU! 最近在学习计算机视觉,自己的小本本没有那么高的算力,层级尝试过Google的Colab,以及移动云的GPU算力,都不算理想.如果数据集比较小,可以试试Cola ...

  7. 基于CarbonData的电信时空大数据探索

    摘要:作为IOT最底层的无线通信网络生成大量与位置相关的数据,用于无线通信网络规划和优化,帮助电信运营商建设更好体验的精品网络,构建万物互联的信息社会. 本文分享自华为云社区<基于CarbonD ...

  8. Elasticsearch分布式搜索和数据分析引擎-ElasticStack(上)v7.14.0

    Elasticsearch概述 **本人博客网站 **IT小神 www.itxiaoshen.com Elasticsearch官网地址 https://www.elastic.co/cn/elast ...

  9. [CSP-S2019] 树上的数

    考虑处理字典序的一类经典操作: 按位枚举. 我们思考一些性质: 一个点的权值出去则不会再回来. 一条边不会使用两次. 那么我们从小到大来操作. 那么存在矛盾当且仅当: 起点在之前非开始边被操作过 中间 ...

  10. Codeforces 1158F - Density of subarrays(dp,神仙题)

    Codeforces 题目传送门 & 洛谷题目传送门 人生中第一道 *3500(显然不是自己独立 AC 的),不过还是祭一下罢 神仙 D1F 首先考虑对于给定的序列 \(a_1,a_2,\do ...