当前位置: 首页 > news >正文

Linux系统之部署SSCMS内容管理系统并实现外网访问

Linux系统之部署SSCMS内容管理系统并实现外网访问

  • 一、SSCMS介绍
  • 二、cpolar介绍
    • 2.1 cpolar简介
    • 2.2 cpolar使用场景
  • 三、本地环境介绍
    • 3.1 本地环境规划
    • 3.2 本次实践介绍
  • 四、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 五、部署SSCMS服务
    • 4.1 创建SSCMS容器
    • 5.2 检查SSCMS容器状态
    • 5.3 SSCMS的初始配置
    • 5.4 访问SSCMS网站服务
  • 六、cpolar的初始配置工作
    • 6.1 登录cpolar官网
    • 6.2 安装cpolar工具
    • 6.3 启动cpolar服务
    • 6.4 查看cpolar版本
    • 6.5 token认证
    • 6.5 重启cpolar服务
  • 七、SSCMS服务的外网配置
    • 7.1 查看cpolar命令的帮助信息
    • 7.2 查看在线隧道
    • 7.3 访问cpolar web ui 管理界面
    • 7.4 查看默认的隧道列表
    • 7.5 公开本地web网站
    • 7.6 配置后台服务
    • 7.7 启动所有隧道测试
  • 八、在cpolar web ui中创建隧道
    • 8.1 创建隧道
    • 8.2 复制公网地址
    • 8.3 访问SSCMS网站服务

一、SSCMS介绍

SSCMS 基于 .NET Core,能够以最低的成本、最少的人力投入在最短的时间内架设一个功能齐全、性能优异、规模庞大并易于维护的网站平台。

二、cpolar介绍

2.1 cpolar简介

cpolar极点云: 公开一个本地Web站点至公网,只需一行命令,就可以将内网站点发布至公网,方便给客户演示。高效调试微信公众号、小程序、对接支付宝网关等云端服务,提高您的编程效率。

2.2 cpolar使用场景

cpolar常用的使用场景:

  • 公开一个本地Web网站
  • 微信公众号开发调试
  • 在移动设备上测试
  • 远程控制树莓派

三、本地环境介绍

3.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostnameIP地址操作系统版本Docker版本内网穿透工具
jeven192.168.3.166centos 7.620.10.17cpolar

3.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎使用;
2.在Docker环境下部署SSCMS内容管理系统;
3.通过cpolar实现外网访问部署在内网中的SSCMS服务。

四、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2023-08-23 23:41:16 CST; 2 days agoDocs: https://docs.docker.comMain PID: 9562 (dockerd)Tasks: 75Memory: 550.6M

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[[root@jeven ~]# docker compose version
Docker Compose version v2.19.1

五、部署SSCMS服务

4.1 创建SSCMS容器

使用docker-cli命令快速创建SSCMS容器

docker run -d \--name my-sscms \-p 8011:80 \--restart=always \-v volume-sscms:/app/wwwroot \-e SSCMS_SECURITY_KEY=e2a3d303-ac9b-41ff-9154-930710af0845 \-e SSCMS_DATABASE_TYPE=SQLite \sscms/core

在这里插入图片描述

5.2 检查SSCMS容器状态

检查SSCMS容器状态,确保SSCMS容器正常启动。

[root@jeven ~]# docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED         STATUS                    PORTS                                            NAMES
f4ee09c6548a   sscms/core             "dotnet SSCMS.Web.dll"   5 minutes ago   Up 5 minutes              443/tcp, 0.0.0.0:8011->80/tcp, :::8011->80/tcp   my-sscms

5.3 SSCMS的初始配置

访问地址:http://192.168.3.166:8011/,将IP替换为自己服务器的IP地址,进入到SSCMS后台管理页面。

在这里插入图片描述

点击进入后台管理后,对sscm初始化设置。
主要设置管理员账号和密码,其余默认配置即可。

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

登录后台管理后,选择使用在线站点模板创建站点。

在这里插入图片描述

选择一个在线模板创建站点

在这里插入图片描述

设置站点信息:
站点名称:myweb;
站点类型:网站;
站点级别:主站;
其余默认,点击“创建站点”。

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

5.4 访问SSCMS网站服务

访问地址:http://192.168.3.166:8011/,进入SSCMS前台网站服务的首页。

在这里插入图片描述

六、cpolar的初始配置工作

6.1 登录cpolar官网

cpolar官网地址:https://www.cpolar.com/,注册账号及登录cpolar官网。

在这里插入图片描述

6.2 安装cpolar工具

在本地SSCMS服务器,由于本地服务器为centos7.6,执行以下命令,使用脚本一键安装cpolar。

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

在这里插入图片描述

6.3 启动cpolar服务

执行以下命令,启动cpolar服务。

systemctl enable cpolar && systemctl start cpolar

6.4 查看cpolar版本

查看cpolar版本

[root@jeven ~]# cpolar version
cpolar version 3.3.12

6.5 token认证

登录cpolar官网后,点击左侧的验证查看自己的认证token。

在这里插入图片描述

将token复制,把复制好的token执行如下命令:

cpolar authtoken tokenxxx

在这里插入图片描述

6.5 重启cpolar服务

使用以下命令,重启cpolar服务。

systemctl restart cpolar

查看cpolar服务状态

[root@jeven ~]# systemctl status cpolar.service
● cpolar.service - Cpolar ServiceLoaded: loaded (/etc/systemd/system/cpolar.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2023-10-18 03:23:30 CST; 14h agoDocs: https://www.cpolar.com/docsMain PID: 9320 (cpolar)Tasks: 16Memory: 49.3MCGroup: /system.slice/cpolar.service├─ 9320 cpolar: master process└─12616 cpolar: worker processOct 18 03:23:30 jeven systemd[1]: Started Cpolar Service.

七、SSCMS服务的外网配置

7.1 查看cpolar命令的帮助信息

使用help选项,查询cpolar命令的帮助信息。

 cpolar help

在这里插入图片描述

7.2 查看在线隧道

登录cpolar官网,点击左侧的状态,在线隧道列表显示默认创建的2条隧道:
1.website隧道,指向8080端口,
2.http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)。

在这里插入图片描述

7.3 访问cpolar web ui 管理界面

当我们在Linux上成功安装了cpolar,而我们可以使用cpolar的内网穿透功能,实现多种场景的应用。
可使用如下方式访问http://192.168.XX.XX:9200,默认在9200端口。打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

在这里插入图片描述

在这里插入图片描述

7.4 查看默认的隧道列表

cpolar安装成功后,默认会安装2条示例隧道,可以自行编辑或者删减:
1.ssh隧道:指向本地22端口,TCP协议;
2.website隧道:指向本地8080端口,HTTP协议。

在这里插入图片描述

7.5 公开本地web网站

创建http隧道,指向本地8011端口。

cpolar http 8011

有生成相应的公网地址,一个http协议,一个为https协议(免去配置ssl证书的繁琐步骤),将其复制下来。

在这里插入图片描述

访问测试,在浏览器地址: http://61f71e5c.r10.cpolar.top,就会访问到本地的SSCMS web服务了。

在这里插入图片描述

7.6 配置后台服务

由于以上命令暴露的公网地址在窗口关闭后隧道也将同步关闭无法访问,所以我们需要将参数保存到配置文件中。方便每次开机后,后台自启动运行隧道。

  • 编辑cpolar.yml文件
 vim /usr/local/etc/cpolar/cpolar.yml
  • cpolar.yml文件新增内容如下:
authtoken: xxxxxxxxxxxx #认证tokentunnels:websscms:proto: httpaddr: "8011"region: cn_vip

在这里插入图片描述

webstation:隧道名称,可以自定义
proto: 协议,如tcp或者http
region:线路地区:有cn cn_vip cn_top等,可自由选择,具体请参考官网文档——全球基础设施

7.7 启动所有隧道测试

执行以下命令,启动所有隧道测试。

cpolar start-all

在这里插入图片描述

在浏览器重新打开如上的cpolar地址。

在这里插入图片描述

使用https的cpolar访问地址,访问本地的SSCMS网站服务。

在这里插入图片描述

八、在cpolar web ui中创建隧道

8.1 创建隧道

在cpolar web ui 中,新建一条在线隧道:
隧道名称:可自定义,注意不要重复
协议:http
域名类型:选择随机域名
地区:选择China Top

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

8.2 复制公网地址

在线隧道列表中,复制公网访问地址。

在这里插入图片描述

8.3 访问SSCMS网站服务

在浏览器中,输入cpolar公网地址,可以成功访问到SSCMS网站服务,

在这里插入图片描述

相关文章:

Linux系统之部署SSCMS内容管理系统并实现外网访问

Linux系统之部署SSCMS内容管理系统并实现外网访问 一、SSCMS介绍二、cpolar介绍2.1 cpolar简介2.2 cpolar使用场景 三、本地环境介绍3.1 本地环境规划3.2 本次实践介绍 四、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 五、部署SSCMS服务…...

JVS-rules中的基础与复合变量:规则引擎的心脏

JVS-rules中的“变量”概念与编程语言中的变量类似,但它们通常在规则系统中处理条件判断、业务结果复制场景,如下所示: 条件判断:在规则引擎中,规则通常由两个部分组成:条件和分支。变量用于描述条件部分中…...

RN:指定模拟器启动

背景 我们启动 react native 项目的时候&#xff0c;会打开一个模拟器&#xff0c;但是有时不是我们想要的&#xff0c;我们如何去指定一个模拟器启动呢&#xff1f; IOS xcrun simctl list devicesyarn ios --simulator"<模拟器的UDID>"Android 目前没发现…...

【ARM Cache 系列文章 10 -- ARM Cortex-A720 Hunter 介绍】

文章目录 概述1.1 A720 Features1.1.1 core features1.1.2 Cache features1.1.3 Debug features 1.2 A720 组件介绍1.2.1 L1 缓存系统1.2.2 指令解码1.2.3 寄存器重命名1.2.4 指令分发单元1.2.5 向量执行单元1.2.6 加解密扩展单元1.2.6.1 有限域算法 1.3 接口1.4 GIC CPU Inter…...

深度学习——残差网络(ResNet)

深度学习——残差网络&#xff08;ResNet&#xff09; 文章目录 前言一、函数类二、残差块三、ResNet模型四、模型训练五、小结总结 前言 随着设计越来越深的网络&#xff0c;深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力&#xff0c…...

[java进阶]——IO流,递归实现多级文件拷贝

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、认识IO流 二、了解编码与解码 二、IO流体系 三、字节输入输出流 四、字符输入输出流 五、多级文件拷贝 一、认识IO流 IO流也叫输入流(intput)、输出流(onput)&#xff0c;该流就像java程序同硬盘之间的…...

Linux创建与删除用户

Linux创建与删除用户 新增用户&#xff1a; adduser 用户名【添加用户】 passwd 用户名【设置用户密码】删除用户&#xff1a; userdel -r 用户名【删除用户】...

对传感器采样数据的低通滤波

低通滤波(Low-pass filter) 是一种过滤方式&#xff0c;规则为低频信号能正常通过&#xff0c;而超过设定临界值的高频信号则被阻隔、减弱。 一阶低通数字滤波器 滤波系数a越小&#xff0c;滤波结果越平稳&#xff0c;但是灵敏度低&#xff1b;滤波系数a越大&#xff0c;滤波结…...

Java开发树结构数据封装!

目录 源数据如下controller接口&#xff1a;service层封装:Dao接口&#xff1a;Dao层Mapper:映射实体类&#xff1a; 源数据如下 controller接口&#xff1a; RequestMapping("/UserTreeInfo")public RespBody getUserTreeInfo(Long userId) {List<MenuTreeVo>…...

c++学习笔记汇总

[TOC] (C学习笔记汇总) 基础认识、基础语法 类、类与类之间的关系、可调用对象、std::function类模板、c11新标准、资源管理方案RAII、指针、智能指针、引用计数、C的多态 ios、istream、iostream、fstream、sstream 模板编程&#xff1a; 模板编程&#xff1a;主要分为“泛…...

[动手学深度学习]生成对抗网络GAN学习笔记

论文原文&#xff1a;Generative Adversarial Nets (neurips.cc) 李沐GAN论文逐段精读&#xff1a;GAN论文逐段精读【论文精读】_哔哩哔哩_bilibili 论文代码&#xff1a;http://www.github.com/goodfeli/adversarial Ian, J. et al. (2014) Generative adversarial network…...

Kotlin中的算数运算符

在Kotlin中&#xff0c;我们可以使用各种算术运算符来进行数值计算和操作。下面对这些运算符进行详细描述&#xff0c;并提供示例代码。 正号&#xff08;正数&#xff09;和负号&#xff08;负数&#xff09;&#xff1a; 正号用于表示一个正数&#xff0c;不对数值进行任何…...

Linux高性能服务器编程 学习笔记 第十六章 服务器调制、调试和测试

Linux平台的一个优秀特性是内核微调&#xff0c;即我们可以通过修改文件的方式来调整内核参数。 服务器开发过程中&#xff0c;可能会碰到意想不到的错误&#xff0c;一种调试方法是用tcpdump抓包&#xff0c;但这种方法主要用于分析程序的输入和输出&#xff0c;对于服务器的…...

第三期:云函数入门指南答案

1.云函数需要用户自行考虑租用/购买多少资源以达到最少成本最高效运行自己的函数。 答案&#xff1a;错误(False) 2.Cloud Functions可以为您准备好计算资源&#xff0c;弹性地、可地运行任务&#xff0c;并提供日志查询、性能监控和报警等功能。 答案&#xff1a;正确(True…...

企业怎么通过数字化工具来实现数字化转型?

数字化转型是使用数字技术和工具从根本上改变公司运营方式并向客户提供价值的过程。它涉及思维方式、流程和技术的全面转变&#xff0c;以跟上快节奏的数字时代。以下是有关公司如何通过数字工具实现数字化转型的分步指南&#xff1a; 1.定义您的愿景和目标&#xff1a; 首先确…...

React函数式写法和类式写法的区别(以一个计数器功能为例子)

函数式写法更加简洁和函数式编程思维导向&#xff0c;适用于无状态、UI纯粹的组件&#xff0c;且可以使用Hooks处理副作用。而类式写法适用于有内部状态、生命周期方法和复杂交互逻辑的组件&#xff0c;提供了更多的灵活性和控制力。 文章目录 一、计数器功能演示 1.函数式写法…...

【根据国防科大学报官网word模板修改的Latex模板】

根据国防科大学报官网word模板修改的Latex模板 学报Word模板链接Latex模板结构编译环境为Texlivevscode或Textstudio 学报Word模板链接 学报官网相关下载链接 点击链接即可前往官网下载相关word模板 Latex模板结构 latex模板 ass.cfg文件 %深层模板文件ass.cls文件 %浅层模板…...

系列十一、Redis中分布式缓存实现

一、缓存 1.1、什么是缓存 内存就是计算机内存中的一段数据。 1.2、内存中的数据特点 读写快断电数据丢失 1.3、缓存解决了什么问题 提高了网站的吞吐量和运行效率减轻了数据库的访问压力 1.4、哪些数据适合加缓存 使用缓存时&#xff0c;一定是数据库中的数据极少发生改…...

Spark大数据分析与实战笔记(第一章 Scala语言基础-4)

文章目录 每日一句正能量1.4 Scala面向对象的特性1.4.1 类与对象的特性1.4.2 继承1.4.3 单例对象和伴生对象1.4.4 特质 每日一句正能量 若要快乐&#xff0c;就要随和&#xff1b;若要幸福&#xff0c;就要随缘。快乐是心的愉悦&#xff0c;幸福是心的满足。别和他人争吵&#…...

腾讯云服务器端口localhost可以访问,外部无法访问解决

搭建frp跳板&#xff0c;发现无法使用。ssh 连接不上。 主要检查2个东西&#xff1a; 1. ubuntu ufw系统防火墙。这个默认是关掉的 2. tencent这个防火墙规则设置后&#xff0c;还要设置到实例上。 以前不是这样的。就掉坑里了。 # systemctl rootVM-4-4-ubuntu:/lib/syst…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

DiscuzX3.5发帖json api

参考文章&#xff1a;PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下&#xff0c;适配我自己的需求 有一个站点存在多个采集站&#xff0c;我想通过主站拿标题&#xff0c;采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...