OpenShift添加子域名子站教程(三)适用于nginx

上次RainEggplant给大家介绍了Apache下的OpenShift子域名(子站)配置,OpenShift添加子域名子站教程(二).htaccess文件法 。这次RainEggplant给大家带来的是Nginx下的OpenShift子站配置。

前一次新建应用时,RainEggplant发现OpenShift又多了HHVM的应用类型,于是RainEggplant便试用了一下。体验还不错,Linux+Nginx+HHVM,值得一试。下面便介绍在Nginx下,添加子站的方法。

还是老步骤,先到控制台绑定子域名,并进行解析。

然后修改配置文件。Nginx的配置文件位于/var/lib/openshift/你的用户名/app-root/runtime/repo/config/nginx.d/ 下,默认的配置文件为default.conf,我们不用理它,仅仅拿它当模板一用。 阅读全文→

OpenShift添加子域名子站教程(一)最原始的手段

这种方法,有利也有弊。因为太简单,这里也只是简单介绍一下:

每一个免费OpenShift账户可以创建至多三个应用(gear上限为3)。以  raineggplant.com 这个域名为例吧。假设一个站点放博客并作为主站(www),一个子站点放论坛页面(bbs),一个站点放开发的应用的支持页面 (app),那么你需要建立三个应用,在它们内分别放上这些内容,分别解析@与www、bbs、app到不同的CNAME(A)记录,并分别绑定  raineggplant.com 与 www. raineggplant.com 、 bbs. raineggplant.com 、 app.raineggplant.com 到不同的应用。这样做虽然可行,但最大的缺点就是应用数量(gear数量)的限制。3个是明显不够的,如果你需要扩展子域的个数, 就只有升级你的账户了并支付额外费用(包含16个gear)。有人要说再可以注册一个账号,但你会发现已经无法绑定 *.raineggplant.com 这种域名了。而且这不仅会造成管理的麻烦,也有滥用免费服务的嫌疑(不知多少服务已倒瘫在国人的脚下了)。

RainEggplant给大家推荐更好的解决方案:

 

网站历史上的最大事故报告——请引以为戒

2015年5月12日17:56:48(北京时间5月13日05:56:48),我收到一封邮件,内容为:

OpenShift Terms Of Service Violation :http://rain-eggplant.rhcloud.com

Hello!

On May 12, 2015 at 05:56:48 PM the OpenShift operations team flagged your application.

We believe your use of OpenShift violates the Services Agreement and Acceptable Use Policy both of which can be found here: https://openshift.redhat.com/app/legal/

Violation:
excessive resource usage (tieba click app)

Your applications have been removed. You can contact us at 'rhcloud-security@redhat.com'

The Red Hat OpenShift Team

阅读全文→

5月8日网站访问中断报告

发生时间: 约为5月8日

持续时间: 约为两天

事故原因:访问绑定的tk域名(现已换为com域名)无法打开,而OpenShift自带的域名可以访问。才发现是两年未变的OpenShift服务器的IP地址变啦!而我做的是A记录解析(貌似要快一些,而且CDN要求),所以便中断了。

教训:虽说IP极其偶尔才变,但如果你没有特殊要求的话,还是做CNAME吧!

 

OpenShift添加子域名子站教程(二).htaccess文件法

上回RainEggplant 给大家带来的是OpenShift最简单的添加子域名(子站)的教程:OpenShift添加子域名子站教程(一)最原始的手段 ,不过我们说它有利也有弊。所以这篇下一篇(OpenShift添加子域教程(三)适用于nginx)才是RainEggplant真正推荐的。

今天带来的方法,可以让你只用一个应用,便近乎完美地拥有多个子域(理论无上限)。当然,不推荐在一个应用内创建过多的子域,这会导致服务器性能低下。当你的子域过于庞大时,还得增加应用数量来扩展。

原理是:将各子域的域名绑定至你的应用,再利用强大的.htaccess文件对请求的URI进行重写,使各域名对应各个目录。

步骤:

再次以 raineggplant.com 为例,本次需要建立三个子域(www,bbs,app),站点根目录下有对应目录www,bbs,app,里面即为网站内容。

首先请ping得服务器IP(因为OpenShift的IP地址几乎不变),我的是 54.235.22.201 (也可以不这样,但就只能做CNAME解析了)。到你的DNS服务提供商处,添加(或更改为)如下记录,如图(原谅我换了域名但懒得换图了): 阅读全文→