从零开始使用WordPress搭建个人网站并一键发布公网详细教程

news2024/10/7 15:20:46

文章目录

    • 前言
    • 1. 搭建网站:安装WordPress
    • 2. 搭建网站:创建WordPress数据库
    • 3. 搭建网站:安装相对URL插件
    • 4. 搭建网站:内网穿透发布网站
      • 4.1 命令行方式:
      • 4.2. 配置wordpress公网地址
    • 5. 固定WordPress公网地址
      • 5.1. 固定地址访问WordPress

前言

本文主要介绍如何在Linux Ubuntu系统上使用WordPress搭建一个本地网站,并结合Cpolar内网穿透工具将站点发布公网实现无公网IP远程访问。

WordPress作为一款强大而灵活的开源内容管理系统(CMS),因其易用性、丰富的插件和主题选择,以及强大的社区支持,成为了众多网站开发者的首选。然而,对于许多初学者和中小型企业来说,如何轻松部署WordPress并使其对外可见,仍然是一个挑战。

Ubuntu作为一款流行的开源操作系统,以其稳定、安全、易用的特点,赢得了广大用户的青睐。结合Ubuntu和WordPress,用户可以轻松搭建一个功能强大的网站。但是,当网站部署在本地或内网环境中时,如何实现远程访问,又成为了一个需要解决的问题。

为了解决这个问题,我们可以利用Cpolar内网穿透技术。Cpolar是一款高效、安全的内网穿透工具,它可以将本地或内网的服务器映射到公网上,生成一个可访问的公网地址。通过这个公网地址,用户可以随时随地访问到本地或内网的WordPress网站,无需担心网络环境的限制。

1. 搭建网站:安装WordPress

首先我们先安装网站所需的运行环境即数据库,我们可以在Ubuntu系统桌面,点击鼠标右键,并在菜单中点击“在终端中打开”,进入Ubuntu系统的命令行界面。

20221118142851

20221118142856

接着在命令行中输入命令,安装Apache2

sudo apt install apache2 php -y

20221118142902

20221118142907

在Apache2安装完成后,还需要安装数据库,才能支持WorePress网站的正常运行。同样的,我们在命令行窗口输入命令,安装MySQL数据库。

sudo apt install mariadb-server php-mysql -y
sudo service apache2 restart

20221118142913

20221118142918

最后,我们就可以在命令行中输入WordPress的下载和安装。不过与Apache和MySQL不同,WordPress是网站运行的包合集,因此我们需要先将WordPress的压缩包下载到单独的文件夹,在解压后才能使用这些文件。

我们先输入命令,转入上一级目录

cd /var/www/html

在该目录下输入命令,下载WordPress的压缩包

sudo wget http://wordpress.org/latest.tar.gz

20221118142925

下载完成后,再输入命令解压

sudo tar xzf latest.tar.gz

看一下目录列表

ls

20221118142930

解压完成后,我们需要将WordPress的文件移动到上级目录,输入命令移动所有文件。

sudo mv wordpress/* .

从顺序上来看,之前下载的WordPress压缩包就在这一层文件夹中(可以输入“ls”查看文件夹中的文件进行确认)。为防止干扰,我们可以将WordPress的压缩包删除,输入命令

sudo rm -rf wordpress latest.tar.gz

20221118142937

再输入命令确认压缩包已经删除

ls

20221118142944

接下来我们删除一下apche自带的静态页面

sudo rm index.html

20221118142950

设置该wordpress 文件夹权限

sudo chown -R www-data: .

这条命令执行完成后,再输入命令,查看权限是否赋予成功。

ls -l

20221118142957

然后接下来访问wordpress前,重启一下apache

sudo systemctl restart apache2

如上图所示,只要各文件名前显示出www,就说明我们的赋权操作已经完成。到这里,我们在Ubuntu上建立网站的软件都已经安装齐备,剩下的工作就是对这些软件进行相应的配置。

虽然配置过程不算复杂,但相对精细。为了能更清楚的说明配置过程,我们会在下一章节中为大家详细介绍。


2. 搭建网站:创建WordPress数据库

在前面的文章中,我们向大家介绍了如何在Ubuntu系统中安装Apache2、MySQL、WordPress、cpolar几款软件,算是为我们的个人网站搭建打好了基础。但此时这些软件的状态是“安装上”,还不能直接启用,因此需要对软件进行相应的配置。现在,我们就来看看,如何对这些软件进行配置,使其能构建起网站运行的必要环境。

之前我们提到,WordPress网站想要正常运行,必须配备有相应的数据库,虽然我们安装了MySQL软件,但此时还没有建立其容纳数据的数据库,因此我们首先要对MySQL进行配置。由于数据库的设定涉及很多权限的确定,因此在这里需要小心,避免留下我们网站被入侵的漏洞。

初始化数据库,执行下面命令

sudo mysql_secure_installation

20221118143035

  1. 接着,mySQL会提出一系列问题,用以确定数据库的操作权限。这些问题的顺序分别为

    1. 要求root mysql数据库的密码(新安装的软件没有预置数据库,因此无密码,直接回车);
    2. *切换到unix_socket身份验证 *
    3. 是否要设置root数据库的密码(会要求输入两次密码,密码一定要一致);
    4. 是否移动匿名账号;
    5. 是否关闭root的远程登录;
    6. 是否移除测试数据库;
    7. 是否对修改内容重刷权限表;

    image-20240605142345042

这些问题都输入Y即可通过,但我们要注意,数据库的密码很重要,必须设置不易破解的密码,并且进行妥善记录防止遗忘。

完成这些步骤后,数据库的设置也就正式完成。

20221118143042

接下来我们就着手创建一个WordPress专用的数据库,创建这个数据库的命令行为

sudo mysql -uroot -p

这条命令中,-u后直接连接(无空格)用户名,此处我们连接的是root用户,所以为-uroot,而-p则是用户密码。而MySQL也会要求输入用户密码和数据库密码。

20221118143051

20221118143056

登录数据库后,执行创建数据库命令,创建一个名称为wordpress数据库

create database wordpress;

20221118143107

接着,输入命令为WordPress数据库进行权限设置(为防止输入命令时全角和半角错误,可以直接复制该命令)。

GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY '这里为你的root数据库密码';

20221118143120

最后执行命令刷新一次。

flush privileges;

20221118143128

由于一直处于命令行模式操作,并不如图形化操作直观,为确定我们的步骤没问题,我们可以输入命令确认我们成功建立起了WordPress专用数据库。

show databases;

20221118143134

如上图所示,只要在反馈中出现了“WordPress”名称的数据库,就证明我们的设置步骤没错。
最后,我们在Ubuntu的浏览器的地址栏中输入“localhost”(本机地址),就能打开我们熟悉的WordPress安装页面(如果浏览器没有显示WordPress安装页面,可以选择以隐私界面打开localhost,就能正常显示)。

20221118143140

剩下的步骤都是常规设置,如显示语言、数据库设置、WordPress用户注册等等。这里需要注意的,就是WordPress数据库的设置,一定要和MySQL数据库中设置Wordpress数据库时所留的用户名及密码一致!(当然,当时我们设置的数据库名称就是wordpress)

20221118143147

20221118143152

完成这些设置后,我们就能正式进入WordPress的主界面了。

20221118143158

至此,我们对WordPress网站的运行环境设置已经完成,剩下的就是如何使用cpolar,将位于本地的网站与公共互联网连接起来。而这部分内容,我们会在下一章节中,为大家详细介绍。


3. 搭建网站:安装相对URL插件

通过前面几篇介绍中的范例,我们已经在Ubuntu系统中安装了WordPress网站运行所需的环境,并进行了相关配置。接下来,我们就可以正式进入网站的编辑流程,并通过cpolar将其发布到公共互联网上,接受互联网访客的访问。现在,就让我们开始吧。

要让本地的网页能为公共互联网的用户访问到,必须有符合现行互联网规范的地址,即URL。但WordPress本身并不自带生成URL地址的功能,我们必须通过为WordPress安装插件来实现这一功能。还是回到WordPress的主界面,在左侧我们能找到插件选项,点开后在搜索框输入relative URL,就能找到这款插件,接着点击安装启用即可。

20221118143234

20221118143240

完成URL插件的安装后,我们还需要对WordPress本身进行一项小修改,我们要教会WordPress正确应对外部访问请求,因此我们要打开Ubuntu命令行界面,输入命令,转入站点根目录

cd /var/www/html

转入站点根目录后,再输入命令对WordPress的配置文件进行编辑。

nano wp-config.php

20221118143246

20221118143251

在WordPress编辑界面,我们要找到如下位置,输入两行命令,分别为:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

由于命令行对于标点符号有全角半角的要求,因此最好还是复制命令,避免输入错误,导致WordPress运行错误。

20221118143257

20221118143303

确认命令输入无误后,就可以按快捷键Ctrl+X退出编辑,系统会询问我们是否保存更改,我们输入Y即可。

20221118143308

如果我们要返回WordPress的设置界面,只要在浏览器中输入地址http://localhost/wp-admin,就能回到wordpress的仪表盘

20221118143314

而我们也能在这里,选择自己喜欢的网站外观,打造自己心仪的网站。

20221118143322

至此,我们在Ubuntu上搭建的网站就基本成型了。下一步,就是使用cpolar,将这个网站发布到公共互联网上,让更多人都能访问到这个网站。这部分内容,我们将在下一章节中,为大家详细说明。


4. 搭建网站:内网穿透发布网站

通过前面介绍中的操作,我们已经成功的在Linux系统中搭建起网页运行所需的环境,并且通过WordPress成功制作了一个网页。但此时的网页还仅存在于本地电子设备上,想要将其发布到互联网上,还需要通过cpolar建立的数据隧道才能实现。今天,我们就尝试使用cpolar建立的数据隧道,让本地网页能够为互联网访客所访问的几种方法。

在此之前,我们已经在本地电脑上安装了cpolar,因此我们可以采用命令方式和图形化操作两种方式,建立起数据隧道。

4.1 命令行方式:

上面在本地成功部署了wordpress,并以本地127.0.0.1形式下访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 安装完成后,可以通过如下方式来操作cpolar服务,首先执行加入系统服务设置开机启动,然后再启动服务
# 加入系统服务设置开机启动
sudo systemctl enable cpolar

# 启动cpolar服务
sudo systemctl start cpolar

# 重启cpolar服务
sudo systemctl restart cpolar

# 查看cpolar服务状态
sudo systemctl status cpolar

# 停止cpolar服务
sudo systemctl stop cpolar

Cpolar安装和成功启动服务后,内部或外部浏览器上通过局域网IP或者本机IP加9200端口即:【http://192.168.xxx.xxx:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可

image-20240603142647836

4.2. 配置wordpress公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个wordpress的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:80 (默认是80端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

image-20240603142807481

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种都可以访问,

image-20240603142938891

5. 固定WordPress公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240603180627086

保留成功后复制保留成功的二级子域名的名称

image-20240603180656510

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240603180737554

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240603180818639

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称

image-20240603180857948

5.1. 固定地址访问WordPress

最后,我们使用固定的公网http地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问我们的WordPress博客网站,无需公网IP,无需云服务器!

image-20240603181058208

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

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

相关文章

零知识学习之DPDK与RDMA(3)—— 认识DPDK(3)

接前一篇文章:零知识学习之DPDK与RDMA(2)—— 认识DPDK(2) 本文内容参考: 《Linux高性能网络详解 从DPDK、RDMA到XDP》 刘伟著 人民邮电出版社 https://blog.51cto.com/u_15301988/5181201 特此致谢&…

vite-ts-cesium项目集成mars3d修改相关的包和配置参考

如果vite技术栈下使用原生cesium,请参考下面文件的包和配置修改,想用原生创建的viewer结合我们mars3d的功能的话。 1. package.json文件 "dependencies": {"cesium": "^1.103.0","mars3d": "^3.7.18&quo…

2024微信小程序期末大作业-点奶茶微信小程序(后端nodejs-server)(附下载链接)_微信小程序期末大作业百度网盘下载

菜单展示 购物车展示&#xff1a; 提交订单&#xff1a; 支付详情页展示&#xff1a; 订单查看&#xff1a; 查看历史消费&#xff1a; 部分代码展示&#xff1a; <!--pages/home/home.wxml--> <block wx:for"{{listData}}" wx:key"itemlist&qu…

redis学习(002 安装redis和客户端)

黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 总时长 42:48:00 共175P 此文章包含第5p-第p7的内容 文章目录 安装redis启动启动方式1&#xff1a;可执行文件启动启动方式2 基于配置文件启动修改redis配置文件 …

Python使用isinstance和issubclass,类型检查不求人!

目录 1、isinstance基础用法 &#x1f575;️ 1.1 isinstance概念简介 1.2 检查对象类型 1.3 类型与继承结构 1.4 实战&#xff1a;类型判断提升代码灵活性 2、issubclass深入理解 &#x1f50e; 2.1 issubclass概念解析 2.2 判断类的继承关系 2.3 高级应用&#xff1a…

【重磅】“一招”解决智能算法中不满足“预期”的问题【以微电网优化调度为例】

1主要内容 之前完整复现了微电网优化调度的模型&#xff0c;具体链接为&#xff1a;【完全复现】基于改进粒子群算法的微电网多目标优化调度&#xff0c;这是一个并不复杂的模型&#xff0c;甚至不借助智能算法&#xff0c;我们也能大致分析出电网、柴油发电机、微型燃气轮机等…

【Leetcode 566】【Easy】重塑矩阵

目录 题目描述 整体思路 具体代码 题目描述&#xff1a; 原题链接 整体思路 首先要确保重塑后的矩阵内元素个数和原矩阵元素个数要相同&#xff0c;如果不同则原样返回原矩阵。 按行遍历顺序遍历原矩阵&#xff0c;设一个临时vector<int>存放新矩阵的每一行的元素…

【抽代复习笔记】26-群(二十):子群的定义以及第一、第二判定定理

子群 定义1&#xff1a;(G,o)是一个群&#xff0c;H是G的非空子集&#xff0c;若H关于G的乘法o也能作成群&#xff08;满足群的判定定理&#xff1a;封闭性、结合律、单位元、逆元&#xff09;&#xff0c;则称H为G的子群&#xff0c;记作H ≤ G&#xff1b;若H是G的真子集&am…

致远OA同步组织架构到企业微信

致远OA同步组织架构到企业微信 可适配任何系统 背景 原有的微协同无法满足人员同步&#xff0c;因为在启用微协同的时候&#xff0c;企业微信已经存在人员&#xff0c;所以配置微协同之后&#xff0c;人员会出现新增而不会同步修改 方案 重写同步&#xff0c;针对已经存在…

单点登录(cookie+Redis)

1、什么是单点登录&#xff1f; Single Sign On简称SSo&#xff0c;只需要登录一次就可以在整个系统实现访问。 因为session的特性&#xff0c;是没有办法在多个服务系统之间实现数据的共享。 解决一个分布式session的问题。目前我们使用redis来实现分布式session。 1.1、新问题…

不同的llm推理框架

vLLM适用于大批量Prompt输入&#xff0c;并对推理速度要求比较高的场景。 实际应用场景中&#xff0c;TensorRT-LLM通常与Triton Inference Server结合起来使用&#xff0c;NVIDIA官方能够提供更适合NVIDIA GPU运行的高效Kernel。 LightLLM比较轻量、易于扩展、易于上手&…

实验九 存储过程和触发器

题目 创建并执行一个无参数的存储过程proc_product1&#xff0c;通过该存储过程可以查询商品类别名称为“笔记本电脑”的商品的详细信息&#xff1a;包括商品编号、商品名称、品牌、库存量、单价和上架时间信息 2、创建并执行一个带输入参数的存储过程proc_product2&#xff…

嵌入式实时操作系统:Intewell操作系统与VxWorks操作系统有啥区别

Intewell操作系统和VxWorks操作系统都是工业领域常用的操作系统&#xff0c;它们各有特点和优势。以下是它们之间的一些主要区别&#xff1a; 架构差异&#xff1a; Intewell操作系统采用微内核架构&#xff0c;这使得它具有高实时性、高安全性和强扩展性的特点。微内核架构…

力扣1685.有序数组中差绝对值之和

力扣1685.有序数组中差绝对值之和 记录左边之和 和 右边之和从左到右遍历每个元素 求res class Solution {public:vector<int> getSumAbsoluteDifferences(vector<int>& nums) {int n nums.size(),lsum 0,rsum accumulate(nums.begin(),nums.end(),0);ve…

Java-List集合堆内存溢出

Java-List集合堆内存溢出 情况一情况二对照分析对照规定堆内存 情况一 往List<Object>的集合中不断插入元素&#xff0c;集合底层的数组会不断扩容&#xff0c;从0 -> 10 -> 10 10>>1…。最终出现堆内存溢出&#xff0c;是在扩容数组大小的时候。这里的过程…

5款软件让电脑更方便,更快,更好看

​ 你有没有想过&#xff0c;有些软件能让你的电脑用起来更方便&#xff0c;更快&#xff0c;更好看&#xff1f; 1. 屏幕动画创作——Screen To Gif ​ Screen To Gif是一款功能强大的屏幕录制软件&#xff0c;专注于将屏幕上的动态内容转换为高质量的GIF动画。它不仅支持自…

眼动追踪技术 | 眼动的分类和模型

摘要 灵长类动物用于调整中央凹位置的正常眼动&#xff0c;几乎都可以归结为五种基本类型的组合&#xff1a;扫视、平稳追踪、聚散、前庭眼震和生理性眼震(与注视相关的微小运动)。聚散运动用于将双眼聚焦于远处的目标(深度知觉)。其他运动(如适应和聚焦)指的是眼动的非位置变…

生命在于学习——Python人工智能原理(3.2.2)

2.3 连续型随机变量 &#xff08;一&#xff09;定义 连续型随机变量即在一定区间内变量取值有无限个&#xff0c;或数值无法一一列举出来&#xff0c;例如某个地区男性健康成人的身高值、体重值。 如果对于随机变量X的分布函数F(X)&#xff0c;存在非负可积函数f(x)&#xf…

Okhttp hostnameVerifier详解

hostnameVerifier 方法简介核心原理参考资料 方法简介 本篇博文以Okhttp 4.6.0来解析hostnameVerfier的作用&#xff0c;顾名思义&#xff0c;该方法的主要作用就是鉴定hostnname的合法性。Okhttp在初始化的时候我们可以自己配置hostnameVerfier&#xff1a; new OkHttpClien…

ExtendSim在商业和服务行业中的仿真

仿真使企业能够做出明智的、数据驱动的预测&#xff0c;从而指导决策、产生积极成果并建立竞争优势。 精益分析 使用 ExtendSim 中的精益分析方法对欧洲的供应链网络进行建模&#xff0c;一家制造商实现了对最终客户的服务水平提高了 98%&#xff0c;而且现在可以在库存减少约 …