?原文地址(本人个人网站):https://www.hanbadger.com/archives/19/
安装环境为CentOS,阿里云ECS,数据库为MariaDB,阿里云免费SSL证书
一、 Docker安装
步骤略
参考:Docker官网
二、 Typecho安装
本次使用镜像为80x86/typecho
参考:DockerHub(80x86/typecho)
1 拉取镜像
docker pull 80x86/typecho
2 本地创建网站目录文件夹
mkdir /home/username/typecho
其中username 是本地用户名,如果是在root 用户下,可以直接用mkdir /root/typecho
3 启动Docker
根据镜像说明,使用docker run命令:
docker run -d \
--name=typecho \
--restart always \
--mount type=tmpfs,destination=/tmp \
-v /home/username/typecho:/data \
-e PHP_TZ=Asia/Shanghai \
-e PHP_MAX_EXECUTION_TIME=600 \
-p 80:80 \
-p 443:443 \
80x86/typecho:latest
注意:
-v /home/username/typecho:/data \ 中刚才设置的路径
-p 443:443 \ 为可选,为开启HTTPS做准备
三、(可选) Docker HTTPS 开启(SSL)
1. 申请阿里云SSL证书
申请阿里云SSL证书
申请阿里云免费证书过程:略,百度一搜一大堆。
参考:阿里云免费证书购买
下载Nginx证书,得到xxxx.pem 和xxxx.key
上传证书
通过Filezila等工具,将两个证书文件上传至/home/username/typecho/crt 文件夹中,需要先新建此文件夹。
2. 配置Docker内Nginx
进入Docker容器:
docker exec -it typecho /bin/sh
进入Nginx配置目录:
cd /etc/nginx/sites-enabled
修改默认server配置为:
server {
listen 443 ssl; ## listen for ipv4; this line is default and implied
listen [::]:443 ssl default ipv6only=on; ## listen for ipv6
root /app;
index index.php index.html index.htm;
ssl_certificate "/data/crt/xxxx.com.pem";
ssl_certificate_key "/data/crt/xxxx.com.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
.....其余不改动
}
四、(可选) 重定向调整
1.进入Docker容器,进入Nginx配置目录:
参考上一步操作。
2.新建文件redirect :
内容如下:
server {
listen 80;
server_name xxxx.com www.xxxx.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
可使用vi redirect 新建此文件,若提示无vim工具,可先使用apt-get 命令更新后安装vim
安装vim :apt-get update ?apt-get install vim -y
五、重启Nginx
nginx -s reload
|