浅谈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

在Ubuntu16.04LTS上安装php5.6

1. Add PHP 5.6 package sources to your system: sudo add-apt-repository ppa:ondrej/php5-5.6 2. Update sudo apt-get update 3. Install PHP sudo apt-get install php5.6 4.Integrated with Apache2 libapache2-mod-php5.6 5. Enable php5.6 a2dismod php7.0 a2enmod php5.6 service apache2 restart

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

几个还算有用的Apache htaccess配置

开启Apache的.htaccess文件可以让站点进行1些个性化的应用配置。这里提供了几个不错的.htaccess片段,希望能够根据你的实际情况优化你的网站,包括重定向、性能、可用性等! 强制后缀反斜杠(在URL的尾部加上反斜杠似乎对SEO有利) <IfModule mod_rewrite.c> RewriteCond %{REQUEST_URI} /+[^\.]+$ RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L] </IfModule> 防盗链 RewriteEngine On #Replace ?mysite\.com/ with your url RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ #Replace /images/nohotlink.jpg with your “don’t hotlink” image url RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L] 重定向移动设备(如果你的网站支持移动设备访问的话,最好还是重定向移动设备的访问到专门定制的页面) RewriteEngine On RewriteCond %{REQUEST_URI} !^/m/.*$ RewriteCond %{HTTP_ACCEPT} “text/vnd.wap.wml|application/vnd.wap.xhtml+xml” [NC,OR] RewriteCond %{HTTP_USER_AGENT} “acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-” [NC,OR] RewriteCond %{HTTP_USER_AGENT}… Continue reading 几个还算有用的Apache htaccess配置

回顾1些在项目管理中遇到的问题和解决方式

从事软件开发很长很长1段时间了,除去在校时光,正式进行社会工作也已经4年光景了。记得最初的时候,我还是使用ASP,那会儿asp还很流行,.net framework1.1才出来不久,那会儿是2003年吧;那会儿你要既会vbscript也要会javascript;那会儿你要既会css也要会html4;那会儿你要既懂vb.net 2003,也要懂c++;总之那会儿,我接触到了很多语言、思想之类的东西。 工作4年了,大小遇到过的项目也有三四十个了吧,由于1直以来,从踏入社会的那1刻就从事项目管理和开发的工作,所以在实践的道路上遇到过很多问题,通常是通过自己翻阅资料,以及寻求互联网帮助来解决,现在也慢慢的喜欢上这种方法。 现在把1些近期项目中遇到的问题记录如下,另外也附带了自己当时的处理方法和思路: 1.信息的不对称和不及时,这个问题是所有问题的根源。打个比方,进入某个迭代的产品测试环节,产品告诉美术根据客户需求,需要将新闻和公告互换位置,美术将更改后的效果图发送至项目经理和产品进行确认,项目经理可能还不知道这样1件事,项目经理、产品、客户确认过后,美术将效果图发送至前端,前端可能还不知所以然,问:“这是什么呀?”,然后美术又需要将修改的地方告诉前端。 这种信息的不对称和不及时,在项目的开发过程中,会浪费很多时间和工作量,我们应该使用1种网络软件管理或电邮等方式,要让所有项目组的人及时清楚,以及明确各自的责任。这个环节我目前使用的是zentao来进行管理。

WordPress 3.21中文Tag及目录的1种解决方法

我想大家都知道,在WordPress 3.21之前的解决方法,互联网上1搜1大片,由于本人并没有从事过PHP编程,不是很了解,本虚拟空间提供商是美国的Ipage,Debian系统,Apache2.2,其中对于UrlPath中包含中文字符处理可能有问题,所以需要调整1下,我的方法是对于Tag和Category中包含中文字符的话,全部不进行UrlRewrite,依旧作为普通的Querystring传递,方法如下: 修改wp-includes/rewrite.php第1012行 function get_extra_permastruct($name) { if ( empty($this->permalink_structure) ) return false; if ( isset($this->extra_permastructs[$name]) ) return $this->extra_permastructs[$name][0]; return false; } 注意将 if ( empty($this->permalink_structure) ) 修改为 if ( empty($this->permalink_structure) )