安装nginx及tcp代理
来源:互联网 发布:js触发a标签的href 编辑:程序博客网 时间:2024/06/08 14:32
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。(百度百科- http://www.dwz.cn/x32kG)
1.Nginx安装
安装make命令:yum -y install gcc automake autoconf libtool make
我使用的环境是64位 Ubuntu 14.04。nginx依赖以下模块:
gzip模块需要 zlib 库 rewrite模块需要 pcre 库 ssl 功能需要openssl库
1.1.安装pcre
获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本
解压缩pcre-xx.tar.gz包。 进入解压缩目录,执行./configure。 make & make install
1.2.安装openssl
获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。
解压缩openssl-xx.tar.gz包。 进入解压缩目录,执行./config。 make & make install
1.3.安装zlib
获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本。
解压缩openssl-xx.tar.gz包。 进入解压缩目录,执行./configure。 make & make install
1.4.安装nginx
获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本。
解压缩nginx-xx.tar.gz包。 进入解压缩目录,执行./configure make & make install
若安装时找不到上述依赖模块,使用–with-openssl=、–with-pcre=、–with-zlib=指定依赖的模块目录。如已安装过,此处的路径为安装目录;若未安装,则此路径为编译安装包路径,nginx将执行模块的默认编译安装。
启动nginx:
cd nginx_home/sbin
./nginx
浏览器中输入http://localhost可以验证是否安装启动成功。
2.安装nginx tcp代理
nginx_tcp_proxy_module是国人开发的nginx的tcp代理模块。注: 官方例子使用的nginx-1.2.1版本,本人使用nginx-1.10.1版本配置失败,原因未知。
git地址:https://github.com/yaoweibin/nginx_tcp_proxy_module ,安装步骤参考其git feeds,下面是自己安装过程中遇到的问题及解决方法:
2.1.make出错
./configure: error: SSL modules require the OpenSSL library. ubuntu下解决办法: apt-get install openssl apt-get install libssl-dev centos下解决办法: yum -y install openssl openssl-devel
2.2.pcre包查找失败
/ngx_regex.c:307: undefined reference to `pcre_free_study' 解决方法: ./configure --add-module=/path/to/nginx_tcp_proxy_module --with-pcre=../pcre-8.38 --with-pcre-jit (确保事先安装pcre: ../pcre-8.38)
2.3.按照git教程设置完毕后,设置tcp代理参数:
nginx.conf主配置文件中增加如下配置配置:(也可以在主配置文件中配置include,包含tcp转发的配置文件
include /opt/nginx_tcp_proxy_module-master/tcp_proxy.conf)
tcp { upstream proxy_name { # simple round-robin server 192.168.1.10:8000; server 192.168.1.10:8001; server 192.168.1.11:8000; server 192.168.1.11:8001; check interval=3000 rise=2 fall=5timeout=1000; #check interval=3000 rise=2 fall=5timeout=1000 #check interval=3000 rise=2 fall=5timeout=1000 #check_http_send "GET /HTTP/1.0\r\n\r\n"; #check_http_expect_alive http_2xxhttp_3xx; } server { listen 8888; proxy_pass proxy_name; } }
说明: check interval 健康检查,单位是毫秒 rise 检查几次正常后,将reslserver加入以负载列表中 fall 检查几次失败后,摘除realserver timeout 检查超时时间,单位许毫秒 具体可查看nginx_tcp_proxy_module-master/README,很详细。
- 安装nginx及tcp代理
- nginx tcp代理模块nginx_tcp_proxy_module安装及使用
- nginx及tcp代理分发
- nginx tcp代理模块安装
- nginx 安装及,代理设置
- nginx TCP 反向代理
- Nginx TCP/UDP 代理
- nginx tcp代理
- nginx tcp代理
- nginx搭建TCP代理
- nginx代理TCP模块
- nginx tcp 反向代理
- tomcat8安装配置及nginx反向代理
- Nginx代理TCP请求模块添加及配置步骤
- Nginx TCP代理及负载均衡stream模块简介
- nginx安装并支持upstream和tcp代理模块
- centos7.2 编码编译安装nginx,实现tcp反向代理
- nginx 学习笔记--Nginx安装及反向代理配置(简述)
- 将博客搬至CSDN
- 浅谈Linux下VIM配置
- PhoneGap中"unable to download archive from the server. "警告的解决方法
- 剖析linux下Find指令
- NDK so库的调用和编译
- 安装nginx及tcp代理
- Structural Patterns Part 4/7: Decorator Pattern
- shell脚本学习笔记-1
- 写博客的第一天之我为什么写博客
- iOS网络请求-NSURLConnection
- 使用Sqlite保存数据
- 第三方库FXBlurView的基本使用
- jstl表达式,前台删除的提示问题
- config.locale