一步一步搭建自己的博客-typecho

前几天开始搭建个人博客,最开始选择的typecho,搭建过程中学习到很多知识,记录在这里。

采用linux unbuntu,利用docker工具快捷搭建

linux 环境配置

学习过程,可以在docker云申请一台胶囊主机

关于命令说明:centos 使用yum,ubuntu使用apt-get,其他命令基本一致。若出现部分命令找不到,yum/apt-get install XXX 建议刚刚使用的时候更新一下,yum -y update apt-get update

安装docker --更多

yum install docker

配置docker镜像

采用Docker 中国官方镜像加速

这里修改配置文件

vi /etc/docker/daemon.json

写入 registry-mirrors 键值

daemon.json
1
2
3
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

设置开机启动

systemctl start docker.service
systemctl enable docker.service

安装配置mysql

拉取mysql镜像

docker pull mysql:5.7.19

创建web目录及mysql容器挂载目录(确保有足够的权限,否则创建到有权限的目录下),如果使用胶囊主机,路径可以换成/home/ubuntu/web/mysql,后续步骤中的路径/root均换成/home/ubuntu

mkdir -p /root/web/mysql

启动容器,在password处填写密码,指定映射本地端口3306,将配置文件目录挂载到/root/web/mysql下,

docker run -e MYSQL_ROOT_PASSWORD='password' -p 127.0.0.1:3306:3306 --name mysql-5.7.19 -v /root/web/mysql:/var/lib/mysql -d mysql:5.7.19

为了避免在多用户情况下,其他人可能通过某种方式看到容器的启动参数,从而获取到mysql密码。将mysql容器删除后重新创建,由于上一次启动的配置文件并没有丢失,可以不带密码参数启动,提高安全性。

docker rm -f mysql-5.7.19
docker run -d --restart=always -p 127.0.0.1:3306:3306 --name mysql-5.7.19 -v /root/web/mysql:/var/lib/mysql mysql:5.7.19

安装配置php-apache

typecho是php环境支持的,apache容器当做解析静态资源的服务器。

拉取php-apache镜像

docker pull changfubai/docker-alpine-php-apache

启动容器,link参数和mysql建立连接,指定映射本地端口8088,并将服务器根目录挂载到/root/web/www/www.changfubai.com 最下级目录可以根据自己网站名称自行指定

docker run -d --restart=always --link mysql-5.7.19:mysql -p 127.0.0.1:8088:80 --name www.changfubai.com -v /root/web/www/www.changfubai.com:/var/www/html changfubai/docker-alpine-php-apache

安装nginx

安装nginx,是用于均衡负载以及内部转发,在网站的实际运行中会很有价值。

apt-get update
apt-get install nginx

创建配置文件,并写入转发信息,注意:配置文件必须以.conf结尾

vi /etc/nginx/conf.d/www.changfubai.com.conf

www.changfubai.com.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

server {
listen 80;
server_name www.changfubai.com; # 修改成自己的域名,如果没有域名,写成服务器的固定ip地址

charset utf8;

location / {

proxy_pass http://127.0.0.1:8088; # 转发地址,这里写php-apache容器配置的路径

proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
}

安装typecho

到这里服务器就配置完了,下一步安装typecho,非常简单,在官网获取下载链接,现在我看到的是这个版本,下载解压到之前配置的apache服务器路径/root/web/www/www.changfubai.com

wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
tar -zxvf 1.1-17.10.30-release.tar.gz -C /root/web/www/
rm -rf /root/web/www/www.changfubai.com/
mv web/www/build/ web/www/www.changfubai.com

现在浏览器输入ip地址,或域名即可访问到typecho,按提示进行网站设置,由于此时网站还未进行网站备案,如果用域名访问默认端口80或者443,会被拦截。

Fork me on GitHub