飞牛云fnOS本地部署WordPress个人网站并一键发布公网远程访问
文章目录
- 前言
- 1. Docker下载源设置
- 2. Docker下载WordPress
- 3. Docker部署Mysql数据库
- 4. WordPress 参数设置
- 5. 飞牛云安装Cpolar工具
- 6. 固定Cpolar公网地址
- 7. 修改WordPress配置文件
- 8. 公网域名访问WordPress
前言
本文旨在详细介绍如何在飞牛云NAS上利用Docker部署WordPress,并结合cpolar实现公网访问本地站点的全过程。
随着云计算与容器化技术的飞速发展,越来越多的个人及企业开始倾向于采用高效、灵活且易于管理的部署方案来构建自己的网站。飞牛云NAS,作为一款集数据存储、备份、分享及多媒体娱乐等功能于一体的智能网络设备,凭借其出色的性能与扩展性,成为了众多用户心中理想的本地部署平台。
而Docker,作为当前最流行的容器化技术之一,通过封装应用及其依赖关系为一个可移植的、轻量级的容器,极大地简化了应用的部署与管理流程。结合飞牛云NAS的强大性能,我们可以在本地轻松搭建起一个稳定、高效的WordPress运行环境。
WordPress,作为全球最流行的开源内容管理系统之一,以其丰富的插件、强大的自定义功能以及友好的用户界面,成为了众多个人博客、企业官网及电子商务平台的首选。通过Docker在飞牛云NAS上部署WordPress,不仅可以享受到Docker带来的便捷与高效,还能充分利用NAS的存储优势,实现数据的可靠与安全。
然而,本地部署的网站往往面临着公网访问的难题。这时,cpolar这一内网穿透神器便显得尤为重要。cpolar通过创建一个安全、稳定的数据隧道,将本地Docker容器中的WordPress网站映射为一个公网可访问的地址,使得无论身处何地,用户都能轻松访问到我们的网站。
1. Docker下载源设置
访问飞牛云管理面板,打开docker,为了防止docker 镜像出现无法下载的情况,我们可以提前设置一下docker的仓库下载源,点击仓库设置
然后点击添加:https://hub.geekery.cn
这个url作为下载源,添加后点击应用
添加完成后点击启用即可,docker下载源设置后,下面我们开始下载wordpress
2. Docker下载WordPress
点击搜索wordpress,然后点击下载第一个,等待下载完成
下载后,打开本地镜像,点击运行
名称默认,点击下一步
修改一下访问端口,本例改为8088,具体可以改为自己想要的端口.然后点击下一步
然后直接点击创建
创建后打开容器列表,可以看到成功运行了,如果出现运行不了,可能是端口冲突,可以重新运行换个端口,下面在浏览器访问测试
浏览器输入飞牛云局域网IP加自己设置的访问端口即可成功看到wordpress界面,选择中文语言,点击下一步
下面就来到我们数据库的设置了,下一步,创建数据库
3. Docker部署Mysql数据库
同样我们在镜像仓库搜索mysql,下载mysql镜像
下载后打开本地镜像列表,点击运行mysql
名称,默认,直接点击下一步
这里注意,端口我们按默认即可,不用去修改,然后打开环境变量,设置这个参数:MYSQL_ROOT_PASSWORD
表示设置root 用户的密码,然后点击下一步
然后直接点击创建
创建后,我们打开容器列表,可以看到创建运行成功,下面需要创建一个名称为wordpress的数据库,点击打开mysql终端
选择一个连接方式连接
然后我们输入mysql命令:mysql -uroot -p密码
,登录进入mysql,密码就是我们上面设置的root用户的密码
然后执行create database wordpress
; 这个命令,创建一个名称为wordpress的数据库,然后在执行show databases;
查看是否创建成功,出现了wordpress表示创建成功了,这样数据库运行和设置就完成了,下面我们回到网页上设置数据库
4. WordPress 参数设置
回到我们页面上wordpress数据库设置,然后把数据库信息填写进去,然后点击提交
可以看到,设置成功了,然后点击运行安装程序
然后设置一下wordpress的用户名和密码邮箱这些参数,点击安装wordpress
可以看到,成功安装了wordpress
点击登录,可以成功登录到wordpress管理界面,本地部署wordpress 和配置数据库就全部完成了,下面我们安装cpolar实现公网远程访问
5. 飞牛云安装Cpolar工具
飞牛云是基于Linux的,我们可以采用cpolar 的Linux方式安装,打开飞牛云NAS设置界面,开启ssh 连接,端口默认为22即可,开启后,我们就可以ssh 连接飞牛云NAS执行命令.
然后我们通过局域网IP ssh远程连接进去
连接后执行下面cpolar Linux 安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
执行这个命令后可能会出现卡主,可以看到这个位置是提示需要输入NAS用户名对应的密码,直接输入密码回车即可,期间没有报错表示安装成功
然后执行下面系列命令来操作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服务后,我们通过NAS局域网IP访问9200端口,即可看到cpolar的web ui 管理界面,一切操作在管理界面操作即可,如果没有账号,可以进入下面cpolar官网注册,或者点击登陆按钮下面免费注册也可以跳转去免费注册,注册后登录即可,这样cpolar在飞牛云安装就完成了.
cpolar官网地址: https://www.cpolar.com
6. 固定Cpolar公网地址
由于docker 访问限制,为了方便配置,因此我们直接为其配置Cpolar的二级子域名,该地址为固定地址,不会随机变化。
点击进入和登录Cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留
保留成功后复制保留成功的二级子域名的名称
返回管理界面,在管理界面点击左侧仪表盘的隧道管理——创建隧道,创建一个wordpress的公网http地址隧道!
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择http
- 本地地址:8088 (上面我们设置wordpress端口)
- 域名类型:二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区:选择China vip
点击创建
(点击一次创建按钮即可,不要重复点击!)
创建完成后,打开在线隧道列表,可以看到公网地址,该地址是固定的二级域名地址,不会随机变化,下面我们修改一下wordpress 配置文件,设置一下
7. 修改WordPress配置文件
打开容器列表,然后打开wordpress终端
选择这个点击连接
我们需要安装一个配置文件编辑工具输入apt install vim
-y 安装vim编辑工具,安装后开始配置
输入vim wp-config.php
打开wordpress 主配置文件,在配置文件中加上下面两个参数,注意!里面的域名换成自己设置的域名
define('WP_HOME', 'http://wp-test.vip.cpolar.cn');
define('WP_SITEURL', 'http://wp-test.vip.cpolar.cn');
这一步要严格注意,参数加在下面截图的位置,不要写错了,设置完成记得保存,尽量使用http域名
设置完成后,我们重启一下wordpress 容器,重启后接下来直接访问
8. 公网域名访问WordPress
浏览器输入cpolar中我们创建的二级子域名,可以看到成功访问到了wordpress
同样,我们在域名后面加上/wp-admin.php
这样就成功访问到了wordpress管理界面,至此,所有的配置就完成了,成功配置了wordpress公网访问,不受本地限制,注意,设置公网域名后,无法使用本地访问了,下次访问直接输入公网域名访问即可.
相关文章:

飞牛云fnOS本地部署WordPress个人网站并一键发布公网远程访问
文章目录 前言1. Docker下载源设置2. Docker下载WordPress3. Docker部署Mysql数据库4. WordPress 参数设置5. 飞牛云安装Cpolar工具6. 固定Cpolar公网地址7. 修改WordPress配置文件8. 公网域名访问WordPress 前言 本文旨在详细介绍如何在飞牛云NAS上利用Docker部署WordPress&a…...

ctfshow-web入门-SSTI(web361-web368)上
目录 1、web361 2、web362 3、web363 4、web364 5、web365 6、web366 7、web367 8、web368 1、web361 测试一下存在 SSTI 注入 方法很多 (1)使用子类可以直接调用的函数来打 payload1: ?name{{.__class__.__base__.__subclasses__…...
pyinstaller+upx给python GUI程序添加自定义图标
一、在线.ico图标生成 windows用48x48尺寸 https://www.ico51.cn/ 二、upx打包图标工具 https://upx.github.io/ 三、UI文件生成py代码 pyside2-uic window.ui > window.py 四、打包命令 1、–icon:这个是.ico图标路径 2、–upx-dir:upx打包工…...
LeetCode【0034】在排序数组中查找元素的第一个和最后一个位置
本文目录 1 中文题目2 求解方法:左右边界二分查找2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 给定一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存…...

react-markdown内容宽度溢出和换行不生效问题
情景复现: 解决办法,添加样式进行限制 /* index.css */ .markdown-container {word-break: break-word; /* 强制长单词断行 */white-space: pre-wrap; /* 保留空白符序列,但是正常地进行换行 */overflow-wrap: break-word; /* 在长单词或…...
uniapp 上传 base64 图片
在图片裁剪时候返回的是base64文件 需要上传到obs一般出现在h5网页端 可以直接使用 js 原始解决 应该只可以在h5浏览器内使用 // 提取 Base64 编码部分 const base64Data e.tempFilePath.replace(/^data:image\/(\w);base64,/, ""); // 将 Base64 编码转换为 Arra…...

让Git走代理
有时候idea提交代码或者从github拉取代码,一直报错超时或者:Recv failure: Connection was reset,下面记录一下怎么让git走代理从而访问到github。 1.打开梯子 2.打开网络和Internet设置 3.设置代理 记住这个地址和端口 4.打开git bash终端 输入以下内容 git c…...

通义千问API调用测试 (colab-python,vue)
文章目录 代码(来自官网)colab中用python测试Qwen2.5在官网上查看并确定过期时间这里看到我的免费额度到25年5月在同一个页面,点击API示例 前端调用直接在前端调用的优缺点以vue为例(代码是基于官网node.js的代码转换而来…...
H3C ER8300G2-X未授权导致信息泄露漏洞(CVE-2024-32238)
免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...
随手记:简单实现纯前端文件导出(XLSX)
1.需求背景: 由于导入需要经过后端存储数据库,所以导入还是和后端联调 但是简单的前端导出有部分是可以直接给到用户 xlsx插件简介 xlsx插件(通常指的是SheetJS/js-xlsx)是一个强大的JavaScript库,它允许你在浏览器…...
SwiftUI 高级开发教程系列 - 第 3 章:数据持久化
在现代应用中,数据持久化是一项非常重要的功能,它使得应用的数据可以在重启后依然保留,提升用户体验。SwiftUI 提供了多种数据持久化方法,包括使用 UserDefaults 保存简单数据和 Core Data 进行更复杂的数据管理。本章将详细讲解这两种技术的用法,并展示如何在 SwiftUI 项…...
代码随想录第二十四天| 93.复原IP地址 78.子集 90.子集II
93. 复原IP地址 题目描述 给定一个只包含数字的字符串 s,复原它并返回所有可能的有效 IP 地址格式。 一个有效的 IP 地址 由四个整数部分组成,每部分的取值范围是 0-255,每个部分不能包含前导零。 解题思路 这道题目要求我们将一个数字字…...
Linux编程:基于 Unix Domain Socket 的进程/线程间通信实时性优化
文章目录 0. 引言1. 使用 epoll 边缘触发模式非不要不选择阻塞模式边缘触发(ET)模式优点示例 2. 使用实时调度策略3. CPU 绑定4. 使用无锁缓冲区5. 优化消息传递的大小和频率6. 使用 SO_RCVTIMEO 和 SO_SNDTIMEO7. 示例代码其他阅读 0. 引言 前几天被问…...

PET-文件包含-FINISHED
include发生错误报warning,继续执行。require发生错误直接error,不继续执行 无视扩展名,只要能解析,就能当可执行文件执行,哪怕文件后缀或没后缀 1 条件竞争 pass17 只需要知道tmp的路径。把xieshell.jpg上传&…...
《WebGL编程指南》书籍分享
在这个数字化时代,WebGL作为一门前沿的图形渲染技术,为网页带来了前所未有的交互体验。今天,我很荣幸向大家分享一本关于学习WebGL的书籍——《Webgl编程指南》 电子版下载链接: https://pan.baidu.com/s/1eTX2Y5ynYH0pUQRf0Jcbow?...
go T 泛型
目录 1、类型约束 2、泛型函数 3、泛型结构体 4、泛型接口 5、以接口作为类型约束 关键词:泛型、类型参数、类型约束 Go 语言在 1.18 版本引入了泛型(Generics)特性,可以编写更通用、可复用的代码,泛型可以用于&a…...
React的基础API介绍(二)
目录 useStateuseState 的基本原理1. 状态在函数组件中的引入2. useState 的工作机制3. Hook 状态与组件渲染 useState 的使用方法1. 基本用法2. 多个状态变量3. 更新状态 注意事项与最佳实践1. 状态更新可能是异步的2. 不要直接修改状态3. 更新对象或数组状态4. 避免闭包陷阱 …...

远程开发测试必看:如何在群晖NAS上运行网页版Ubuntu
文章目录 前言1. 下载Docker-Webtop镜像2. 运行Docker-Webtop镜像3. 本地访问网页版Linux系统4. 群晖NAS安装Cpolar工具5. 配置异地访问Linux系统6. 异地远程访问Linux系统7. 固定异地访问的公网地址 前言 本文将详细讲解如何在群晖NAS上部署docker-webtop,并利用c…...

JAVA题目笔记(十五)经典算法题
一、按要求排序 要求:定义数组并存储一些女朋友对象,利用Arrays中的sort方法进行排序 属性包括:姓名,年龄,身高 按照年龄大小进行排序,年龄一样按照身高排序,身高一样按照姓名字母进行排序。…...
「Mac玩转仓颉内测版8」入门篇8 - Cangjie函数与方法
本篇介绍Cangjie编程语言中的函数与方法,帮助理解如何通过函数封装重复操作,提升代码的复用性和可维护性。 关键词 Cangjie函数方法定义参数传递返回值模块化与复用性 一、什么是函数? 函数是一个代码块,用于接收参数、执行操作…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...