1、安装常用工具及基础包:

[root@localhost /]# yum -y install wget git vim make gcc gcc-c++ openssl-devel
[root@localhost /]# mkdir -p /usr/local/nginx/module

2、安装pcre模块:

[root@localhost /]# wget -P/usr/local/src/ http://nchc.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz
[root@localhost /]# tar -xzvf /usr/local/src/pcre-8.39.tar.gz -C /usr/local/nginx/module/

3、安装OpenSSL模块:

[root@localhost /]# wget -P/usr/local/src/ https://www.openssl.org/source/openssl-1.0.2h.tar.gz
[root@localhost /]# tar -xzvf /usr/local/src/openssl-1.0.2h.tar.gz -C /usr/local/nginx/module/

4、安装zlib模块:

[root@localhost /]# wget -P/usr/local/src/ http://zlib.net/zlib-1.2.8.tar.gz
[root@localhost /]# tar -xzvf /usr/local/src/zlib-1.2.8.tar.gz –C /usr/local/nginx/module/

5、安装LuaJIT模块

[root@17track /]# wget -P/usr/local/src/ http://luajit.org/download/LuaJIT-2.0.4.tar.gz
[root@17track /]# tar -xzvf /usr/local/src/LuaJIT-2.0.4.tar.gz -C /usr/local/src/
[root@17track /]# cd /usr/local/src/LuaJIT-2.0.4
[root@17track LuaJIT-2.0.2]# make
[root@17track LuaJIT-2.0.2]# make install

6、安装lua-nginx-module模块

[root@localhost /]# wget -P/usr/local/src/ https://github.com/openresty/lua-nginx-module/archive/v0.10.6.tar.gz
[root@localhost /]# tar -xzvf /usr/local/src/v0.10.6.tar.gz -C /usr/local/nginx/module/

7、安装nginx sticky模块

[root@localhost /]# wget -P/usr/local/src/ https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/08a395c66e42.zip
[root@localhost /]# unzip -x nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip
[root@localhost /]# mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 /usr/local/nginx/module/nginx-sticky-module-1.2.5

8、安装echo-nginx模块

[root@localhost /]# wget -P/usr/local/src/ https://github.com/openresty/echo-nginx-module/archive/echo-nginx-module-0.60.tar.gz
[root@localhost /]# tar -xzvf /usr/local/src/echo-nginx-module-0.60.tar.gz -C /usr/local/nginx/module/

9、安装ngx_cache_purge模块

[root@localhost /]# wget -P/usr/local/src/ https://github.com/FRiCKLE/ngx_cache_purge/archive/2.3.tar.gz
[root@localhost /]# tar -xzvf /usr/local/src/ngx_cache_purge-2.3.tar.gz -C /usr/local/nginx/module/

10、安装ngx_http_lower_upper_case

[root@localhost /]# wget -P/usr/local/src/ https://github.com/replay/ngx_http_lower_upper_case/archive/master.zip
[root@localhost lib]# unzip -x ngx_http_lower_upper_case-master.zip
[root@localhost /]# mv ngx_http_lower_upper_case-master /usr/local/nginx/module/ ngx_http_lower_upper_case

11、安装、配置Nginx

[root@localhost /]# wget -P/usr/local/src/ http://nginx.org/download/nginx-1.10.1.tar.gz
[root@localhost /]# tar -xzvf /usr/local/src/nginx-1.10.1.tar.gz -C /usr/local/src/
[root@localhost /]# cd /usr/local/src/nginx-1.10.1
[root@localhost nginx-1.10.1]# ./configure --prefix=/usr/local/nginx \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre=/usr/local/nginx/module/pcre-8.39 \
--with-zlib=/usr/local/nginx/module/zlib-1.2.8 \
--with-openssl=/usr/local/nginx/module/openssl-1.0.2h \
--add-module=/usr/local/nginx/module/lua-nginx-module-0.10.6 \
--add-module=/usr/local/nginx/module/nginx-sticky-module-1.2.5 \
--add-module=/usr/local/nginx/module/echo-nginx-module-0.60 \
--add-module=/usr/local/nginx/module/ngx_cache_purge-2.3 \
--add-module=/usr/local/nginx/module/ngx_http_lower_upper_case
[root@localhost nginx-1.10.1]# make
[root@localhost nginx-1.10.1]# make install

常见错误

# /usr/local/nginx-1.10.1/sbin/nginx -V

./objs/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

解决方法:

# ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

12、编译参数详解:

支持http_v2协议

--with-http_v2_module

支持SSL加密 

--with-http_ssl_module

获取客户端真实IP  

--with-http_realip_module

查看Nginx服务器工作状态  

--with-http_stub_status_module

支持Rewrite重写规则

--with-pcre=/usr/local/nginx/module/pcre-8.39

实现基于cookie的负载均衡

--add-module=/usr/local/nginx/module/nginx-sticky-module-1.2.5

用于从FastCGI、proxy、SCGI 和uWSGI缓存中增加内容清除功能

--add-module=/root/ngx_cache_purge-2.1

在Nginx配置中调用lua语言脚本

--add-module=/usr/local/nginx/module/lua-nginx-module-0.10.6

提供直接在 Nginx 配置使用包括 "echo", "sleep", "time" 等指令

--add-module=/usr/local/nginx/module/echo-nginx-module-0.60

实现大小写字母转换

--add-module=/usr/local/nginx/module/ngx_http_lower_upper_case

13、添加用户、设置权限目录

useradd nginx -s /sbin/nologin
chown -R nginx:nginx /usr/local/nginx
mkdir -p /home/cache/temp
mkdir -p /home/cache/path
chown -R nginx:nginx /home/cache
cd /usr/local/nginx/logs
mkdir p download v5api order user www www-null
mkdir /usr/local/nginx/conf/v5website
mkdir /usr/local/nginx/rootpath
mkdir /usr/local/nginx/ssl

14、TLSv1.2配置 

生成DH密钥

[root@localhost /]# cd /usr/local/nginx/ssl/
[root@localhost ssl]# openssl dhparam 4096 -out dhparam.pem

在nginx.conf文件中添加如下ssl相关的配置:

ssl_certificate /usr/local/nginx/ssl/17track.crt;
ssl_certificate_key /usr/local/nginx/ssl/17track.key
ssl_dhparam /usr/local/nginx/ssl/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

Nginx 1.10.1 编译、配置文档(支持http_v2,TLSv1.2,openssl v1.0.2)的更多相关文章

  1. nginx 安全配置文档

    1.配置文档中有多处明确写出了nginx的配置文件路径,该路径是测试环境中的路径,线上系统的nginx配置文件与文档中所写的路径可能不一样,在进行相关配置时,应以线上配置文件的实际路径为准. 线上系统 ...

  2. (转)nginx 安全配置文档

    原文:https://www.cnblogs.com/heaven-xi/p/9961357.html#top 1.配置文档中有多处明确写出了nginx的配置文件路径,该路径是测试环境中的路径,线上系 ...

  3. Nginx配置文档具体解释

    Nginx的配置文档具体解释.在这儿做个总结,以便以后使用的时间查看. 下面大部分自己整理.部分来自參考 #设置用户 #user  nobody; #启动进程数(一般和server的CPU同样) #能 ...

  4. 史上最全的Nginx配置文档

    Nginx是一个异步框架的Web服务器,也可以用作反向代理,负载平衡器 和 HTTP缓存.该软件由Igor Sysoev 创建,并于2004年首次公开发布.同名公司成立于2011年,以提供支持.Ngi ...

  5. azkaban编译安装配置文档

    azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...

  6. Proftpd mysql认证配置文档

    Proftpd mysql认证配置文档 ver1.0, 2012/09/25 一.下载安装proftp mysql 下载 wget http://cloud.github.com/downloads/ ...

  7. tomcat 安全配置文档

    1.配置文档中使用$CATALINA_HOME变量声明为tomcat的安装目录并明确写出了tomcat的配置文件路径,此路径为测试环境的路径,线上系统对应配置文件的路径可能不一样,在进行相关配置时,应 ...

  8. (转)tomcat 安全配置文档

    原文:https://www.cnblogs.com/heaven-xi/p/9961354.html 1.配置文档中使用$CATALINA_HOME变量声明为tomcat的安装目录并明确写出了tom ...

  9. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

随机推荐

  1. JS高程4.变量,作用域和内存问题(3)垃圾收集

    JavaScript的自动垃圾收集机制 执行环境会负责管理代码执行过程中使用的内存,编写JavaScript程序时,所需内存的分配以及无用内存的回收完全实现自动管理. 原理: 找出那些不再继续使用的变 ...

  2. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  3. Tomcat 配置详解/优化方案

     转自:http://blog.csdn.net/cicada688/article/details/14451541 Service.xml Server.xml配置文件用于对整个容器进行相关的配置 ...

  4. 二维码合成,将苹果和安卓(ios和android)合成一个二维码,让用户扫描一个二维码就可以分别下载苹果和安卓的应用

    因为公司推广的原因,没有合适的将苹果和安卓(ios和android)合成一个二维码的工具. 因为这个不难,主要是根据浏览器的UA进行判断,所以就自己开发了一个网站 网站名称叫:好推二维码  https ...

  5. Play Framework 完整实现一个APP(十三)

    添加用户编辑区 1.修改Admin.index() public static void index() { List<Post> posts = Post.find("auth ...

  6. 使用Hudson进行持续集成

    小Alan最近接了一个任务,就是使用Hudson进行持续集成,持续集成是怎么个概念,3言2语也说不清,有兴趣的童鞋去找我二奶度娘问问就知道了,说到Hudson就不得不提一下jenkins,目前来说用j ...

  7. Apache的详细安装教程和遇到的问题解决方案

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一 (一)Apache安装软件下载 1.访问 ...

  8. 机器学习实战笔记(Python实现)-08-线性回归

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  9. 6-3 bash脚本编程之五 字符串测试及for循环

    1. 字符测试 ==:等号两边要有空格,否则会被认为是赋值. !=:  测试是否相等,记住如果不等为真,等为假. -n string: 测试指定字符串是否为空,空位真,不空为假. -s string: ...

  10. DevExpress ChartControl 样式设置

    第三方控件,设置ChartControl的样式,仅供参考 Demo: <Grid> <Grid.Resources> <SolidColorBrush x:Key=&qu ...