wordpress博客系统详细安装部署教程

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: wordpress博客系统详细安装部署教程

一、前言

作为一名程序员,不断学习是这个行业的生存法则,很多程序员在完成一个阶段的学习后,都有写博客的习惯,把自己的心得与收获分享出去。或者在日常工作中解决掉一个棘手的问题后,会通过写一篇博客记录下来,在沉淀自己的同时也将知识分享给更多人知道。

那么大家喜欢在哪里写博客呢?csdn?博客园?掘金???这些博客网站是大家遇到难以解决的问题后的首选,他们的特点是信息量大,观点多,思路缜密,当然文章质量也有保障。

​还有一群人,他们不仅使用上述博客网站,而且还有自己亲手搭建的博客网站,专门用来总结自己的学习成果,记录自己的生活。而且与上述的博客网站相比,页面显示的效果绚丽多姿,百花齐放,随便根据自己的心情去自定义页面的效果。

之前我觉得这些搭建自己博客网站的大佬们太厉害了,因为搭建一个网站并非易事,最起码了,前端开发、后端开发、数据库、服务器,这些都是要有的,而一个人的时间与精力总是有限的,很纳闷这些大佬们是如何的拼命学习,竟能仅靠一人之力,完成了整个网站的建设,更有甚者,竟能把网站做的如此漂亮。

​直到昨天,当我在查看阿里云技术文档的时候,无意间看到阿里云整合wordpress快速部署个人网站的时候,本就有搭建个人网站意愿的我在好奇心驱使下丢下眼前的工作,打开wordpress官网看看这是什么东西。

二、介绍

​ 以下介绍来自wordpress官网:

WordPress是一个基于PHP和MySQL的免费开源内容管理系统。它是世界上使用最广泛的CMS软件,截至2021年6月,它为排名前1000万的网站中的40%提供支持,并在所有使用CMS构建的网站中占有约64%的市场份额。

WordPress在2003年开始只是一个简单的博客系统,但是它已经发展成为一个完整的CMS,拥有数以千计的插件、插件和主题。它是在通用公共许可证(GPLv2或更高版本)下授权的

从官网介绍中来看,wordpress是一个内容管理系统(CMS,也就是我们说的博客网站)、免费、开源、有大量插件和主题供我们使用,而且好像全世界的人都在用似的。另外,运行wordpress需要php环境和mysql数据库的支持。

  • 按你心里想的设计:设计你想象的任何东西。从空白画布开始,或者从各种主题和图案中选择。定制每个细节,从颜色和字体到布局和功能。
  • 随意扩展:让WordPress做你需要它做的任何事情。添加一个商店,邮件列表,投资组合,社会饲料,分析。您可以控制超过55,000个插件。
  • 拥有你所做的:您的内容、设计和数据始终属于您。有了WordPress,你可以自由地讲述你的故事,发展你的品牌,或者只是做你自己。

看到这里,这不就是我一直想做却没做的吗?

呐!!!开干!!!

三、准备工作

官网介绍上说了,wordpress需要php+mysql数据库才能运行,作为一名java程序员去搞php的环境显然不能算是一个良策,而且咱没弄过php,安装过程指不定会出现什么问题呢,别说php了,除了java谁都不行[/狗头保命]。

那怎么办呢?最舒服最简单的办法就是docker容器啦,开箱即用的特点总是让人欲罢不能。只要docker镜像仓库中有wordpress的镜像,那这事就算成功一半了。

果然没错,wordpress在docker镜像仓库中还非常活跃的更新wordpress镜像版本呢,而且镜像中也包含了php环境,但不幸的是,它并没有包含mysql数据库,那么我们就得另外单独安装mysql数据库了,有了docker加持,一切东西的安装都难也不难。

省流助手:为了避免安装php环境,我们采用docker的形式安装wordpress。

因此,在准备阶段,我们需要以下基础支持:

  • 服务器(这里我使用的是去年双十一买的阿里云服务器)
  • docker服务
  • mysql容器
  • wordpress容器

四、购买服务器

服务器我是去年双十一的时候买的,加上新用户的优惠活动很便宜,三年的服务器才一百多,大家可以看一下原价可四千多呢。

服务器操作系统当然是选择Linux,至于是ubuntu,还是centOS,或者redhat,只是某些命令上存在差异,这里我就以centOS为例。

五、服务器订单截图.png

五、安装docker服务

进入服务器终端,输入命令:

  • 更新yum源,yum就像是手机中的应用商店

    yum upgrade
    
  • 通过yum安装docker服务

    yum install docker
    
  • 关闭docker服务

    systemctl stop docker
    
  • 设置docker服务为开机自启动

    systemctl enable docker
    
  • 启动docker服务

    systemctl start docker
    
  • 查看docker服务的状态

    systemctl status docker
    

​ 当docker服务的状态为active (running)时,表示docker服务正常运行

docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-10-25 13:34:31 CST; 1 day 2h ago
     Docs: http://docs.docker.com
 Main PID: 3587 (dockerd-current)
    Tasks: 75
   Memory: 159.4M
   CGroup: /system.slice/docker.service

六、创建docker网络

创建docker网络的目的是为了不同项目之间使用不同的网络,以达到不同项目之间网络环境隔离的效果。

进入服务器终端,输入命令:

  • 查看docker网络列表

    docker network ls
    
    # 输出
    NETWORK ID          NAME                DRIVER              SCOPE
    d91bb3d7ba01        bridge              bridge              local
    504547ddf53f        host                host                local
    9537c22a2fcf        none                null                local
    
  • 新建bridge类型的网络

    docker network create -d bridge my-bridge
    
  • 查看docker网络列表

    docker network ls
    
    # 输出
    NETWORK ID          NAME                DRIVER              SCOPE
    d91bb3d7ba01        bridge              bridge              local
    504547ddf53f        host                host                local
    8857632fcd1f        my-bridge           bridge              local
    9537c22a2fcf        none                null                local
    

七、安装mysql容器

进入服务器终端,输入命令:

  • 拉取mysql镜像,等待拉取完成

    docker pull mysql
    
    # 输出
    Trying to pull repository docker.io/library/mysql ... 
    lastest: Pulling from docker.io/library/mysql
    e9995326b091: Pull complete 
    a1cb2f1dc0c2: Pull complete 
    a03008f2cf7e: Pull complete 
    e4d344900ccc: Pull complete 
    d63d306dfeaf: Pull complete 
    e37a6e488ddf: Pull complete 
    654714d6b537: Pull complete 
    62a15b533b28: Pull complete 
    6e328312ef69: Pull complete 
    7db89f2542a0: Pull complete 
    5ddbcd220112: Pull complete 
    2904d0173235: Pull complete 
    Digest: sha256:ffafc1726ac6bf6b10d07a2e5a150c827a777ab99cb6db94a0efe58dd67d1a6b
    Status: Downloaded newer image for docker.io/mysql:lastest
    
  • 查看镜像列表

    docker images
    
    # 输出
    REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
    docker.io/mysql                    latest              43fcfca0776d        5 weeks ago         449 MB
    
  • 启动mysql容器

    docker run \
    -d \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=数据库密码由你来定 \
    --network my-bridge \
    --ip 172.18.0.3 \
    --restart=always \
    --name mysql \
    docker.io/mysql
    
  • 查看容器列表

    docker ps
    
    # 输出
    CONTAINER ID IMAGE               COMMAND                CREATED      STATUS      PORTS                            NAMES
    8c9e5ae659f3 docker.io/mysql     "docker-entrypoint..." 25 hours ago Up 25 hours 0.0.0.0:3306->3306/tcp,33060/tcp mysql
    

八、安装wordpress容器

进入服务器终端,输入命令:

  • 拉取wordpress镜像,等待拉取完成

    docker pull wordpress
    
    # 输出
    Trying to pull repository docker.io/library/wordpress ... 
    lastest: Pulling from docker.io/library/wordpress
    bd159e379b3b: Already exists 
    1e83b070fd97: Already exists 
    e7793be89e9c: Already exists 
    4220e0c03377: Already exists 
    77f71a584e44: Pull complete 
    a18ae08838ec: Pull complete 
    c3fb5aa06211: Pull complete 
    9e1d78cd066a: Pull complete 
    454617d5c6c7: Pull complete 
    06ce6b583d54: Pull complete 
    e207a281bb1a: Pull complete 
    c9bf63c5e4aa: Pull complete 
    fbda2e8ba480: Pull complete 
    8c534d7c65c3: Pull complete 
    5db7e5a0d143: Pull complete 
    d707cd4f8b11: Pull complete 
    c1bc50ac87de: Pull complete 
    Digest: sha256:eedd9dd4abf0ad026936aa84339dece0430b398456e13c575eb857ed47b6ea83
    Status: Downloaded newer image for docker.io/wordpress:lastest
    
  • 查看镜像列表

    docker images
    
    # 输出
    REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
    docker.io/wordpress                latest              5f9d748595e1        7 days ago          609 MB
    docker.io/mysql                    latest              43fcfca0776d        5 weeks ago         449 MB
    
  • 启动wordpress容器

    docker run 
    -d \
    -p 8090:80 \
    -e WORDPRESS_DB_HOST=172.18.0.3 \
    -e WORDPRESS_DB_USER=root \
    -e WORDPRESS_DB_PASSWORD=数据库密码 \
    -e WORDPRESS_DB_NAME=word_press \
    --network my-bridge \
    --ip 172.18.0.4 \
    --restart=always \
    --name word-press \
    docker.io/wordpress
    
  • 查看容器列表

    docker ps
    
    # 输出
    CONTAINER ID IMAGE               COMMAND                CREATED      STATUS      PORTS                            NAMES
    a1478a6fa2e3 docker.io/wordpress "docker-entrypoint..." 25 hours ago Up 25 hours 0.0.0.0:8090->80/tcp             word-press
    8c9e5ae659f3 docker.io/mysql     "docker-entrypoint..." 25 hours ago Up 25 hours 0.0.0.0:3306->3306/tcp,33060/tcp mysql
    

九、进入wordPress管理平台

在浏览器输入ip:8090,ip是你服务器的ip地址,8090是你启动wordpress容器脚本中对外暴露的端口号,发现无法打开网页

六、安全组未打开.png

出现这种情况有两种可能:

  • 服务器的防火墙未关闭,或防火墙未打开8090端口的规则

    • 查看服务器防火墙状态

      systemctl status firewalld
      
      # 输出,inactive (dead)表示防火墙为关闭状态
      firewalld.service - firewalld - dynamic firewall daemon
         Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
         Active: inactive (dead)
           Docs: man:firewalld(1)
      
    • 查看服务器防火墙规则,只有防火墙为开启的状态才可以查看规则

      # 打开防火墙
      systemctl start firewalld
      
      # 查看防火墙规则
      firewall-cmd --list-ports
      
      # 输出去:防火墙规则(仅打开了80端口)
      80/tcp
      
    • 如果你不想关闭防火墙,那么一定要开放8090端口

      firewall-cmd --zone=public --add-port=8090/tcp --permanent
      
  • 阿里云 -> 安全组未打开8090端口的规则

    ​ 通过手动添加入方向安全组,允许8090端口被外部访问

    阿里云安全组.png

在浏览器重新输入ip:8090,即可进入wordpress控制台安装页面

  • 第一步:选择语言

    一、选择语言.png

  • 第二步:基础设置

    基础设置信息包括网站名称,管理员的用户名密码以及邮箱,输入完成后点击下一步

    二、基础设置.png

  • 安装成功

    三、安装成功.png

  • 进入首页

    登录成功后,进入首页

    四、首页.png

十、发布一篇文章

在页面左侧边栏点击文章->写文章,进入写文章页面

在编写完成后,右上角有保存草稿预览发布按钮,可根据需要进行不同的操作。

编辑文章页面.png

点击发布按钮,可对要发布的文章进行设置,如查看权限发布时间添加标签指派分类,最后再点击发布按钮

点击发布按钮.png

发布文章后,可以继续进行以下操作

发布成功.png

复制文章链接,在浏览器打开新标签页,查看文章

第一篇文章示例页面.png

在文章最后,可以对此文章进行留言评论

第一篇文章添加评论.png

发表的评论不能直接显示在文章中,需要管理员审核通过后方可显示

进入管理员页面,点击左侧边栏,点击评论查看评论列表

评论列表.png

也可以在文章列表中查看评论

文章列表.png

管理员可以对评论进行审核,审核通过的评论将公开显示在文章下方

文章下方评论.png

十一、使用插件

在管理页面左侧边栏点击插件->安装插件,我们以安装markdown编辑器为例,

插件列表.png

在页面右上角搜索关键字markdown,找一个喜欢的点击立即安装,安装完成后点击启用按钮,也可以在已安装插件页面进行操作

已安装插件页面.png

再写一篇文章,打开文章编辑器,发现编辑器已经变成markdown编辑器了

markdown编辑器页面.png

编辑完成后,点击发布按钮,发布成功后进入文章列表就可以看到了。

使用markdown编辑文章.png

十二、主题外观

我们可以先看一下我们的博客主页,默认的主题应该是下面这样的
默认主题.png

这样的主题虽然简单,但是简陋,我们想搞一个简单不简陋的主题外观,该怎么玩?

像安装插件一样,点击左侧边栏外观 -> 主题 -> 安装主题,可以看到社区给我们提供的大量主题,想用哪个就下载哪个,都是你的。

但作为一个博客网站,我们可以按条件搜索主题

筛选主题.png

应用筛选条件后,可以随意挑选一个主题作为我们的博客网站主题进行下载,下载后记得开启主题哦

筛选后的主题列表.png

开启主题后,我们进入我们的博客网站主页,就可以看到一个全新的博客主题

更新主题后的页面.png

十三、结语

这一套松果弹抖闪电鞭下来,就算完成自己的博客网站了,以后可以随心所欲的在上面发表文章了。

整个建站的过程非常简单,不需要写任何代码,只要稍稍会一点linux命令就不会有任何问题。

当然了,如果你是一个对自己有信心的php程序员,可以把wordpress的源码下载下来,对他进行源码级的自定义修改。

纸上得来终觉浅,绝知此事要躬行。

我是理想万万岁,我们后会有期。

相关文章
|
10天前
|
关系型数据库 MySQL Apache
怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?
怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?
|
10天前
|
Java Android开发
java利用xml-rpc协议操作wordpress博客
java利用xml-rpc协议操作wordpress博客
16 1
|
10天前
|
PHP
菊子曰备份Wordpress网站的博客内容出错的解决办法(原创)
菊子曰备份Wordpress网站的博客内容出错的解决办法(原创)
11 2
|
10天前
|
域名解析 存储 网络安全
WordPress外贸建站教程
这篇WordPress外贸建站教程是以实操形式写给没有任何建站基础的新手,不管你是不是技术小白,都可以轻松学会如何使用WordPress来自己建立一个实用的外贸网站,而不需要深入了解复杂的代码编程。梳理了WordPress外贸建站主要步骤,从最初的成本分析开始,然后逐步介绍域名选择和注册、虚拟主机选择、建站程序安装等关键步骤。
133 1
|
10天前
|
关系型数据库 MySQL 数据库连接
百度搜索:蓝易云【使用docker部署Wordpress教程】
这就是使用Docker部署WordPress的简洁步骤。祝你顺利完成部署!
56 5
|
10天前
|
数据库 数据安全/隐私保护 SEO
如何像我这样创建一个酷炫且能赚钱的网站(使用宝塔安装WordPress搭建子比主题)
如何像我这样创建一个酷炫且能赚钱的网站(使用宝塔安装WordPress搭建子比主题)
60 0
如何像我这样创建一个酷炫且能赚钱的网站(使用宝塔安装WordPress搭建子比主题)
|
10天前
|
Ubuntu 关系型数据库 MySQL
百度搜索:蓝易云【ubuntu系统服务器安装WordPress教程】
现在,你已经成功在Ubuntu系统服务器上安装了WordPress。可以使用你的域名或服务器IP地址访问WordPress网站,进行网站配置和内容发布。
168 0
|
10天前
|
弹性计算 关系型数据库 MySQL
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
201 0
|
10天前
|
安全
SiteGround如何设置WordPress网站自动更新
iteGround Autoupdate功能会自动帮我们更新在他们这里托管的所有WordPress网站,这样做是为了保证网站安全,并且让它们一直保持最新状态。他们会根据我们选择的设置自动更新不同版本的WordPress,包括主要版本和次要版本。在每次自动更新之前,他们都会为我们的网站做一个完整的备份,这样如果有什么问题,我们可以轻松地恢复到之前的状态。在本文中,我们将介绍如何在SiteGround中设置WordPress网站自动更新。
42 0
SiteGround如何设置WordPress网站自动更新
|
10天前
WordPress网站更换域名后如何重新激活elementor
本文讲解WordPress网站更换域名后如何重新激活elementor。首先你需要在WordPress后台elementor下点击Disconnect断开原elementor连接,然后登录elementor官网,在后台解除原网站授权;接着在WordPress后台重新连接并激活elementor。
71 2
WordPress网站更换域名后如何重新激活elementor