前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >低成本基于WordPress手动搭建个人博客

低成本基于WordPress手动搭建个人博客

原创
作者头像
用户10081398
发布2024-11-10 17:37:32
发布2024-11-10 17:37:32
2290
举报

在数字化时代,个人博客成为了许多人展示自己才华、分享生活点滴、甚至开展副业的重要平台。WordPress是一个功能强大的网站构建工具,它不仅易于使用,而且拥有丰富的插件和主题,非常适合用来创建个人博客。本文将引导您完成使用WordPress搭建个人博客的全过程。

准备工作

购买主机

对比了国内的云厂商,乘着双十一活动,腾讯云的海外主机价格最便宜,2U2G的机器,一年只有99元,且可以续费一年。

双十一境外主机活动
双十一境外主机活动

直接选择新加坡主机。最新的debian系统。

购买域名

活动期间cn域名也是比较便宜。

购买免费证书

先跳过,等网站部署好后,最后再购买。

安装部署

升级系统

用如下命令升级系统,确保所有软件版都是最新的。

代码语言:txt
复制
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo apt autoremove

最后重启一下系统。

代码语言:txt
复制
sudo systemctl reboot

安装Podman

这里没有选择Docker,而是一种更轻量级的容器引擎。

代码语言:txt
复制
sudo apt install -y software-properties-common
sudo apt install -y podman

安装完检查一下版本,OK

代码语言:txt
复制
podman --version

配置 Podman 使用 cgroup v1

代码语言:txt
复制
sudo vi /usr/share/containers/containers.conf

加入以下设置后保存

代码语言:txt
复制
[engine]
cgroups_manager = "cgroupfs"

设置完后需要重启podman

代码语言:txt
复制
sudo systemctl restart podman

配置管理仓库

代码语言:txt
复制
sudo vi /etc/containers/registries.conf

在文档添加

代码语言:txt
复制
[registries.search]
registries = ['docker.io', 'quay.io']

部署数据库

拉取最新版本的mariadb镜像

代码语言:txt
复制
podman pull docker.io/library/mariadb:latest

创建挂载卷,用来存放mariadb数据

代码语言:txt
复制
podman volume create mariadb_data

运行mariadb

注意:密码这边做了隐藏,需要替换为自己的实际密码。

代码语言:txt
复制
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

创建挂载卷,用来存放wordpress数据

代码语言:txt
复制
podman volume create wordpress_data

拉取wordpress最新镜像

代码语言:txt
复制
podman pull docker.io/library/wordpress:latest

运行wordpress

注意:数据库的ip地址为宿主机的ip

代码语言:txt
复制
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的防火墙。

开通8080防火墙
开通8080防火墙

部署Nginx

创建挂载卷

代码语言:txt
复制
podman volume create nginx_html
podman volume create nginx_conf

拉取最新镜像

代码语言:txt
复制
podman pull docker.io/library/nginx:latest

运行nginx

代码语言:txt
复制
podman run -d --name nginx \
  -v nginx_html:/usr/share/nginx/html \
  -v nginx_conf:/etc/nginx \
  -p 80:80 \
  nginx:latest

报了异常,需要修改一下系统配置

代码语言:txt
复制
sudo vi /etc/sysctl.conf

加入如下配置

代码语言:txt
复制
net.ipv4.ip_unprivileged_port_start=80

需要应该更新。先要配置sysctl到环境变量。

代码语言:txt
复制
sudo vi ~/.bashrc

文件末尾添加

代码语言:txt
复制
export PATH=$PATH:/sbin

最后执行

代码语言:txt
复制
source ~/.bashrc
sudo sysctl -p

现在可以启动柜Nginx了。浏览器也可以访问。

配置Nginx

代码语言:txt
复制
vi ~/.local/share/containers/storage/volumes/nginx_conf/_data/nginx.conf

在http配置里面新增

代码语言:txt
复制
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

代码语言:txt
复制
podman restart nginx

配置安全证书

在Console页面申请一个免费证书并验证。

按照提示即可完成验证。基本是瞬时发放证书。

Nginx配置安全证书

因为前面已经创建了挂载卷,在~/.local/share/containers/storage/volumes/nginx_conf/_data 目录下,直接创建ssl目录,并将证书放入其中。

配置443 server

代码语言:txt
复制
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

代码语言:txt
复制
 #把http的域名请求转成https
 return 301 https://$host$request_uri; 

防火墙安全配置

为了保证网站安全,我们关闭所有防火墙,只留一个443端口。

至此,我们的个人博客站点搭建结束。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
    • 购买主机
    • 购买域名
    • 购买免费证书
  • 安装部署
    • 升级系统
    • 安装Podman
    • 部署数据库
  • 部署wordpress
  • 配置Nginx
  • 配置安全证书
    • Nginx配置安全证书
    • 配置443 server
  • 防火墙安全配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档