利用docker+nginx配置halo博客

原方案:如何搭建个人博客
欢迎访问:http://optisky.top/
碎碎念

由于之前用docker+nginx部署博客项目时又一次把阿里云服务器搞崩了,又重装了阿里云。因此使用docker重装博客

安装docker

# 1、yum 包更新到最新 
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker,出现输入的界面都按 y 
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v
#启动docker
/bin/systemctl start docker.service
  • 这里用阿里云服务器的话可以配个加速(也可跳过)
sudo mkdir -p /etc/docker


sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://bn19h61u.mirror.aliyuncs.com"]
}
EOF


sudo systemctl daemon-reload

sudo systemctl restart docker

在这里插入图片描述

  • 浏览器输入ip:8090

在这里插入图片描述

不需要反向代理啥的,到这就结束了。
————————————————————————

安装nginx

docker run \
-p 80:80 \
--name nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest
  • 然后在网页上访问自己的IP就可以了默认端口为80(出现如下欢迎界面就成功了!)
    在这里插入图片描述

反向代理

docker inspect halo
  • 会显示很多东西,划到最下面找到容器ip
    在这里插入图片描述
    进入/home/nginx/conf/conf.d/
cd /home/nginx/conf/conf.d/

可以删除原来默认的配置,改为这个

upstream halo {
  server 172.17.0.2:8090;
}
server {
  listen 80;
  listen [::]:80;
  server_name www.yourdomain.com;
  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;
  }
}

记得做相应修改。第二个域名没有就不用改
在这里插入图片描述

重启nginx

 docker restart nginx

现在直接输入ip或者域名就到了halo界面

在这里插入图片描述


版权声明:本文为m0_67290880原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。