Nginx 1.10.1 编译、配置文档(支持http_v2,TLSv1.2,openssl v1.0.2)
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)的更多相关文章
- nginx 安全配置文档
1.配置文档中有多处明确写出了nginx的配置文件路径,该路径是测试环境中的路径,线上系统的nginx配置文件与文档中所写的路径可能不一样,在进行相关配置时,应以线上配置文件的实际路径为准. 线上系统 ...
- (转)nginx 安全配置文档
原文:https://www.cnblogs.com/heaven-xi/p/9961357.html#top 1.配置文档中有多处明确写出了nginx的配置文件路径,该路径是测试环境中的路径,线上系 ...
- Nginx配置文档具体解释
Nginx的配置文档具体解释.在这儿做个总结,以便以后使用的时间查看. 下面大部分自己整理.部分来自參考 #设置用户 #user nobody; #启动进程数(一般和server的CPU同样) #能 ...
- 史上最全的Nginx配置文档
Nginx是一个异步框架的Web服务器,也可以用作反向代理,负载平衡器 和 HTTP缓存.该软件由Igor Sysoev 创建,并于2004年首次公开发布.同名公司成立于2011年,以提供支持.Ngi ...
- azkaban编译安装配置文档
azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...
- Proftpd mysql认证配置文档
Proftpd mysql认证配置文档 ver1.0, 2012/09/25 一.下载安装proftp mysql 下载 wget http://cloud.github.com/downloads/ ...
- tomcat 安全配置文档
1.配置文档中使用$CATALINA_HOME变量声明为tomcat的安装目录并明确写出了tomcat的配置文件路径,此路径为测试环境的路径,线上系统对应配置文件的路径可能不一样,在进行相关配置时,应 ...
- (转)tomcat 安全配置文档
原文:https://www.cnblogs.com/heaven-xi/p/9961354.html 1.配置文档中使用$CATALINA_HOME变量声明为tomcat的安装目录并明确写出了tom ...
- MYSQL服务器my.cnf配置文档详解
MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...
随机推荐
- 谈一谈前端多容器(多webview平台)处理方案
文中是我个人的一些开发经验,希望对各位有用,也希望各位多多支持讨论,指出文中不足以及提出您的一些建议. 双容器 得益于近几年移动端的发展,前端早已今非昔比,从大型框架来说angularJS.react ...
- Android 绘制view的小知识点
[onMeasure] 直接继承view或ViewGroup的自定义控件需要重写onMeasure方法并设置wrap_content时的自身大小,否则在布局中使用wrap_content就相当于mat ...
- 正则表达式在iOS中的运用
1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- iOS学习15之OC集合
1.数组类 1> 回顾C语言数组 数组是一个有序的集合, 来存储相同数据类型的元素. 通过下标访问数组中的元素,下标从 0 开始. 2> 数组 数组是一个有序的集合,OC中的数组只能存储对 ...
- 使用GIT进行源码管理 —— 在VisualStudio中使用GIT
GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这个插件在VS2013中已经转正.本文在这里简单的介绍一下如何在Visu ...
- 如何在 Evernote 中支持代码高亮
Evernote 本身不支持代码高亮,在 Apple App-Store 上有一个建立在 Evernote 上的 EverCode,可以支持代码高亮,需要付费.虽然只有¥5,但是这个 App 似乎只能 ...
- 数据备份的OSS接口
最近在做一个新的项目,从RDS备份到OSS,进行数据备份以及后续的还原.这边对阿里云的OSS数据上传接口进行说明,先做下笔记先简单介绍下OSS: ①Object 在OSS中,用户操作的基本数据单元是O ...
- Android使用C++截屏并显示
使用android底层自带的截屏源码进行修改后,将截取屏幕的内容再次显示在屏幕上,使屏幕呈现出暂停的效果. android自带的截屏代码在android\JB\frameworks\base\cmds ...
- EZchip将推全球首款100核64位ARM A-53芯片
EZchip将推全球首款100核64位ARM A-53芯片 2015-02-25 16:32:03 来源:互联网 关键字: 将推 全球 64位 arm EZchip日前表示,将准备开发 ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...