PHP on Windows Azure 入门教学系列(3) ——在Windows Azure中部署Wordpress
公告:本博客为微软云计算中文博客的镜像博客。部分文章因为博客兼容性问题,会影响阅读体验。如遇此情况,请访问原博客。
本文是PHP on Windows Azure 入门教学系列第三篇文章。请上一篇文章中,我们已经成功的在Windows Azure中运行了PHP应用,并结合了SQL Azure的使用。本文会讲解如何将Wordpress部署至Windows Azure。请读者按顺序阅读本教学系列,因为本文会用到上一篇文章中所创建的项目。
代码:
- 1. 点击这里下载Wordpress 程序包。Wordpress默认使用MySQL作为其数据库。而我们下载的Wordpress程序包是由http://wordpress.visitmix.com/网站改写过的。将其解压至PHP_WebCgiRole)(请参考第一篇文章) 项目目录下,如下图:
- 2. 将上图wp-config-sample.php文件重命名为wp-config.php文件(该文件是Wordpress的配置文件),并打开,填入数据库连接信息(请参考本教程第二篇文章),如下图:
注意将DB_TYPE 改为sqlsrv,以连接SQL Azure数据库。
- 3. 打开wp-settings.php,找到147行,注释掉如下语句:
if ( !extension_loaded('mysql') && !file_exists(WP_CONTENT_DIR . '/db.php') )
die( /*WP_I18N_OLD_MYSQL*/'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.'/*/WP_I18N_OLD_MYSQL*/ );
- 4. 打开wp-admin目录下的setup-config.php,找到57行,注释掉如下语句:
if ( !extension_loaded('mysql') && !file_exists(ABSPATH . 'wp-content/db.php') )
wp_die( /*WP_I18N_OLD_MYSQL*/'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.'/*/WP_I18N_OLD_MYSQL*/ );
我们说过Wordpress默认以MySQL作为数据库,所以Wordpress会检查PHP是否加在了php_mysql.dll模块。(当然您也可以在php.ini文件中移除掉;extension=php_mysql.dll的注释 以加载mysql 模块。)
- 5. 打开Web.Config,在 <system.webServer> tag内添加如下配置。(错误信息的显示模式为详细,同时添加URL重写的支持)
<httpErrors errorMode ="Detailed"/>
<rewrite>
<rules>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule>
</rules>
</rewrite>
6. 目前为止,我们的程序已经可以部署至Windows Azure之上。但是这里我们先给Wordpress添加使用Windows Azure Storage的功能。
- 7. 先从这里,下载到 Windows Azure Storage for WordPress 插件。以及这里,下载到Windows Azure SDK for PHP v1.0.1。
- 8. 在插件解压后放入wp-content 下plugins目录下。 将SDK解压后,将library下Microsoft文件夹添加入PHP_WebCgiRole项目目录下。如下图:
- 9. 在php.ini中找到;extension=php_curl.dll,将其分号去除,移除掉注释。因为该插件会用到CURL
模块。
- 10. 参考第二篇文章,将项目部署至Windows Azure。通过网址打开所部署的网站,如下图
- 11. 输入 博客名称 和Email 地址,点击Install Wordpress 来安装博客。并按照后续提示,进行操作。
- 12. 在后台控制面板,点击plugins 下的Installed 的标签,在右面我们会看到Windows Azure Storage for Wordpress 插件,点击Activate 以激活它。如下图:
- 13. 激活之后,在Settings 下,点击Windows Azure 标签,进入插件的设置界面。我们看到我们需要填写Store Account Name和Primary Access Key,以及选择默认的Storage Container。
我们先填入Store Account Name和Primary Access Key,点击Save Changes。之后重新刷新页面,我们能看到Default Storage Container该下拉菜单内便列出了可选的Container,选择一个之后 再点击Save Changes。
Store Account Name和Primary Access Key可以在Windows Azure portal 找到如下图:(小红框内为Store Account Name,大红框内为Primary Access Key)
- 14. 之后,当我们在Wordpress内撰写文章时,我们便能插入存储于Windows Azure Storage 内的多媒体文件了,如下图:
好了,至此,我们已经将Wordpress部署至了Windows Azure 的hosted service中,后台数据库使用了SQL Azure,而多媒体文件的存储使用了Windows Azure Storage。