Windows Server 下通过Caddy、PHP安装Typecho博客程序

前言

一哥们在华为云买了域名和服务器,但是不怎么用,之前是用 WordPress 的一为导航(onenav)模板做的站点,但因工作原因精力有限,就放弃做了,随后他就把系统重装为 Windows Server 系统 ,搁那丢了好久。刚好今天我有点无聊,就想起给他弄个轻量级的博客,起初是想直接弄个静态博客,hexo、hogo 之类的,然后直接丢到赛博菩萨(cloudflare)那里的,但是这样就不方便在移动设备上发布内容,遂直接用 typecho 博客程序了,也无需安装数据库文件占用存储,直接用 sqlite 也可以满足需求了。WEB 运行环境直接选择 Caddy 主要是它也比较轻量,配置文件比较简单,最重要的一点是 Caddy 可以自动站点提供HTTPS证书并保持更新,无需额外的去配置。

环境要求及所需程序

WinSw下载地址:https://github.com/winsw/winsw/releases/tag/v2.12.0
Typecho博客程序下载地址:https://github.com/typecho/typecho/releases/tag/v1.2.1

运行环境搭建

Scoop安装好之后开始安装Caddy和PHP,通过以下命令安装Caddy:

Source Code

 
  1. # 添加仓库
  2. scoop bucket add main
  3. # 安装
  4. scoop install main/caddy

 复制 文本

安装 PHP7.4 :

Source Code

 
  1. # 添加仓库
  2. scoop bucket add versions
  3. # 安装
  4. scoop install versions/php74

 复制 文本

修改PHP配置文件

找到scoop 安装软件仓库,默认安装位置为 C:\Users\[user]\scoop\apps 下,依次进入 php74\7.4.33 目录下,可以看到如下图中两个文件,将其中的 php.ini-production 复制改名为 php.ini

Windows Server 下通过Caddy、PHP安装Typecho博客程序

由于当前php环境未开启任何扩展,而安装typecho需要至少安装 mysqli, sqlite3, pgsql, pdo_mysql, pdo_sqlite, pdo_pgsql 中的一个以及 mbstring 扩展,由于选用的数据库为sqlite,所有只需开启 sqlite和mbstring 两个扩展即可 。

Windows Server 下通过Caddy、PHP安装Typecho博客程序

打开php.ini 编辑并修改:
以下扩展开启方法 ,把原配置中以上字段前注释 ; 去掉即可

  1. 开启sqlite扩展

    Source Code

     
      
    1. extension_dir = "ext"
    2. extension=php_pdo_sqlite.dll
    3. extension=php_sqlite3.dll
    4. sqlite3.extension_dir = "ext"

     复制 文本

  2. 开启mbstring扩展

    Source Code

     
      
    1. mbstring.language = Chinese
    2. mbstring.internal_encoding = UTF-8
    3. mbstring.encoding_translation = On
    4. mbstring.http_input = UTF-8
    5. mbstring.http_output = UTF-8
    6. mbstring.detect_order = UTF-8
    7. mbstring.substitute_character = none

     复制 文本

将Caddy和PHP注册为系统服务

注册为系统服务可使应用程序随系统启动。
新建一个文件夹目录,将下载winsw到该目录下,将下载的文件改名为 caddy_service.exe ,在复制一份改名为 php_service.exe 。
新建一个无后缀名的 Caddyfile 文件,内容先留空,后面再来写。随后新建一个 caddy_service.xml 文件,文件内容如下:

Source Code

 
  1. <service>
  2. <id>caddy</id>
  3. <!-- 服务的显示名称 -->
  4. <name>Caddy Web Server (powered by WinSW)</name>
  5. <!-- 服务描述 -->
  6. <description>Caddy Web Server (https://caddyserver.com/)</description>
  7. <!-- 以下的内容改为caddy.exe可执行程序所在的路径 -->
  8. <executable>%BASE%\caddy.exe</executable>
  9. <!-- 以下config后面改为Caddyfile文件所在的路径 -->
  10. <arguments>run --config </arguments>
  11. <log mode="roll-by-time">
  12. <pattern>yyyy-MM-dd</pattern>
  13. </log>
  14. </service>

 复制 文本

 我的caddy_service.xml文件,供参考

在新建一个 php_service.xml 文件,内容如下:

Source Code

 
  1. <service>
  2. <id>PHP</id>
  3. <!-- 服务的显示名称 -->
  4. <name>php Server (powered by WinSW)</name>
  5. <!-- 服务描述 -->
  6. <description>php fastcgi service</description>
  7. <!-- 以下的内容改为php-cgi.exe可执行程序所在的路径 -->
  8. <executable>%BASE%\php-cgi.exe</executable>
  9. <arguments>-b 9000</arguments>
  10. <log mode="roll-by-time">
  11. <pattern>yyyy-MM-dd</pattern>
  12. </log>
  13. </service>

 复制 文本

当前目录下便有了5个文件:

Windows Server 下通过Caddy、PHP安装Typecho博客程序

在当前目录下打开命令行窗口,依次执行如下命令:

Source Code

 
  1. caddy_service.exe install

Source Code

 
  1. php_service.exe install

提示 successfully 表示已经成功。

Windows Server 下通过Caddy、PHP安装Typecho博客程序

此时在系统服务里就可以看到对应的服务。

部署博客及配置Caddyfile文件

新建一个文件目录,把typecho文件全面解压到该目录下。
 

Windows Server 下通过Caddy、PHP安装Typecho博客程序


完成后打开之前创建的Caddyfile文件,复制以下内容,并修改想对应的路径:

Source Code

 
  1. # yourdomain.com改为你的域名
  2. yourdomain.com {
  3. root * C:\Users\Administrator\Desktop\Blog
  4. # 以上改为你放置typecho文件的目录地址
  5. php_fastcgi * 127.0.0.1:9000
  6. encode zstd gzip
  7. file_server
  8. }

 复制 文本

最后在系统服务中启动或者重启 caddy 和php 服务即可。
 

Windows Server 下通过Caddy、PHP安装Typecho博客程序


服务启动后便可通过域名访问到typecho的安装页面。

Windows Server 下通过Caddy、PHP安装Typecho博客程序

caddy 性能调优,配置优化这里不讲了,请参考官方文档。

遇到的一个坑

在安装完php后可在命令行执行一下 php -m 命令,如果提示

Source Code

 
  1. PHP Warning: 'vcruntime140.dll' 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0

这是因为PHP 7.4.x需要用于Visual Studio 2019的Microsoft Visual C ++ Redistributable,如遇到到https://visualstudio.microsoft.com/zh-hans/downloads/下载安装即可解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值