使用docker在虚拟机快速搭建halo个人博客、nginx反向代理

系统选择

我选择的都是ubantu,图形界面美观,操作友好,而且此前我一直接触的是centos,这一次使用ubantu的体验出乎意料!
image-1652346650375

我们先要确保本地一定得有openjdk11或者更高得版本(不推荐最新的版本兼容性不好)

1创建工作目录

1
mkdir ~/.halo && cd ~/.halo

2下载示例文件到工作目录

1
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml

这个文件是配置文件的示例,官方教程让你改,其实没啥好改的,因为里面内置了一个h2数据库,这个数据库的优点是:占用资源少、启动快、配置方便;缺点是:不方便手动访问。但是个人博客用后台的仪表盘就行了,没必要手动访问,如果配置MySQL可以去官方教程

image-1652347120800

3拉取docker镜像

ubantu安装docker教程

1
docker pull halohub/halo:1.5.3

4创建docker容器

1
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:1.5.3

5查看容器的运行状态

1
docker ps

image-1652347888634

访问配置页面

http://ip地址:8090
8090为默认端口号

image-1652348298123

配置nginx反向代理

如果是在自己的云服务器上建立个人博客,建议用nginx反向代理,通过域名访问,域名可以去阿里、腾讯等云服务厂商购买。

1使用docker拉取nginx的镜像

1
2
docker pull nginx

2创建nginx容器

–restart=unless-stopped是设置启动docker的时候容器也自动启动。

1
2
docker run --name nginx -p 80:80 -d --restart=unless-stopped nginx

访问ip地址(不用加端口号),就可以访问nginx的初始界面,如果服务器不能访问,就需要在自己云服务器的官方控制台设置安全组,开放80端口
image-1652410020185

3进入nginx容器

1
docker exec -it nginx /bin/bash

4更改nginx的配置文件

下载vim

在进入nginx的容器后,相当于进入了一台虚拟机,此时的虚拟机的操作系统是非常轻量级的,可以说啥都没有,就连vim都需要自己下载,所以先得下载一个vim

1
2
3
apt-get update
apt-get install vim

配置过程

然后就可以修改配置文件,配置文件的目录和在Linux上直接安装nginx的是一样的(这里的容器相当于一个小型的Linux系统)

1
2
vim /etc/nginx/nginx.conf 

image-1652409569571
在这个位置下粘贴以下代码段,端口号根据自己的修改,然后填写自己的域名(需要在自己的域名服务下设置一个子域名,前缀可以是www.或者blog.)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
upstream halo {
server 127.0.0.1:8090;
}
server {
listen 80;
listen [::]:80;
#填入你的域名
server_name *******;
client_max_body_size 1024m;
location / {
proxy_pass http://halo;
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;
}
}

5结果演示

image-1652409800821

原文链接:https://blog.lyt11.cn/posts/83b110613f77/

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享