src]# wget http://nginx.org/download/nginx-1.9.4.tar.gz--2017-04-13 10:05:08-- http://nginx.org/download/nginx-1.9.4.tar.gzResolving nginx.org... 206.251.255.63, 95.211.80.227, 2001:1af8:4060:a004:21::e3, ...Connecting to nginx.org|206.251.255.63|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 866423 (846K) [application/octet-stream]Saving to: “nginx-1.9.4.tar.gz”100%[=================================================================================>] 866,423 16.2K/s in 36s 2017-04-13 10:05:50 (23.3 KB/s) - “nginx-1.9.4.tar.gz” saved [866423/866423]
解压
[root@localhost src]# tar zxvf nginx-1.9.4.tar.gz[root@localhost src]# cd nginx-1.9.4
配置、编译、安装
[root@localhost nginx-1.9.4]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream[root@localhost nginx-1.9.4]# echo $?0[root@localhost nginx-1.9.4]# make && make install[root@localhost nginx-1.9.4]# echo $?0
启动服务
[root@localhost nginx-1.9.4]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/[root@localhost nginx-1.9.4]# ll /usr/local/sbin/total 0lrwxrwxrwx 1 root root 27 Apr 13 13:29 nginx -> /usr/local/nginx/sbin/nginx[root@localhost nginx-1.9.4]# /usr/local/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@localhost nginx-1.9.4]# /usr/local/sbin/nginx[root@localhost nginx-1.9.4]# netstat -nlput | grep nginxtcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1271/nginx [root@localhost nginx-1.9.4]# lsof -i :80COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnginx 1271 root 6u IPv4 9108 0t0 TCP *:http (LISTEN)nginx 1272 nginx 6u IPv4 9108 0t0 TCP *:http (LISTEN)[root@localhost nginx-1.9.4]# curl -I localhostHTTP/1.1 200 OKServer: nginx/1.9.4Date: Thu, 13 Apr 2017 05:37:43 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Thu, 13 Apr 2017 03:16:08 GMTConnection: keep-aliveETag: "58eeed78-264"Accept-Ranges: bytes
代理MySQL
[root@localhost nginx-1.9.4]# cd /usr/local/nginx/conf/[root@localhost conf]# echo >nginx.conf[root@localhost conf]# vim nginx.confworker_processes auto;events { worker_connections 1024;}error_log /var/log/nginx_error.log info;stream { upstream mysqld { hash $remote_addr consistent; server 172.19.10.98:3306 weight=5 max_fails=1 fail_timeout=10s;# server 192.168.1.43:3306 weight=5 max_fails=1 fail_timeout=10s; } server { listen 3306; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass mysqld; }}[root@localhost conf]# /usr/local/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@localhost conf]# cat nginx.confworker_processes auto;events { worker_connections 1024;}error_log /var/log/nginx_error.log info;stream { upstream mysqld { hash $remote_addr consistent; server 172.19.10.98:3306 weight=5 max_fails=1 fail_timeout=10s;# server 172.19.10.94:3306 weight=5 max_fails=1 fail_timeout=10s; } server { listen 3306; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass mysqld; }}
Nginx四层负载反代MySQL
标签:sse erro 3.3 http mysq make evel out date
小编还为您整理了以下内容,可能对您也有帮助:
nginx与MySQL的关系
Nginx是实现MySQL数据库的负载均衡。
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点。
MySQL是一个数据库管理系统,也是一个关系数据库。它是由Oracle支持的开源软件。这意味着任何一个人都可以使用MySQL而不用支付一毛钱。 另外,如果需要,还可以更改其源代码或进行二次开发以满足您的需要。
nginx与MySQL的关系
Nginx是实现MySQL数据库的负载均衡。
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点。
MySQL是一个数据库管理系统,也是一个关系数据库。它是由Oracle支持的开源软件。这意味着任何一个人都可以使用MySQL而不用支付一毛钱。 另外,如果需要,还可以更改其源代码或进行二次开发以满足您的需要。
nginx 一直都在做7层转发,4层也需要看看
一.简单介绍
nginx 的功能非常强大,其中作为代理服务器是非常常用的功能,但是之前的nginx代理只能做七层代理,也就说是基于应用层面的代理,TCP层面的代理一般会配合haproxy 来使用。
自从nginx 1.9 以后通过stream模块实现了tcp 代理功能,无需其他软件配合即可实现四层代理和七层代理,即:访问该服务器的指定端口,nginx就可以充当端口转发的作用将流量导向另一个服务器,同时获取目标服务器的返回数据并返回给请求者。
nginx的TCP代理功能跟nginx的反向代理不同的是:请求该端口的所有流量都会转发到目标服务器,而在反向代理中可以细化哪些请求分发给哪些服务器;另一个不同的是,nginx做TCP代理并不仅仅局限于WEB的URL请求,还可以转发如memcached、MySQL、oracle等点到点的请求
二.配置4层转发关于nginx的硬性要求(只涉及1.9以上的版本)
1.nginx的版本必须在1.9以上(如果要使用stream模块的话)
2.nginx必须有stream模块的编译
三.查看是否支持stream模块
/usr/local/nginx/sbin/nginx -V | grep stream
如果有返回说明已经编译了,如果没有需要重新编译
编译方法参考 https://www.jianshu.com/p/21d1191f609c
将模块替换成 --with-stream
四.配置要求
通过本地的3389跳转到192.168.9.121的8088端口
五.编写配置文件:
请注意,stream块和http块是两个不同的模块,stream不属于http模块,即不能放到/etc/nginx/conf.d/,stream是通过tcp层转发,而不是http转发
2.mkdir /usr/local/nginx/conf/tcp.d
3.添加配置信息:
vim openldap.conf
4.检查配置文件并重新启动nginx
5.查看telenet查看端口是否可以访问
telnet nginx的IP地址 3389