Halo博客搭建过程
腾讯云、tencentOS
域名:lyy52.wang
- cenos服务器新增用户test的命令
# 新增用户
adduser test
# 修改密码
passwd test
# 添加sudo权限(1.找到sudoers文件;2.修改文件配置)
whereis sudoers
chmod u+w /etc/sudoers
vim /etc/sudoers
chmod u-w /etc/sudoers
# 删除用户的命令
userdel -r test
配置文件修改如下
- 安装配置docker
# 安装docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
# 查看docker版本
docker -v
# 配置docker源(因为我是腾讯的服务器,就配的腾讯源)
vim /etc/docker/daemon.json
### 配置中添加腾讯源(或者其他)
# 重新加载配置、重启docker
systemctl daemon-reload
systemctl restart docker
# 配置docker开机自启
systemctl enable docker
# daemon.json 配置腾讯源
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
- 下载并修改Halo的配置文件
# 创建根配置文件目录并跳转
mkdir ~/.halo && cd ~/.halo
# 下载application.yaml
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
# 根据需要修改 数据库信息、后端地址等
- docker启动Halo容器
# 拉取镜像
docker pull halohub/halo:latest
# 根据镜像创建容器并启动
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:latest
到这一步,用ip+端口已经可以访问halo了,接下来配置域名和https
- 服务安装nginx
yum install nginx
# 创建一个配置文件,配置文件实例在后面
vim /etc/nginx/conf.d/my_nginx.conf
# 启动nginx
systemctl start nginx
# nginx重启和停查看状态
systemctl restart nginx
systemctl stop nginx
systemctl status nginx
配置文件实例(来源于Halo官方文档)
upstream halo {
server 127.0.0.1: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;
}
}
【注】这里的域名需要备案且要添加服务器ip解析,其次,服务器安全组(阿里云叫安全组,腾讯叫防火墙)必须开启80端口访问权限。
到这里,域名也可以访问博客啦💐
但是细心的小伙伴发现,用浏览器打开总会提示网站不安全。因为我们走的是http协议,需要添加证书走https协议,就会变成一把小锁表示访问安全。
- 获取SSL证书并配置https
SSL长期证书一般来说都是收费,博主是用的阿里云域名免费领的SSL证书,一年一换,虽然麻烦一点,但是免费呀(真-白嫖党~)。(其他云计算厂商也有免费的,如七牛云)
另外,配置https的方法有很多,这里附上阿里云的官方文档吧 配置HTTPS证书
https走的是443端口,所以服务器安全组(阿里云叫安全组,腾讯叫防火墙)必须开启443端口访问权限。还要注意nginx也要配置443端口转发哟~