现在让我们开始一天的建站之旅。
本文是《快速创建网站》系列的第2篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文。
1. 网站管理平台WordPress和云计算平台Azure简介
2.1 在Azure上创建网站及网站运行机制
2.2 域名绑定操作和Azure负载均衡机制
2.3 WordPress 初始化和网站管理功能
3.1 WordPress 数据导入
3.2 WordPress 多站点支持和Azure在线代码编辑器
3.3 WordPress 多语言支持 Multisite Language Switcher
3.4 WordPress 主题安装和配置,美化你的网站
4.1 Visual Studio Online 在线开发平台
4.2 使用 vso 和 azure 构建 DevOps环境
请配合视频阅读本文
每个网站都需要有自己的域名,域名是唯一标识站点的名称。给站点起一个容易记忆并且和内容相关的域名是你建站的第一步。可以通过以下这些域名服务可以自助完成注册的工作,一般来说5-10分钟就可以完成一个网站的域名注册操作。
- 万网(现隶属于阿里云):http://www.net.cn
- Go Daddy: http://www.godaddy.com
微软Azure云计算国际版和国内版
对于中国的用户来说,获取微软Azure云计算账号有两个途径,分别是:Azure国际版和Azure国内版。
- 国际版:2008年10月27日,当时微软的首席架构师 Ray Ozzie在微软技术大会上宣布,并在2010年2月正式开始在全球商业运营的云计算平台。Azure在全球有17个数据中心(服务区),覆盖了北美,南美,欧洲,亚洲和大洋洲等主要区域。在亚洲,Azure国际版有3个数据中心,分别位于:香港(东亚),新加坡(南亚),日本(日本东部和西部)。具体的数据中心分布可以参考:http://azure.microsoft.com/en-us/regions/
class="alignnone size-medium wp-image-1601" src="/Upload/Images/2015030102/07AAACCDF37D104D.png" alt="Azure全球区域分布图" width="300" height="178" />
- 国内版:由于中国政府的政策限制,微软无法直接在中国境内运营数据中心服务。因而,在2014年与世纪互联合作,由微软提供全部技术和人员,由世纪互联提供运营和实体,成立Azure中国。是首个在中国境内正式商用的全球化云计算提供商。当前,Azure在中国境内提供2个数据中心,分别位于:北京和上海。介于国内的运营商相互割裂的情况,Azure也提供了BGP连接,确保用户可以通过任何网络快速的访问Azure的数据中心服务。
也是因为政策的限制,Azure在国内的数据中心与国外的数据中心是不提供直接的数据链路的,同时也采用2套独立的账号系统,2种不同的定价策略,因此大家在选择服务的时候需要综合考虑自己的受众以及Azure国内外服务的差异来考虑。
从技术上看,Azure国际版的功能是更新的非常快速的。国内版由于刚刚开始运营,在功能上与国际版还是有一定的差异。比如:我们在《快速创建网站》中所使用的WordPress自动部署功能当前在Azure国内版中就还没有提供。这里的原因除了国内版刚刚开始运营之外,也和很多的非技术因素。比如:像WordPress的这个自动部署需要依赖ClearDB所提供的mysql服务,而clearDB是第三方的云服务,因而很难直接引入到中国来使用。不过,即便有这些限制,最近国内Azure的更新速度也在加快,基本上在国际版新服务提供后90天内可以同步完成国内的部署。说明国内的Azure团队还是在不断的成熟和改进的。
Azure云计算账号获取
因为以上的原因,有2种不同的方式获取Azure账号。
- 国际版账号,可以通过以下网址获取。国际版试用账号提供$210美金的使用额度,你可以使用这些额度购买任何的服务,有效期1个月。http://azure.microsoft.com/zh-cn/pricing/free-trial/
如果你有MSDN或者BizSpark(初创企业)账号,那么将同时获得一定的免费使用额度;而且MSDN和BizSpark账号的Azure额度是每个月更新的,也就是说,具备msdn或BizSpark账号的用户可以在一直免费使用Azure的服务。
- msdn: http://azure.microsoft.com/zh-cn/pricing/member-offers/msdn-benefits/
- bizSpark:http://azure.microsoft.com/zh-cn/pricing/member-offers/bizspark-startups/
如果你是学生或者老师,也可以申请一定额度的免费Azure用量。
- 教育用户:http://www.microsoftazurepass.com/azureu
注册方式:你需要在线完成注册,并提供一个非中国大陆的手机号码用于账号激活。这点可能大家觉得比较麻烦,但其实你完全可以找个香港或者其他地方的朋友,用他们手机号码激活。只需要让他们把激活码发送给你就好了。激活过程需要你提供信用卡号码(国内的信用卡是ok的),但是只要你不超出用量,是不会产生费用的。
- Azure国内版账号,可以通过以下网址获取。国内版当前提供1元人民币试用,注册过程可以在线完成,1元的支付可以通过支付宝完成。激活账号后你将获取¥1500人民币的用量,可以用于购买任何的服务,有效期为1个月。http://www.windowsazure.cn/pricing/1rmb-trial/
Azure用量计算器
Azure提供了简单易用的用量/价格计算器,可以很方便的计算自己的额度可以使用多少资源。
- 国际版:http://azure.microsoft.com/zh-cn/pricing/calculator/
- 国内版:http://www.windowsazure.cn/pricing/calculator#all
在微软Azure云计算平台上创建网站服务
视频中所演示的网站创建过程如下:
注:此演示过程使用Azure国际版完成。
- 登陆Azure控制台 https://manage.windowsazure.com
- 点击左侧的 网站 图标进入 网站功能 页面
- 点击页面左下角的 新建 按钮,并在弹出的功能菜单中选择 计算 | 网站 | 从库中
- 在弹出的 查找Microsoft Azure应用 页面中,点击左侧的 博客 过滤项,并在中间列表中找到WordPress 的选项,并单击选定。
注:大家需要注意右侧所显示的WordPress版本,Azure会不断的将这个版本更新为最新的WordPress稳定版。在撰写本文时使用的是4.1版本,因此后续在安装各种插件的时候均选择与4.1版本兼容的内容。
- 单击右下角的 下一步 图标,在 配置应用 页面中,填写站点的基本信息,包括:
- URL:这是一个以 azurewebsites.net 结尾的域名,你需要指定此域名的第一部分。这个域名是Azure用来区分不同应用的内部域名,与本文开始时我要求大家注册的域名不同,这个域名是由Azure来识别和管理的。当我们的网站创建好后,我们将把我们自己的注册的域名绑定到这个Azure的内部域名上。
- 数据库:这是WordPress用来存放网站数据的数据库,Azure可以自动创建MySQL数据库并自动配置WordPress连接到这个数据库上。
- Web Scale Group (Web Hosting Plan 宿主计划):宿主计划是Azure中用来对网站资源进行分组管理的功能,你可以把一组相关的网站放置于同一个宿主计划中,这样在进行横向扩展的时候就可以同时对这些网站进行操作,简化你的扩展操作。相关资料请参考:http://azure.microsoft.com/blog/2014/04/04/introducing-web-hosting-plans-for-azure-web-sites/
- 区域:这里将列出Azure在全球的所有数据中心,你可以选择将自己的站点放置在其中任何一个数据中心。选择数据中心时要尽量选择与自己的目标用户比较近的位置,保证访问的速度和稳定性。所有区域列表可以在这里查到:http://azure.microsoft.com/zh-cn/regions/
- 订阅:订阅是Azure中用来管理账号相关资源的方式,每个Azure账号可以有多个订阅,每个订阅中可以管理多个资源。你也可以将一个订阅分配给其他用户使用。
- 部署设置:这是与WordPress相关的一些配置项,其内容会写入到wp-config.php这个配置文件中。在这里配置的都是一些密钥,用来对WordPress数据库中的敏感信息进行加密的。这些密钥后期可以通过修改wp-config.php文件随时修改,在这里可以配置也可以留空。
- 点击 下一步 后,在 新建MySQL数据 页面中,配置好数据库名称和区域
数据库的区域要尽量与网站的区域统一,以保证网站和数据库的连接速度。另外,同一个区域内的数据传输不会收取费用,而跨数据中心的数据流量是收费的。
- 点击 完成 按钮,等待Azure完成部署。过程中可以通过点击页面右下角的进度图标看到进度。
可以通过控制台看到当前的窗台,如:正在创建
点击右下角的进度图标,看到详细的进度
- 当网站的状态显示为 正在运行 后,就表示网站创建已经完成,我们就可以使用我们的网站了。
将鼠标放置在网站名称上,可以看到一个向右的箭头
点击此箭头就可以进入当前网站的控制台,控制台上分区域显示和当前网站相关的所有信息。对网站的所有操作都可以通过这里完成
- 完成以上操作后,可以点击右侧的 站点url,打开以下WordPress安装页面。
请注意:不要点击下一步。因为WordPress会使用当前页面的url来初始化数据库,我们不希望WordPress使用.azurewebsites.net这样的域名来进行初始化(当然,如果你只是进行测试,那就无所谓了)。在2.2中,我们将会完成域名的绑定,届时我们会回到这个页面完成WordPress的安装操作。
Azure网站机制介绍
Azure 网站服务是一种 Platform-as-a-Service(PaaS http://en.wikipedia.org/wiki/Platform_as_a_service )服务,是构建在操作系统和应用服务器之上的一种应用级别的服务。使用PaaS服务的好处是你不必关心底层的应用服务器和操作系统(对Azure而言就是Windows Server和IIS服务),只需要维护自己的应用程序(网站)即可,这样如操作系统升级,补丁和更新等问题就都交予云服务平台来完成。同时,Azure还对网站提供3个很重要的功能:冗余,复杂均衡和自动化部署。
- 冗余:就是备份,不过这是一种在线的备份,也就是说在同一时间,你的网站有多个互为同步的备份存在。在任何时候,如果正在被使用的拷贝出现了问题,Azure会自动将请求转移到可用的备份上面。而且,Azure还提供跨数据中心的地理冗余,比如:你的网站放置在北京的数据中心,那么你可以选择在上海的数据中心创建冗余,这样如果北京的数据中心完全被毁坏了,你的数据仍然是安全的。这些冗余操作和恢复在Azure中都是自动完成的,用户只需要选定相应的配置即可。
冗余
- 负载均衡:就是多节点轮换进行服务,这主要是为了解决性能问题。如果一个节点的性能无法满足要求,你可以通过简单的配置完成多个节点的创建,Azure会自动的将请求分配给所有的节点,同时完成你的应用在不同节点间的同步。负载均衡的机制和医院里面的分诊台很接近,因为病人很多,医院一般都会为同一个科室(服务)配置一个分诊台(负载均衡器NLB),由她完成病人到诊室的分配,保证医生(服务器资源)的充分利用和病人等待时间(响应时间)的控制。同时,如果哪个医生需要上厕所(离线)或者休病假(当机),分诊台也可以动态的完成病人的分配。
负载均衡
- 自动化部署:在以上网站创建过程可以看到,Azure会自动完成IIS配置,WordPress文件上传和mysql的配置,同时修改wp-config.php这个配置文件,保证新部署的站点可以自动的连接到对应的数据库上。而在传统的WordPress部署中,以上这3个操作都是需要人工完成的。自动化部署也可以与持续集成系统进行集成,在《快速创建网站》系列的最后,我会给大家介绍如何使用Visual Studio Online中的git代码库与Azure网站进行集成,完成自动化的部署。
最后值得一提的是,Azure网站不仅仅支持微软的开发语言和环境,同时也为开源环境提供了很好的支持,当前所支持的环境主要包括:
- ASP.NET
http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-get-started/
- PHP
http://azure.microsoft.com/en-us/documentation/articles/web-sites-php-mysql-deploy-use-git/
- Node.JS
http://azure.microsoft.com/en-us/documentation/articles/web-sites-php-mysql-deploy-use-git/
- Java
http://azure.microsoft.com/en-us/documentation/articles/web-sites-java-get-started/
- Python
http://azure.microsoft.com/en-us/documentation/articles/web-sites-python-create-deploy-django-app/
在今年1月的MVP ComCamp2015 Keynote上我也演示了如何部署一个Node.JS应用到Azure网站上,感兴趣的同学可以看看这篇博客(有视频演示):
http://anb.io/blog/opensource-freetools-crossplatform-mvp-comcamp2015-keynote/
希望本文可以帮助你对Azure云计算有一定的初步了解,并且可以获取到免费的试用账号。如果你已经完成了本文的操作,请《快速创建网站》系列后续的内容。
请关注微信公众号,每周推送内容,有技术也有吃喝玩乐,一起做个有情怀的程序猿。