WordPress个人博客搭建(二):在 Ubuntu 22.04 x64 系统中使用1Panel 部署 WordPress

前言

在之前的安装1Panel面板的文章中,我们已经成功将1Panel面板安装到了2核4G配置的非凡云云服务器上。1Panel作为一款现代化的服务器管理面板,极大简化了网站部署流程。本文将详细介绍如何使用1Panel面板在云服务器上安装部署WordPress,帮助您快速搭建个人博客。

WordPress

WordPress是全球最受欢迎的内容管理系统(CMS),它最初是一个博客平台,如今已发展成为功能强大的网站构建工具。

WordPress的主要优点包括:安装简单、主题和插件生态丰富、社区支持强大、SEO友好。当然,它也存在一些不足,比如需要定期更新维护、高性能需求场景下可能需要额外优化。

WordPress特别适合个人博客、企业官网、作品集展示、小型电商等场景,即使没有编程基础的用户也能轻松上手。
在这里插入图片描述

一、使用 1Panel 搭建基本环境

(1)进入 1Panel 面板,找到应用商店。可以看到应用商店里面有很多软件可供安装。

在这里插入图片描述

(2)安装MySQL数据库,设置数据库名称及密码。

在这里插入图片描述
安装耗时较长,耐心等待……

(3)安装Memcached,设置名称。

Memcached是一个高性能的分布式内存对象缓存系统,可以显著提升WordPress的访问速度
在这里插入图片描述
在这里插入图片描述

  • 名称:自定义
  • 端口:默认

(4)安装PHP运行环境。

WordPress是基于PHP开发的,因此我们需要安装PHP运行环境。
在这里插入图片描述
在这里插入图片描述

  • PHP扩展源:国内机器选择【中科大】,国外机器选择【默认】
  • 扩展模板:选择WordPress

(5)安装OpenResty,设置名称。

OpenResty是一个强大的Web平台,集成了标准的Nginx核心。
在这里插入图片描述
在这里插入图片描述
安装耗时较长,耐心等待……

二、搭建网站基础

(1)创建网站运行环境

在这里插入图片描述
在这里插入图片描述

  • 分组:自定义或者默认
  • 运行环境:看看默认选项是不是刚才创建的 PHP 环境,如果不是就手动选一下
  • PHP-FPM 端口:可自定义可默认
  • 主域名:填入自己注册的域名(有多个域名填入其他域名)
  • 代号:可自定义可默认

(2)申请HTTPS证书

在域名服务商处设置域名A解析
在这里插入图片描述

  • Type:A Record
  • Host: @ (解析主域名)/www(解析子域名)
  • Value:输入你的服务器 公网 IP 地址
  • TTL:默认 Automatic(自动)或根据自己的需求设置,个人网站一般10分钟。

在证书-Acme账户创建自己的账户
在这里插入图片描述在这里插入图片描述
申请证书
在这里插入图片描述

  • 验证方式:HTTP

申请成功
在这里插入图片描述

(3)下载并解压WordPress到网站根目录下。

  • 自行前往官网下载WordPress,并上传到网站根目录

  • 或者进入网站根目录通过下载链接 https://cn.wordpress.org/latest-zh_CN.zip 远程下载
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 解压后不移动文件,WordPress在/index目录下,则网站运行目录为/WordPress

  • 解压后将WordPress文件夹内文件移动到/index目录下,则网站运行目录为/
    在这里插入图片描述

(4)创建数据库

在这里插入图片描述

  • 以上均可自定义,权限按需选择
  • 设置这些信息将在WordPress安装过程中使用,建议妥善保存。

(5)设置网站

设置HTTPS
在这里插入图片描述

  • 选择刚刚申请的证书

进入网站根目录下,设置index目录权限
在这里插入图片描述
按照下图设置权限
在这里插入图片描述
设置伪静态
在这里插入图片描述

三、安装WordPress

访问自己的域名,WordPress安装向导将自动启动。
在这里插入图片描述
在这里插入图片描述

  • 数据库名、用户名、密码: 输入之前创建数据库时的数据库名、用户名、密码
  • 数据库主机: localhost
  • 表前缀:自定义或者默认

在这里插入图片描述

  • 站点标题:站点标题将显示在网站页面的显著位置
  • 用户名、密码:自定义
  • 邮箱:使用常用的邮箱
    在这里插入图片描述

安装完成!
现在就可以登录后台,开始个性化设置自己的博客了!WordPress提供了丰富的主题和插件,可以让您的网站在功能和外观上都与众不同。

总结

通过1Panel面板部署WordPress的过程展现了现代服务器管理的便捷性。从环境配置到网站上线,所有操作都可以在可视化界面中完成,大大降低了技术门槛。1Panel集成了MySQL、PHP、Nginx等核心组件的一键安装,SSL证书的自动申请和部署,以及文件权限的智能管理,让原本复杂的服务器配置变得简单高效。

搭建个人博客是一个充满乐趣的创造过程。在这个数字时代,拥有自己的网络空间来表达思想、分享知识、展示作品,不仅能丰富网络生活,还可能带来意想不到的机遇。感谢您阅读本文至此,相信您已经准备好开始这段精彩的博客之旅了。不要被技术细节吓倒,跟着指南一步步来,很快您就能拥有属于自己的网络天地。记住,每个优秀的博客都是从第一篇文章开始的,期待在互联网上看到您的精彩内容!
相关文章:
守护数字家园:个人博客安全防护指南
WordPress个人博客搭建(三)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/79848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试高频算法:最长回文子串

题目:5. 最长回文子串 给你一个字符串 s,找到 s 中最长的回文子串。 回文:如果字符串向前和向后读都相同,则它满足回文性;子串:子字符串 是字符串中连续的非空字符序列。 示例 1: 输入&…

全文索引数据库Elasticsearch底层Lucene

Lucene 全文检索的心,天才的想法。 一个高效的,可扩展的,全文检索库。全部用 Java 实现,无须配置。仅支持纯文本文件的索引(Indexing)和搜索(Search)。不负责由其他格式的文件抽取纯文本文件,或从网络中抓取文件的过程…

JVM——Java内存模型

Java内存模型 在Java多线程编程中,Java内存模型(Java Memory Model, JMM)是理解程序执行行为和实现线程安全的关键。下面我们深入探讨Java内存模型的内容。 Java内存模型概述 Java内存模型定义了Java程序中变量的内存操作规则,…

nRF Connect SDK system off模式介绍

目录 概述 1. 软硬件环境 1.1 软件开发环境 1.2 硬件环境 2 System Off 模式 2.1 模式介绍 2.2 注意事项 3 功能实现 3.1 框架结构介绍 3.2 代码介绍 4 功能验证 4.1 编译和下载代码 4.2 测试 4.3 使能CONFIG_APP_USE_RETAINED_MEM的测试 5 main.c的源代码文件…

白杨SEO:如何查看百度、抖音、微信、微博、小红书、知乎、B站、视频号、快手等7天内最热门话题及流量关键词有哪些?使用方法和免费工具推荐以及注意事项【干货】

大家好,我是白杨SEO,专注SEO十年以上,全网SEO流量实战派,AI搜索优化研究者。 (温馨提醒:本文有点长,看不完建议先收藏或星标,后面慢慢看哈) 最近,不管是在白…

2025 Mac常用软件安装配置

1、homebrew 2、jdk 1、使用brew安装jdk: brew install adoptopenjdk/openjdk/adoptopenjdk8 jdk默认安装位置在 /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home 目录。 2、配置环境变量: vim ~/.zshrc# Jdk export JAVA_HOM…

Linux 内核学习(6) --- Linux 内核基础知识

目录 Linux 内核基础知识进程调度内存管理虚拟文件系统和网络接口进程间通信Linux 内核编译Makefile 和 Kconfig内核Makefile内核Kconfig 配置项标识的写法depend 关键字select 关键字表达式逻辑关系Kconfig 其他语法 配置文件的编译Linux 内核引导方法Booloader 定义Linux 内核…

常见汇编代码及其指令

1. 数据传输指令 1.1. mov 作用:将数据从源操作数复制到目标操作数。语法:mov dest, src mov eax, 10 ; 将立即数 10 存入 eax 寄存器 mov ebx, eax ; 将 eax 的值复制到 ebx mov [ecx], eax ; 将 eax 的值写入 ecx 指向的内存地址 1.2. …

STM32基础教程——软件SPI

目录 前言 技术实现 接线图 代码实现 技术要点 引脚操作 SPI初始化 SPI起始信号 SPI终止信号 SPI字节交换 宏替换命令 W25Q64写使能 忙等待 读取设备ID号和制造商ID 页写入 数据读取 实验结果 问题记录 前言 SPI(Serial Peripheral Interf…

(B题|矿山数据处理问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合

我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

无网络环境下配置并运行 word2vec复现.py

需运行文件 # -*- coding: utf-8 -*- import torch import pandas as pd import jieba import torch import torch.nn as nn from tqdm import tqdm from torch.utils.data import DataLoader,Dataset from transformers import AutoTokenizer,AutoModeldef get_stop_word():w…

读《暗时间》有感

读《暗时间》有感 反思与笔记 这本书还是我无意中使用 ima 给我写职业规划的时候给出的,由于有收藏的习惯,我就去找了这本书。当读到第一章暗时间的时候给了我很大的冲击,我本身就是一个想快速读完一本书的人,看到东西没有深入思…

ubuntu安装Go SDK

# 下载最新版 Go 安装包(以 1.21.5 为例) wget https://golang.google.cn/dl/go1.21.5.linux-amd64.tar.gz # 解压到系统目录(需要 root 权限) sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz # 使用 Go 官方安装脚本…

FFmpeg(7.1版本)编译生成ffplay

FFmpeg在编译的时候,没有生成ffplay,怎么办? 1. 按照上一篇文章:FFmpeg(7.1版本)在Ubuntu18.04上的编译_ffmpeg-7.1-CSDN博客 在build.sh脚本里配置了ffplay 但是,实际上却没有生成ffplay,会是什么原因呢? 2. 原因是编译ffplay的时候,需要一些依赖库 sudo apt-get i…

【Python 函数】

Python 中的函数(Function)是可重复使用的代码块,用于封装特定功能并提高代码复用性。以下是函数的核心知识点: 一、基础语法 1. 定义函数 def greet(name):"""打印问候语""" # 文档字符串&…

7. HTML 表格基础

表格是网页开发中最基础也最实用的元素之一,尽管现代前端开发中表格布局已被 CSS 布局方案取代,但在展示结构化数据时,表格依然发挥着不可替代的作用。本文将基于提供的代码素材,系统讲解 HTML 表格的核心概念与实用技巧。 一、表格的基本结构 一个完整的 HTML 表格由以下…

极狐GitLab 命名空间的类型有哪些?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 命名空间 命名空间在极狐GitLab 中组织项目。因为每一个命名空间都是单独的,您可以在多个命名空间中使用相同的项…

powershell批处理——io校验

powershell批处理——io校验 在刷题时,时常回想,OJ平台是如何校验竞赛队员提交的代码的,OJ平台并不看代码,而是使用“黑盒测试”,用测试数据来验证。对于每题,都事先设定了很多组输入数据(data…

前端面经-webpack篇--定义、配置、构建流程、 Loader、Tree Shaking、懒加载与预加载、代码分割、 Plugin 机制

看完本篇你将基本了解webpack!!! 目录 一、Webpack 的作用 1、基本配置结构 2、配置项详解 1. entry —— 构建入口 2. output —— 输出配置 3. mode:模式设置 4. module:模块规则 5. plugins:插件机制 6. resolve:模块解析配置(可选) 7. devServer:开发服务器…

面试算法刷题练习1(核心+acm)

3. 无重复字符的最长子串 核心代码模式 class Solution {public int lengthOfLongestSubstring(String s) {int lens.length();int []numnew int[300];int ans0;for(int i0,j0;i<len;i){num[s.charAt(i)];while(num[s.charAt(i)]>1){num[s.charAt(j)]--;j;}ansMath.max…