首页 > 代码库 > Nginx四层负载反代MySQL
Nginx四层负载反代MySQL
1、安装Nginx并启用模块
Nginx从1.9.0开始发布ngx_stream_core_module模块,该模块支持tcp代理及负载均衡
- 安装Nginx并启动模块
ngx_stream_core_module这个模块默认没有启用,需要在便宜时通过指定with-strem参数激活这个模块
环境准备
[root@localhost /]# yum -y install pcre pcre-devel gcc gcc-c++ openssl openssl-devel
创建nginx用户
[root@localhost /]# useradd nginx -s /sbin/nologin -M
下载软件
[root@locahost /]# cd /usr/local/src/ [root@localhost 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.gz Resolving 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 OK Length: 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 0 lrwxrwxrwx 1 root root 27 Apr 13 13:29 nginx -> /usr/local/nginx/sbin/nginx [root@localhost nginx-1.9.4]# /usr/local/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: 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 nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1271/nginx [root@localhost nginx-1.9.4]# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 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 localhost HTTP/1.1 200 OK Server: nginx/1.9.4 Date: Thu, 13 Apr 2017 05:37:43 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Thu, 13 Apr 2017 03:16:08 GMT Connection: keep-alive ETag: "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.conf worker_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 -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@localhost conf]# cat nginx.conf worker_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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。