Docker 安装 Halo
docker pull halohub/halo:1.5.4 # docker 从远程仓库下载镜像
- 1
docker run -it -d --name fl1906 -p 666:8090 -v ~/fl1906:/root/.halo halohub/halo:1.5.4 --restart=always docker run -it -d --name walktop -p 777:8090 -v ~/walktop:/root/.halo halohub/halo:1.5.4 --restart=always
- 1
- 2
- 3
参数详解
:-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
–name :为创建的容器命名。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
~/
表示当前目录.
带.开头的文件夹默认被隐藏掉 例如:~/.fl1906 表示当前目录下被隐藏的目录名叫 fl1906的文件夹
主题下载地址
https://github.com/qinhua/halo-theme-joe2.0/releases
1 阿里云申请 相应域名的ssl 并下载 nginx版的 key 和cert
user www www; worker_processes auto; error_log /www/wwwlogs/nginx_error.log crit; pid /www/server/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200; multi_accept on; } http { include mime.types; #include luawaf.conf; include proxy.conf; default_type application/octet-stream; server_names_hash_bucket_size 512; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 50m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable "MSIE [1-6]\."; limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server_tokens off; access_log off; server { listen 888; server_name phpmyadmin; index index.html index.htm index.php; root /www/server/phpmyadmin; #error_page 404 /404.html; include enable-php.conf; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } access_log /www/wwwlogs/access.log; } server{ listen 443 ssl; #对应你的域名 server_name blog.flya.top; ssl_certificate /www/crt/8841417_blog.flya.top.pem; ssl_certificate_key /www/crt/8841417_blog.flya.top.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; #如果是静态文件,直接指向目录,如果是动态应用,用proxy_pass转发一下 location / { gzip_static on; # 静态压缩 add_header Cache-Control public,max-age=60,s-maxage=60; # 配置缓存 proxy_set_header HOST $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:666/; #将域名为admin.tessai.cn的请求分发到本地666端口的服务 } } server{ listen 999 ssl; #对应你的域名 server_name walktop.cn; ssl_certificate /www/crt/8841443_walktop.cn.pem; ssl_certificate_key /www/crt/8841443_walktop.cn.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; #如果是静态文件,直接指向目录,如果是动态应用,用proxy_pass转发一下 location / { gzip_static on; # 静态压缩 add_header Cache-Control public,max-age=60,s-maxage=60; # 配置缓存 proxy_set_header HOST $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:666/; #将域名为admin.tessai.cn的请求分发到本地666端口的服务 } } include /www/server/panel/vhost/nginx/*.conf; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
访问:
https://blog.flya.top
注意 强烈建议阅读官方文档 本人为速通路线 如果只专注于博客创作可以 跟着我快速搭建
官方文档地址 ===> https://qinhua.github.io/halo-theme-joe2.0/#/
后台管理 - 博客设置 - 高级选项
中开启 API服务
并配置 Access key
为 joe2.0
(切记要和主题设置中的 AccessKey
一致),不然部分用到 Content API
的页面会请求失败并报错。(请参考以下报错)“API has been disabled by blogger currently” —— 后台管理中未开启API服务
“API access key is mismatch” —— 主题中的 AccessKey 和后台管理中的不一致
建议大家在 后台管理-系统-博客设置-高级选项-其他设置
中开启 全局绝对路径
外观-主题设置
基本设置
导航
页脚
轮播图
侧边栏
博主信息
归档页
代码块
基本设置就这些了 后续有补充再更~~~