在数字化时代,个人博客成为了许多人展示自己才华、分享生活点滴、甚至开展副业的重要平台。WordPress是一个功能强大的网站构建工具,它不仅易于使用,而且拥有丰富的插件和主题,非常适合用来创建个人博客。本文将引导您完成使用WordPress搭建个人博客的全过程。
对比了国内的云厂商,乘着双十一活动,腾讯云的海外主机价格最便宜,2U2G的机器,一年只有99元,且可以续费一年。
直接选择新加坡主机。最新的debian系统。
活动期间cn域名也是比较便宜。
先跳过,等网站部署好后,最后再购买。
用如下命令升级系统,确保所有软件版都是最新的。
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo apt autoremove
最后重启一下系统。
sudo systemctl reboot
这里没有选择Docker,而是一种更轻量级的容器引擎。
sudo apt install -y software-properties-common
sudo apt install -y podman
安装完检查一下版本,OK
podman --version
配置 Podman 使用 cgroup v1
sudo vi /usr/share/containers/containers.conf
加入以下设置后保存
[engine]
cgroups_manager = "cgroupfs"
设置完后需要重启podman
sudo systemctl restart podman
配置管理仓库
sudo vi /etc/containers/registries.conf
在文档添加
[registries.search]
registries = ['docker.io', 'quay.io']
拉取最新版本的mariadb镜像
podman pull docker.io/library/mariadb:latest
创建挂载卷,用来存放mariadb数据
podman volume create mariadb_data
运行mariadb
注意:密码这边做了隐藏,需要替换为自己的实际密码。
podman run -d --name mariadb \
-p 3306:3306 \
-v mariadb-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=XXXX \
-e MYSQL_DATABASE=wordpress \
-e MYSQL_USER=wordpress \
-e MYSQL_PASSWORD=XXXX \
mariadb:latest
检查一下状态,如图已经启动成功。
创建挂载卷,用来存放wordpress数据
podman volume create wordpress_data
拉取wordpress最新镜像
podman pull docker.io/library/wordpress:latest
运行wordpress
注意:数据库的ip地址为宿主机的ip
podman run -d --name wordpress \
-v wordpress_data:/var/www/html \
-e WORDPRESS_DB_HOST=10.3.8.3:3306 \
-e WORDPRESS_DB_USER=wordpress \
-e WORDPRESS_DB_PASSWORD=XXX \
-e WORDPRESS_DB_NAME=wordpress \
-p 8080:80 \
wordpress:latest
检查一下状态
浏览器也能正常访问了。
注意:需要在Console上配置一下8080的防火墙。
部署Nginx
创建挂载卷
podman volume create nginx_html
podman volume create nginx_conf
拉取最新镜像
podman pull docker.io/library/nginx:latest
运行nginx
podman run -d --name nginx \
-v nginx_html:/usr/share/nginx/html \
-v nginx_conf:/etc/nginx \
-p 80:80 \
nginx:latest
报了异常,需要修改一下系统配置
sudo vi /etc/sysctl.conf
加入如下配置
net.ipv4.ip_unprivileged_port_start=80
需要应该更新。先要配置sysctl到环境变量。
sudo vi ~/.bashrc
文件末尾添加
export PATH=$PATH:/sbin
最后执行
source ~/.bashrc
sudo sysctl -p
现在可以启动柜Nginx了。浏览器也可以访问。
vi ~/.local/share/containers/storage/volumes/nginx_conf/_data/nginx.conf
在http配置里面新增
server{
listen 80;
server_name 自己的ip或者域名;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://宿主机ip:8080;
}
}
重启nginx
podman restart nginx
在Console页面申请一个免费证书并验证。
按照提示即可完成验证。基本是瞬时发放证书。
因为前面已经创建了挂载卷,在~/.local/share/containers/storage/volumes/nginx_conf/_data 目录下,直接创建ssl目录,并将证书放入其中。
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name your_domain;
#请填写证书文件的相对路径或绝对路径
ssl_certificate /etc/nginx/ssl/xxx.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key /etc/nginx/ssl/xxx.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://宿主机地址:8080;
# 设置Host头
proxy_set_header Host $host;
# 设置其他必要的头信息
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
配置80端口,指向443
#把http的域名请求转成https
return 301 https://$host$request_uri;
为了保证网站安全,我们关闭所有防火墙,只留一个443端口。
至此,我们的个人博客站点搭建结束。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。