现在让我们开始一天的建站之旅。
本文是《快速创建网站》系列的第2篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文。
访问本系列目录,请点击:http://devopshub.cn/tag/wordpress-on-azure/
1. 网站管理平台WordPress和云计算平台Azure简介 (6分钟视频 )
2.1 在Azure上创建网站及网站运行机制 (13分钟视频)
2.2 域名绑定操作和Azure负载均衡机制 (12分钟视频)
2.3 WordPress 初始化和网站管理功能 (11分钟视频)
3.1 WordPress 数据导入 (12分钟视频)
3.2 WordPress 多站点支持和Azure在线代码编辑器 (14分钟视频)
3.3 WordPress 多语言支持 Multisite Language Switcher (15分钟视频)
3.4 WordPress 主题安装和配置,美化你的网站 (15分钟视频)
4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)(11分钟视频)
4.2 完结篇 – 应用运营vs.发射卫星,遥测(Telemetry) 技术 (13分钟视频)
请配合视频阅读本文
网站域名注册
每个网站都需要有自己的域名,域名是唯一标识站点的名称。给站点起一个容易记忆并且和内容相关的域名是你建站的第一步。可以通过以下这些域名服务可以自助完成注册的工作,一般来说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/
- 国内版:由于中国*的政策限制,微软无法直接在中国境内运营数据中心服务。因而,在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用量。
注册方式:你需要在线完成注册,并提供一个非*的手机号码用于账号激活。这点可能大家觉得比较麻烦,但其实你完全可以找个香港或者其他地方的朋友,用他们手机号码激活。只需要让他们把激活码发送给你就好了。激活过程需要你提供信用卡号码(国内的信用卡是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云计算有一定的初步了解,并且可以获取到免费的试用账号。如果你已经完成了本文的操作,请《快速创建网站》系列后续的内容。
请关注微信公众号,每周推送内容,有技术也有吃喝玩乐,一起做个有情怀的程序猿。