浅谈Docker swarm+HAProxy/Nginx

就不废话了,直接画出系统逻辑架构图: 这里有些问题简单交待一下: HAProxy/Nginx作为External network的入口 Docker swarm是Internal network,不对外公开 HAProxy/Nginx在配置Load Balance时,每个Server的定义仍然使用的是各Docker work nodes的IP地址(最大的提高性能),在Nginx中类似于下面的配置片断: upstream apache2{ server 192.168.0.2:8080; server 192.168.0.3:8080; } server{ listen 80; server_name apache.zhuoyue.me; location /{ proxy_pass http://apache2; } } Docker swarm也有自己的Load Balance和Health check功能和规则,在上一项的描述中,我们也可以在Nginx中不去指定upstream,而让swarm去进行load balancing,那么在nginx就可以这样配置: server{ listen 80; server_name apache.zhuoyue.me; location /{ proxy_pass http://192.168.0.2:8080; } } 但这种配置有一个缺点:那就是192.168.0.2这台host上的docker process不能halt。 那么整个docker swarm创建过程可能是这样的: 在docker manager node上创建了一个task: docker service create… Continue reading 浅谈Docker swarm+HAProxy/Nginx

using nginx as http load balancer

Introduction Load balancing across multiple application instances is a commonly used technique for optimizing resource utilization, maximizing throughput, reducing latency, and ensuring fault-tolerant configurations. It is possible to use nginx as a very efficient HTTP load balancer to distribute traffic to several application servers and to improve performance, scalability and reliability of web applications with… Continue reading using nginx as http load balancer

Nginx virtual host & php-fpm settings

共享我的当前VPS中关于nginx的一些设置,防止自己忘记了。 针对Nginx global的设置(没有写的,说明使用了默认的设置了): #Nginx进程的用户名和用户组设置,最小权限原则 user www-data www-data; #Nginx初始化工作进程数 worker_processes 4; #启用Nginx的核心安全策略,比如SQL注入,跨站之类 include /etc/nginx/naxsi_core.rules; #启用gzip压缩输出,对IE6禁用gzip gzip on; gzip_disable “msie6”; 针对Virtaul Host的设置: 首先看Reserve Proxy, server { ### server port and name ### listen 443; ssl on; server_name ******.zhuoyue.me ### SSL log files ### access_log /var/log/nginx/ssl-access.log; error_log /var/log/nginx/ssl-error.log; ### SSL cert files ### ssl_certificate /home/niyouzhu/nginxssl/server.crt; ssl_certificate_key /home/niyouzhu/nginxssl/server.key; ###… Continue reading Nginx virtual host & php-fpm settings

Ubuntu+LAMP+Nginx

好久没有玩linux了, 下午的时候有点时间, 搭了一套环境. 使用的VMware workstation安装的Ubuntu 12 Server, 网络连接使用的NAT, Remove掉了Floppy. Host是Intel Core i5-4570 3.2GHz的64Bit CPU, Memory 是4G. 配置还可以, 故给VMware配置了1G的Memory, 20G的Disk. Ubuntu的安装过程现在是越来越简单了, 过程也记不清了, 这里就不说了.  总之顺利安装成功. Host 的IP是 192.168.82.81, Client的IP是192.168.206.129. 因为Company里有Security Audit, 所以需要通过Proxy才能上外网, 故第一步给Ubuntu设置代理服务器. editor /etc/profile 添加: http_proxy=http://192.168.88.80:3128 https_proxy=http://192.168.88.80:3128 ftp_proxy=http://192.168.88.80:3128 export http_proxy https_proxy ftp_proxy 然后Reboot. OK, 可以上外网了. 现在开始更新apt源, 由于默认安装后的源是Ubuntu在国外的服务器, 非常慢, 所以先更改源地址: editor /etc/apt/sources.list 然后在所有的archive.ubuntu.com前加上cn., 即: http://cn.archive.ubuntu.com/ubuntu/ , cn.archive.ubuntu.com… Continue reading Ubuntu+LAMP+Nginx