如何使用Docker部署Drupal并结合cpolar实现固定公网地址访问

文章目录

  • 前言
    • 1. Docker安装Drupal
    • 2. 本地局域网访问
    • 3 . Linux 安装cpolar
    • 4. 配置Drupal公网访问地址
    • 5. 公网远程访问Drupal
    • 6. 固定Drupal 公网地址

前言

Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习曲线可能相对较陡,但一旦熟悉了它的工作方式,用户就能够充分利用其功能和灵活性。在本文中,我们将介绍如何使用Docker快速部署Drupal,并且结合cpolar内网穿透工具实现公网远程访问

首先,您需要在您的机器上安装Docker,并且启动,可以按照Docker官方文档中的说明进行安装。

1. Docker安装Drupal

docker部署Drupal之前,需要先安装一个数据库,数据库选择mysql 即可,如果本地已经安装mysql,可以跳过,下面命令使用docker启动一个mysql数据库,

docker run --network host -e MYSQL_ROOT_PASSWORD=自己设置密码 \
-v /etc/mysql/data:/var/lib/mysql \
-v /etc/mysql/conf.d:/etc/mysql/conf.d \
--name mysql \
-d mysql:latest

部署启动好数据库后,下面部署Drupal,执行下面命令,直接运行容器,为了方便数据库连接,指定使用宿主机网络:

docker run --network host  --name my-drupal  -d drupal:latest

执行等待docker 启动完后,输入docker ps 即可看到运行的Drupal容器,同时也看到了mysql容器运行

image-20231010103211359

2. 本地局域网访问

安装运行后,在浏览器访问80端口,即可看到Drupal的安装界面,Drupal就部署安装启动成功了,下面我们继续安装cpolar 工具,完成远程访问,然后再配置Drupal

image-20231010095146640

3 . Linux 安装cpolar

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

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

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

image-20230831171159175

4. 配置Drupal公网访问地址

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

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

点击创建

image-20231010103555887

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

image-20231010103648807

5. 公网远程访问Drupal

使用上面的cpolar https公网地址在任意设备的浏览器访问,即可成功看到我们Drupal 界面,这样一个公网地址且可以远程访问就创建好了,下面进行Drupal设置,语言选择简体中文,选择后点击Save and continue

image-20231010103755055

然后选择标准安装

image-20231009160519704

接下来数据库设置,数据库类型选择mysql数据库,接着输入数据库名称(可以自定义),然后填写数据库用户名,默认:root ,接着填写数据库密码,然后打开高级选项,主机参数填写Linux设备局域网ip地址(表示连接本地数据库),填写好后,点击底部按钮保存并继续

image-20231010104413275

然后等待安装完成

image-20231009162221138

安装完成后,我们成功可以看到了Drupal 界面,并且使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网访问,后续Drupal玩法,可以去参考官方文档进行学习!

image-20231010104804477

6. 固定Drupal 公网地址

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

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

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

image-20231010105350522

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

image-20231010105414475

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

image-20231010105511687

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

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

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

image-20231010105622801

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

image-20231010105652875

最后,我们使用固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了

image-20231010105722014

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

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

相关文章

2024年及以后在您的项目中使用的最佳CSS框架

在过去几年中,CSS已经取得了长足的进步。在过去,您可能会使用CSS来创建依赖于HTML表格和CSS浮动作为其布局系统的简单外观的Web应用程序。而现在,您可以设计复杂的交互式用户界面,具有优雅的设计。 尽管CSS变得越来越先进&#x…

虚拟机centos7 网络IP冲突

修改其中一个虚拟机IP 1: 设置虚拟机网络配置器的模式为NAT模式,操作方式如下图所示 2:点击虚拟网络编辑器 3:点击NAT设置 4:点击DHCP配置 5: 修改配置文件来指定IP并可以连接到外网,在roo…

【通讯录案例-数据存储总结 Objective-C语言】

一、我们简单的把“数据存储”总结一下, 1.上午,我们说的三种存储方式, 1)plist 2)Preference(偏好设置) 3)NSKeyedArchiver(归档、解档) 三种存储方式, 2.什么能做plist存储, 1)writeToFile:方法, 实际上,这个东西,才是关键, 有一个对象,可以去写w…

ETL数据集成工具DataX、Kettle、ETLCloud特点对比

ETL数据集成工具 对于数据仓库,大数据集成类应用,通常会采用ETL工具辅助完成。ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract) 、交互转换(transform) 、加载(load)至的端的过程当前的很多应…

spring @Transactional注解参数详解

事物注解方式: Transactional 当标于类前时, 标示类中所有方法都进行事物处理 , 例子: 1 Transactional public class TestServiceBean implements TestService {}当类中某些方法不需要事物时: Transactional public class TestServiceBean implements TestService {private…

Vue24 收集表单数据 实例

实例 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>收集表单数据</title><script type"text/javascript" src"../js/vue.js"></script></head><body><!-- 收集…

SpringCloud-Feign:负载均衡(基于服务端)

7.Feign&#xff1a;负载均衡(基于服务端) 7.1 Feign简介 Feign是一个开源的声明式HTTP客户端&#xff0c;它可以简化HTTP API的调用过程。Feign的设计目标是使得使用者可以像调用本地方法一样调用远程服务&#xff0c;使得编写和维护HTTP客户端变得更加简单。类似controller…

2045第六题 拯救花园 (flowers)

题目大意&#xff1a; 有n只兔子&#xff0c;每只兔子抓回去的时间为ti,回来的时间也是ti,则抓一只兔子要2*ti的时间&#xff0c;di则为每只兔子一个时间单位能吃多少草&#xff0c;用最优方法做的话它们一共吃了多少草&#xff08;最少&#xff09; 贪心标准&#xff1a; 我们…

[深度学习] 卷积神经网络“卷“在哪里?

​ &#x1f308; 博客个人主页&#xff1a;Chris在Coding &#x1f3a5; 本文所属专栏&#xff1a;[深度学习] ❤️ 热门学习专栏&#xff1a;[Linux学习] ⏰ 我们仍在旅途 目录 1.卷积的定义 2.卷积的"卷"在哪里 3.什么又是卷积神…

C++学习Day06之多继承基本语法

目录 一、程序及输出二、分析与总结 一、程序及输出 多继承的基本语法如下&#xff1a; class Base1 { // Base1 class definition }; class Base2 { // Base2 class definition }; class Derived : public Base1, protected Base2 { // Derived class definition }; #include…

OpenAI划时代大模型——文本生成视频模型Sora作品欣赏(一)

Sora介绍 Sora是一个能以文本描述生成视频的人工智能模型&#xff0c;由美国人工智能研究机构OpenAI开发。 Sora这一名称源于日文“空”&#xff08;そら sora&#xff09;&#xff0c;即天空之意&#xff0c;以示其无限的创造潜力。其背后的技术是在OpenAI的文本到图像生成模…

MySQL-锁(LOCK)

文章目录 1. 锁是什么&#xff1f;2. 全局锁2.1 相关语法2.2 特点 3. 表级锁3.1 表锁3.1.1 共享读锁&#xff08;S&#xff09;3.1.2 排它写锁&#xff08;X&#xff09; 3.2 元数据锁&#xff08;MDL&#xff09;3.2 意向锁&#xff08;IS、IX&#xff09; 4. 行级锁4.1 行锁 …

Python学习(16)|列表_遍历_排序_max_min_sum

列表的遍历&#xff1a; a [10,20,30,40] for obj in a: #obj 是临时变量名称&#xff0c;随意起名print(obj) 执行结果&#xff1a; 复制列表所有的元素到新列表对象&#xff1a; list1 [30,40,50] list2 list1 #只是将list2也指向了列表对象。也就是说list…

Springboot返回给前端的日期变成时间戳问题处理

问题&#xff1a; 解决方案 在对应的Entity类中&#xff0c;给对应属性添加JsonFormat​注解 ​JsonFormat​注解用于将Date日期格式化为指定格式的字符串。由于在序列化时间时是按照国际标准时间GMT进行格式化的&#xff0c;最后接受到的数据会早8个小时&#xff0c;所以应该…

CF778A String Game 题解

文章目录 CF778A String Game 题解题面翻译Input DataOutput DataInput Sample 1Output Sample 1题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示算法&#xff1a;二分代码&#xff1a; CF778A String Game 题解 link 题面翻译 …

【白嫖8k买的机构vip教程】安卓设备连接电脑进行adb命令操作

Android 真机进行adb 命令的操作&#xff1a; 连接方式 &#xff1a; 数据线连接&#xff1a; 1&#xff09;手机需通过数据线连接电脑&#xff1b; 2&#xff09;手机调出开发者选项&#xff1b;手机操作步骤&#xff1a;设置——系统——关于手机&#xff08;平板电脑&am…

CDN缓存有什么作用?

CDN缓存是内容分发网络的核心技术之一&#xff0c;它的作用在于通过将内容缓存在边缘服务器上&#xff0c;提高内容的访问速度和可用性。以下是CDN缓存的几个主要作用&#xff1a; 加速内容的访问速度 CDN缓存通过将内容缓存在距离用户更近的边缘服务器上&#xff0c;减少了内…

【办公类-16-07-02】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环”(python 排班表系列)

背景需求&#xff1a; 又到了开学季&#xff0c;新的自主游戏&#xff08;户外游戏&#xff09;安排表出炉了。 这张是贴在美术活动室的安排表&#xff0c;我需要转换成班级为单位的安排表&#xff0c;便于批量制作周计划。 设计思路&#xff1a; 1、一个班级每周轮到的一个场…

电商+支付双系统项目------怎么用代码实现支付系统?

前言 上篇文章讲了我们应该怎么设计支付系统&#xff0c;构建了一个支付系统的蓝图&#xff0c;这篇文章我来讲一下怎么用代码来设计支付系统。当然&#xff0c;我肯定不是手把手的教你哈哈哈&#xff0c;我只是把支付系统的核心的部分展示给大家看&#xff0c;让大家了解一下…

C 语言 devc++ 使用 winsock 实现 windows UDP 利用 IP 进行局域网发送消息

UDP 通信流程_udp通信过程-CSDN博客参考来源 UDP 通信流程_udp通信过程-CSDN博客 这里移植到windows 上 &#xff0c;使用 devc 开发。 服务端代码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <…