Docker安装Typecho + HTTPS + 重定向

Docker安装Typecho + HTTPS + 重定向

admin
2021-08-24 / 0 评论 / 301 阅读 / 正在检测是否收录...

一、 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 hanbadger.com www.hanbadger.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

0

评论 (0)

取消