利用小内存VPS也能安装的Caddy+PHP 7+MySQL环境快速搭建Typecho博客

请注意,本文编写于 115 天前,最后修改于 27 天前,其中某些信息可能已经过时。

说明:我们一般搭建博客的方法就是使用lnmp、lamp等一键包,或者kangle、宝塔等面板来搭建Web环境,不过都只适合大点内存的VPS服务器,小点的比如96M128M服务器就不行了,这时候我们就可以通过安装其它环境来搭建网站环境了,这里博主就说下Caddy+PHP7+MySQL安装教程,博主已成功在128M的VPS服务器上搭建Typecho博客,也就是此站。本篇文章未作特殊说明的命令全部逐行输入


说说各种配置的优点

PHP7:一个几乎支持搭建所有网站的PHP版本。
Caddy:占用内存低,管理、配置极其方便。
MySQL:运行速度很快,方便管理、备份恢复等。
小内存VPS:便宜不多说,一年只需$5,超级适合学生党。
至于为什么不用SQLite——虽说SQLite占用内存少,但博主尝试了好几次都显示数据库查询失败,而且用起来确实是MySQL顺手。


事先准备

#我们可以通过这个命令查看是不是被其他软件占用了80端口
netstat -lntp
#如果是Apache2,以Debian示例,运行下面命令卸载掉。
apt remove apache2

安装

教程以Debian8、9示例,其他操作系统的步骤也类似,只要能安装Caddy+PHP7+MySQL就没什么问题。
注意:安装MySQL的时候系统将重复提示两次你为MySQL root用户设置密码,如下所示。过程中两次输入的密码要相同,输入时密码不会显示出来,千万不要输错了密码,否则连你自己都不知道自己输了什么。

为MySQL root用户设置密码
为MySQL root用户设置密码

再次为MySQL root用户设置密码
再次为MySQL root用户设置密码

1. 安装PHP 7和MySQL

#Debian 8系统
#添加源
echo "deb http://packages.dotdeb.org jessie all" | tee --append /etc/apt/sources.list
echo "deb-src http://packages.dotdeb.org jessie all" | tee --append /etc/apt/sources.list
#添加key
wget --no-check-certificate https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg
#更新系统
apt-get update -y
#安装PHP 7和MySQL
apt-get install php7.0-cgi php7.0-fpm php7.0-curl php7.0-gd php7.0-mbstring php7.0-xml php7.0-mysql mysql-server -y

#Debian 9系统
#更新系统
apt-get update -y
#安装PHP 7和MySQL
apt-get install php7.0-cgi php7.0-fpm php7.0-curl php7.0-gd php7.0-mbstring php7.0-xml php7.0-mysql mysql-server -y

2. 安装Caddy
这里直接使用Toyo的一键脚本。

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

3. 下载Typecho

mkdir /home/wwwroot && mkdir /home/wwwroot/blog && cd /home/wwwroot/blog
#以下为最新开发版,已经用惯了
wget http://typecho.org/build.tar.gz
tar zxvf buil*
mv ./build/* ./
rm -rf buil*
chmod -R 755 ./*
chown www-data:www-data -R ./*

4. 创建typecho数据库

#首先,登录MySQL Shell
mysql -u root -p
#随后输入你设置的MySQL root用户密码

#现在,创建数据库和用户
#创建typecho数据库
CREATE DATABASE typecho;
#创建用户typechouser
CREATE USER typechouser@localhost;
#为此用户设置密码,注意自行修改[password]
SET PASSWORD FOR typechouser@localhost= PASSWORD("password");
#将typecho数据库的所有权限授予此用户,注意自行修改[password]
GRANT ALL PRIVILEGES ON typecho.* TO typechouser@localhost IDENTIFIED BY 'password';
#重新加载新用户设置
FLUSH PRIVILEGES;
#退出MySQL Shell
exit

5. 配置Caddy
以下全部内容是一个整体,是一个命令,修改示例域名后全部复制粘贴到SSH软件中并一起执行。

echo "http://www.mhun.top {
    redir https://www.mhun.top{url}
    }
    https://www.mhun.top {
    gzip
    tls blog@mhun.top
    root /home/wwwroot/blog
    fastcgi / /run/php/php7.0-fpm.sock php
    rewrite {
        if {path} not_match ^\/admin
        to {path} {path}/ /index.php?{query}
     }
}" > /usr/local/caddy/Caddyfile

参数说明:

#第一个{}参数为重定向,将http://www.mhun.top重定向到了https://www.mhun.top,根据实际情况修改
#tls为自动签发Let’s Encrypt证书,邮箱随便填,使用自签发证书的请先解析好域名,如果想使用自己的证书,则将tls一行改成tls
/xxx/xxx.crt /xxx/xxx.key即可,后面为证书路径。

最后启动Caddy

/etc/init.d/caddy start

然后可以访问域名进行安装了。

Typecho安装配置
Typecho安装配置

数据库文件在/var/lib/mysql/目录,记得随时备份。

mysqldump -utypechouser -ppassword typecho > /home/data/typecho.sql
#注意自行修改[password]

Caddy说明

启动:/etc/init.d/caddy start
停止:/etc/init.d/caddy stop
重启:/etc/init.d/caddy restart
查看状态:/etc/init.d/caddy status
查看Caddy启动日志:tail -f /tmp/caddy.log
安装目录:/usr/local/caddy
Caddy配置文件位置:/usr/local/caddy/Caddyfile
Caddy自动申请SSL证书位置:/.caddy/acme/acme-v01.api.letsencrypt.org/sites/xxx.xxx(域名)/

本文参考了Rat大佬的博客

- The End -


本文作者: 梦魂
原文链接:《利用小内存VPS也能安装的Caddy+PHP 7+MySQL环境快速搭建Typecho博客》
本站未注明转载的文章均为原创,转载时须注明出处及本声明。

Comments

添加新评论

已有 2 条评论

嗯哼,也是一位站长呢,你的站点做的不错嘛,可以换个主题更美观哦

收藏备用,讲得挺详细的。