阿里云 ACE 上运行多个不同域名的网站 什么方法比较优雅?

2015-12-26 02:34:22 +08:00
 abelyao
**前提:**
- 手里有几个网站需要备案,日常访问量几乎是 0 的那种;
- 阿里云 ACE 最低配置一年才 200 元,赠送 5 个备案服务号,就是可备案 5 个网站咯;

**问题:**
- 不同域名需要访问到不同的内容,有点类似 vhost 的意思;
- 应用语言选择 `PHP` 的话用 `app.yaml` 的 `rewrite` 各种不成功…
- 因为几个网站都非常简单,可以不限于 `PHP`,如果 `node.js` 或者 `python` 有其它方法也可以;

**目前:**
- 现在的方法是所有请求先进入 `domains.php` 再根据 `$_SERVER['HTTP_HOST']` 来执行不同文件;

**显然目前的方式有许多弊端,想看看大家有没有其它更优雅的方法呢?**

PS. 如果走 `node.js` 的话,目前 ACE 上 `node.js` 的版本是 `0.10.30` 哦!
3056 次点击
所在节点    问与答
27 条回复
rming
2015-12-26 02:39:49 +08:00
LNMP 一键包, nginx 配置多个站,不难吧
或者用 nginx 的 rewrite 来做
或者楼主用的方式,用程序做

借问 ACE 什么配置 200 多?
abelyao
2015-12-26 02:45:32 +08:00
@rming
说的是 ACE 不是 ECS 啊…
如果 ACE 不能解决多网站的问题我就要买 ECS 了…
rming
2015-12-26 02:55:33 +08:00
@abelyao 哦,落后了,没用过呢,之前用过类似的 SAE ,这样的话你提到的方式应该是比较优雅的, yaml 写 rewrite 写不好,或者有局限性的话,应该会跳坑吧,其实不如说去买个 ECS ,低配才 600
abelyao
2015-12-26 03:01:45 +08:00
@rming

感觉 ACE 的 rewrite 比 SAE 弱太多了… 我也一直有用 SAE ,虽然不是特别完善,但在 SAE 的配置文件中基本可以达到我说的效果了,不需要 PHP 再判断。

主要是我不善于服务器管理,尤其是安全方面,才考虑 ACE ,不然直接买 ECS 要自由好多… 现在最便宜的 500 不到呢…
miao
2015-12-26 09:25:26 +08:00
万网虚拟主机,能绑 20 域名
markmx
2015-12-26 10:51:45 +08:00
双 12 买了一个 WEB 弹性.


.htaccess

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]



RewriteCond %{HTTP_HOST} ^(.*)uh5.cn$ [NC]
RewriteCond %{REQUEST_URI} !^/uh5.cn/
RewriteRule ^(.*)$ uh5.cn/$1?Rewrite [L,QSA]

RewriteCond %{HTTP_HOST} ^(.*)soapp.cn$ [NC]
RewriteCond %{REQUEST_URI} !^/soapp.cn/
RewriteRule ^(.*)$ soapp.cn/$1?Rewrite [L,QSA]

RewriteCond %{HTTP_HOST} ^(.*)soapi.cn$ [NC]
RewriteCond %{REQUEST_URI} !^/soapi.cn/
RewriteRule ^(.*)$ soapi.cn/$1?Rewrite [L,QSA]


RewriteCond %{HTTP_HOST} ^(.*)asktracks.com$ [NC]
RewriteCond %{REQUEST_URI} !^/asktracks.com/
RewriteRule ^(.*)$ asktracks.com/$1?Rewrite [L,QSA]

RewriteCond %{HTTP_HOST} ^(.*)wangshisan.com$ [NC]
RewriteCond %{REQUEST_URI} !^/wangshisan.com/
RewriteRule ^(.*)$ wangshisan.com/$1?Rewrite [L,QSA]

RewriteCond %{HTTP_HOST} ^(.*)bengmei.com$ [NC]
RewriteCond %{REQUEST_URI} !^/bengmei.com/
RewriteRule ^(.*)$ bengmei.com/$1?Rewrite [L,QSA]
abelyao
2015-12-26 11:14:56 +08:00
@miao 但只能备案一个网站
abelyao
2015-12-26 11:15:47 +08:00
@markmx WEB 弹性可以有多个备案服务号?
markmx
2015-12-26 11:19:39 +08:00
@abelyao 可以 我反正申请了 3 个 一次备案了三个.
abelyao
2015-12-26 11:31:56 +08:00
@markmx 看来是跟 ACE / ECS 一样可以申请 5 个备案 SN 号,太爽了
9hills
2015-12-26 11:35:18 +08:00
Nginx
abelyao
2015-12-26 12:11:58 +08:00
@9hills 说的是 ACE 谢谢
miao
2015-12-26 12:51:23 +08:00
@abelyao 阿里云虚拟主机可以备案 N 个域名.亲测
miao
2015-12-26 12:52:22 +08:00
N 个域名 都填一样的主机账号和密码.
@abelyao
abelyao
2015-12-26 13:30:40 +08:00
@miao N 个域名只能是同一个备案主体吧?我是有 3 个不同的备案主体,好像需要 3 个备案服务号
miao
2015-12-26 13:33:27 +08:00
@abelyao 你试试喽
just1
2015-12-26 13:33:33 +08:00
@abelyao 免费的那个好像也有备案号
abelyao
2015-12-26 15:10:30 +08:00
@markmx
@miao
@just1

刚刚跟阿里云了解过到:
- 虚拟主机(包括免费的)支持 1 个备案服务号,也就是 1 个备案主体;
- 弹性 Web / ACE / ECS 都支持 5 个备案服务号,也就是最多可以 5 个主体 5 个网站;
- ACE 的支持上传 SSL 证书, ECS 更不用说了,而弹性 Web 和虚拟主机都是不支持的;
miao
2015-12-26 17:05:00 +08:00
@abelyao 阿里云虚拟主机可以备案 N 个域名.亲测
我的还是免费的. 没有备案服务号, 进 http://beian.gein.cn/ 增加网址 选择 万网虚拟主机,
不同域名填入一样的主机名 和密码

亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测 亲测

不要和我争. 我都刚备案了 10 多个域名.

不清楚支持不支持 SSL
markmx
2015-12-26 17:07:48 +08:00
@abelyao
支持不支持 SSL 不清楚. 只是想要备案 . 价格便宜 服务好.我看就剩下这个了.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/246228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX