空非易博客自建立近 6 年以来,使用的都是虚拟主机,主要是价格便宜,不用花时间和精力维护服务器,只管做好内容就行。随之而来的是,一直提心吊胆维护着博客,不知道哪天会因同台服务器的其它站点导致服务器宕机——这也是虚拟主机的最大弊端,并且这几年来发生此类事情不在少数。

题外话就不谈了,谈谈这次搬迁的事情。

去年(2015年)“双 11”前夕,DNSPOD 云主机发布促销活动,可谓折扣很大,对于玩了近 6 年的主机空间的人来说,诱惑力十足,忍耐几天以后,在各种理由和借口怂恿之下,终于按耐不住便花巨资一口气购买了 3 年。至今 1 年多时间过去了,假设的情况并没有发生,然而服务器空转了 1 年多,没产生任何价值,要是腾讯云多些我这样的用户,应该要少部署几个机房吧。

可能你会问,上文中 DNSPOD 云主机和腾讯云有什么关系?自从腾讯收购 DNSPOD 之后,DNSPOD 云主机使用的就是腾讯云的主机,而且可以在腾讯云管理平台直接操作。下图为目前网站云主机配置。

hostConfig.png

多年来,从事的开发工作大部分是基于 Windows 系统,云主机安装 OS 之前,曾纠结过,选 Linux 还 Windows,因使用习惯问题,最终选择安装 Windows Server 2012 R2 数据中心版,这也给博客运行环境的搭建带来不少麻烦。

目前绝大多数 PHP 系统或程序都是运行在 Linux 上,对于 Typecho 来说,使用一键安装包 LAMP 或 LNMP 足够胜任。但是在 Windows 上,可不那么方便。曾经的 WAMP 大部分不需要,一是不能利用 IIS8.5 优良性能;二是已购买腾讯云的 Mysql 数据库,所以只能单独安装 PHP,以下为安装过程。

  1. IIS 安装 CGI 模块,操作过程为:服务器管理器->仪表盘->添加角色和功能,再找到下图中的选项并安装。

GgiInstaller.png

  1. 下载环境组件 vcredist_x64(For VS2012)vcredist_x86(For VS2012)URL Rewrite,前两者是运行 IIS 安装 PHP CGI 必备组件,对于 64 OS,两者都要安装,第三个为用于伪静态的URL重写组件。

  2. 下载 PHP 组件,本次安装的是 PHP 5.6(5.6.29),需要注意的是由于用 FastCGI 模式运行 PHP 程序,所以没有必要用线程安全的 PHP 版本,直接用 None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。

  3. 安装 PHP。解压下载的 PHP 压缩文件,将解压后的文件夹重命名为 php,并将该 php 文件夹拷贝到 C 盘要目录下。打开 C:\php,复制 php.ini-production 并重命名为 php.ini,用记事本打开 php.ini,将作出以下修改(需求去掉每行前的;配置才生效):

extension_dir = "C:\php\ext"   #设置php模块路径
date.timezone = PRC   #设置时区为中国时区
register_globals = On  #开启GET数据调用
short_open_tag = On  #php支持短标签
cgi.force_redirect = 0  #开启以CGI方式运行php
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
  1. 开启 php 扩展模块,根据需要选择开启,取消前面的分号为开启相应扩展模块,如下示:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_sockets.dll
extension=php_xmlrpc.dll
extension=php_pdo_mysql.dll
  1. 以后完成后保存 php.ini 并退出。打开 IIS,双击左边“起始页”下面的计算机名称,找到中间的“IIS”部分,打开“处理程序映射”,点右边的“添加模块映射”,并填写或选择以下信息,相关过程参见示例图。

    请求路径:*.php
    模块:FastCgiModule
    可执行文件(可选):C:\php\php-cgi.exe
    名称:PhpFastCGI

IIS_PHP_Config_01.png
IIS_PHP_Config_02.png

  1. 设置 PhpFastCGI。双击左边 IIS “起始页”下面的计算机名称,找到中间的IIS部分,打开“FastCGI设置”。右键选中C:\php\php-cgi.exe然后选择编辑:

IIS_PHP_Config_03.png

  1. “监视对文件所做的更改”->选择C:\php\php.ini,“环境变量”->点旁边的“...”,点弹出框左边的“添加”,填写 Name:PHP_FCGI_MAX_REQUESTS,Value:1000,然后再确定,直至完成。

IIS_PHP_Config_04.png

  1. 设置“默认文档”,将index.php设为首选项。再测试 php 程序是否正常运行。新建一个 index.php 文件,写入如下内容:

    <?php
    phpinfo();
    ?>
    
  2. 将上述文件保存退出,再上传到你的网站目录,在浏览器里面打开http://yourdomain/index.php

  3. 开启Zend OPcache,加速php执行效率,用记事本打开C:\php\php.ini文件, 在最底部增加以下代码。

zend_extension = "C:\php\ext\php_opcache.dll"
opcache.memory_consumption=1024
opcache.optimization_level=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4096
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable=1
opcache.enable_cli=1

最后,保存退出,在浏览器里面打开http://yourdomain/index.php,可以看到Zend OPcache配置选项。

关于网站根目录下新建文件 web.config,添加伪静态规则代码实现网站静态化,以后有机会写文章给大家参考。

空非易文章均为原创,转载请以链接形式注明本文地址

本文地址:http://pengzhiyong.com/archives/Blog-move-to-Tencent-cloud.html

作者:空非易 | 标签: , , , | 浏览:1083