分类 宝塔面板 下的文章

阐述标题

刚打开这个文章的你,可能会对这个 title 有点懵逼,简单介绍一下:

当你访问一个地址的时候,这个站点会随机从服务器向你返回一张图片

你应该懂了吧

正文

按照标题,我们需要先购买一台服务器

购买服务器

这里推荐使用雨云进行搭建
有备案选国内,没备案选国外
1 核心 1G 也能运行起来!即使配置不够,后续也可升级
自行选择心仪的服务器
操作系统推荐选择 ubuntu 22.04

安装宝塔面板

如果在本章节出现不知道如何操作的,可以前往[教你快速搭建一个文件快递柜[filecodebox使用教程] - TropicalFish - 信息技术分享平台](https://www.tropical-fish.cn/index.php/archives/129.html)查看

宝塔面板(bt.cn) 简单好用的Linux/Windows服务器运维管理面板

购买服务器后,使用 SSH 工具连接到服务器,键入 bt.cn 上最新的安装宝塔面板的命令

为了防止你是迷惑用户,直接贴上URL:宝塔面板下载,免费全能的服务器运维软件

if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

第一次需要按 Y 以确认安装
等待出现面板链接信息即代表安装成功

首次进入宝塔面板

如果在本章节出现不知道如何操作的,可以前往[教你快速搭建一个文件快递柜[filecodebox使用教程] - TropicalFish - 信息技术分享平台](https://www.tropical-fish.cn/index.php/archives/129.html)查看

根据 ssh 窗口中提供的连接信息,在浏览器中访问,请注意 https 与 http 的区别

第一次访问需要同意许可条款

可以不选择绑定账号

需要安装 LNMP 环境,如果不小心手滑点掉了,也可以通过重新进入面板来安装

安装进度可见左上角面板 ip 旁边的小数字

如果你是重度深色用户,可通过以下方式将 bt 设置为深色模式
image.png

创建、编写网站

创建网站

点击宝塔左侧网站,PHP 项目,添加站点
域名就写 {server_ip}:{port},即服务器 ip + 自定义端口,当然如果你有域名也可以填写你的域名,但是需要在域名提供商创建一个 A 解析指向服务器 ip
根目录可以不管
确定即可
image.png

编写网站

点击你刚创建网站的 根目录 进入文件管理
image.png

然后创建一个文本文件
image.png

将其命名为 index.php

没有设计确定按钮,直接回车即可,不要再找确定按钮了

双击编辑他

键入以下代码

<?php
$img_array = glob("photos/*.{gif,jpg,png}",GLOB_BRACE); 
$img = array_rand($img_array); 
$dz = $img_array[$img];
header("Location:".$dz);
?>

如果你想知道代码的含义,可以看看:

<?php
// 使用 glob 函数搜索 photos 目录下的所有 gif、jpg、png 格式的图片文件
// GLOB_BRACE 参数允许使用花括号来匹配多种文件扩展名
$img_array = glob("photos/*.{gif,jpg,png}", GLOB_BRACE); 

// 从图片数组中随机选择一个图片的索引键
// array_rand 函数返回随机数组元素的键名
$img = array_rand($img_array); 

// 通过随机选择的键名获取对应的图片文件路径
// $img_array[$img] 就是随机选中的图片文件完整路径
$dz = $img_array[$img];

// 发送 HTTP 重定向头部,将用户浏览器跳转到随机选中的图片地址
// 这样用户就会直接看到随机选择的图片
header("Location:".$dz);
?>

然后 Ctrl+S 保存

上传图片文件

新建一个文件夹,命名为 photo,进入此文件夹,将你想要的图片上传,扩展名一定要是 gif jpg png 三者其中之一

你想的没错,直接把本地文件直接拖到文件管理器即可

如果文件数量过多,可本地压缩成 zip 文件后,上传到文件管理器,再解压即可

测试

打开浏览器,键入你之前输入的域名或 ip+port ,你会发现他成功加载了图片

如果你是迷惑用户,你可能会怀疑为什么我刷新,还是那张图片,我建议你看看你访问的 url 是什么
如果你是迷惑用户,你可能会想着该怎么办,再次强调,随机图片 API,你是通过 api 访问的,加载一次客户站点,只会加载一次图片 api 站点,不会加载很多次
如果你是迷惑用户,你可能会想如果我在一个页面中引用多次 iframe 怎么办,再次强调,你是通过 api 访问的,访问一次,获取一次
如果你是迷惑用户,建议询问 Deepseek

恭喜你,打败了全国 99% 的选手

前言

提到在线评测系统(Online Judge),很多人会想到用C++、Java 或 Python 等语言开发。但你可能不知道,​PHP 同样能够构建功能强大的在线评测系统​!今天我们就来聊聊基于 PHP 的 HUSTOJ ——一个成熟稳定的开源在线评测系统

HUSTOJ

hustoj 由 华中科技大学(实际上只有 zhblue 一个人和喜欢 pr 的网友) 开发,前后端完全使用 php 开发,判题机是 docker ,不用担心安全问题,这点为 oi 教学系统提供了很好的解决方案

主要优势:

  • 开源免费
  • 允许商用(只需要开放源代码)
  • 海量题库(约 $x(x \geq 5 \times 10^3)$ 道题目可以下载)
  • 支持多种语言提交
  • 社区活跃
  • 易于二开(直接修改文件即可,不需要重新 build)

HUSTOJ 相关资料

QQ 群:23361372
wiki:代码的那些事 | 程序员回忆录
github:zhblue/hustoj: Popular Simple Open Source Online Judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training, with easy installation. 简单实用的开源OJ系统
题库:TK题库

正文

我们如何部署如此强势的 online judge 呢?
我们可以使用同样强势的的 雨云 和 宝塔面板
温馨提示:1-1 也可以部署 hustoj
购买完服务器后,需要安装宝塔面板
操作系统选择 ubuntu 22.04

开始部署

创建数据库

登录上你的 宝塔面板,左侧数据库,创建数据库,数据库名称 jol ,进行创建
image.png

运行安装脚本

先登录上你的 宝塔面板 ,进入左侧终端,执行两条命令

wget http://dl.hustoj.com/install-ubuntu22.04-bt.sh # 拉取安装脚本
bash install-ubuntu22.04-bt.sh # 运行安装脚本

这时,他会要求你输入数据库用户名和密码,请依次键入你创建数据库的时候的用户名和密码
image.png

随后便开始安装了...

期间可能会多次需要你按下 enter 键

请不要使用 Windows + V 剪切板功能
请保持 bt 窗口活跃
安装速度结合网络宽带而定

需要按 enter 大杂烩:
image.png

创建站点并配置

宝塔左边网站,php,创建网站,域名http://<server_ip>:<port>,根目录/home/judge/src/web
image.png

然后设置这个,左边网站目录,关闭放跨站攻击
image.png

然后,左边软件商店,搜索 php ,设置安装的 php,左边禁用函数,取消 putenv 函数的禁用
image.png

然后,使用浏览器访问你的 oj ,恭喜你,访问成功!
image.png

简单使用 HUSTOJ

注册管理员账户

右上角注册,用户名一定要写admin,其他随意,注册即可

添加一道题目

后台管理 URL 是 http://<server_ip>:<port>/admin/

左侧【问题-管理】【问题-添加】

<span class='md'>
</span>

这是 markdown 的标记,题面需要在里面写,支持 latex、katex

添加即可

维护

系统配置

/home/judge/src/web/include/db_info.inc.php 有注释

其他你可能需要知道的东西

/home/judge/src/web 是站点文件
image.png


感谢阅读

前文

关于 mcsmanager

省流:一整套现代化的智能管理系统

mcsmanager 是一款开源、分布式、轻量级的游戏服务器管理面板,由国人使用 node.js 开发。它最初 为 我的世界(Minecraft)服务器而生,因此得名,但现在它的能力已经扩展到了多种 ​Steam 服务器(如泰拉瑞亚)以及其它多种游戏服务端

它的核心是一个 Web 控制台,你只需要在服务器上安装好面板服务,就可以通过任何浏览器(比如你的手机、家里的电脑,甚至是手表或电视)来远程管理和控制你的游戏服务器

还有,你甚至可以把他当做守护进程(?)

主要优势

  1. 不需要命令行访问,他只是一个 Web 面板!
  2. 支持在线文件管理,不需要 ftp 、 sftp 这种一点就炸的东西
  3. 多实例管理
  4. 实时控制台
  5. 厉害的用户权限系统
  6. 计划任务与备份
  7. 资源监控
  8. 多节点管理
  9. 开源、免费、轻量、安全

其实,一开始 mcsmanager 只是一个管理 Minecraft 服务器的管理面板,后来功能逐渐强大,甚至支持管理 泰拉瑞亚 等 Steam 游戏

Github开源:MCSManager/MCSManager: Quick deployment, distributed, multi-user, modern management panel for Minecraft and Steam game servers / 一键安装,分布式架构,多用户销售,现代化的 Minecraft 和 Steam 游戏服务器管理面板

Wiki:MCSManager | Free, Secure, Distributed, Modern Control Panel for Minecraft and Steam Game Servers. 不要以为这是英文 wiki 了,你可以切换为简体中文

正文

我们如何部署这么强势的服务器管理面板捏,我们可以使用同样强势的雨云,部署成功率为 200%
你在购买好后,需要安装宝塔面板,并自行配置 lnmp 和 docker 环境
切记安装 docker 的方式:

方法1:命令部署

适用于:海外用户
可见 wiki 【快速开始】【Linux 自动安装】

sudo su -c "wget -qO- https://script.mcsmanager.com/setup_cn.sh | bash"

直接打开服务器 ssh ,直接运行即可

方法2:Docker 部署

适用于:国内用户

首先,你肯定已经安装好了 Docker
打开 bt ,左边 docker ,应用商店搜索 Mcsmanager ,两个 Web 和 Deamon 都需要安装
image.png
image.png

温馨提示,你可以点击【已安装】对应的实例的安装进度
bt_successful 就是安装成功> 我知道你看不懂,但是你可以前往 DeepSeek - 探索未至之境 | 豆包 - 字节跳动旗下 AI 智能助手

image.png
上图为【日志】按钮的位置


我相信你已经成功部署了,那么...

访问你的 mcsmanager

打开浏览器,访问 http://<server_ip>:23333

选择简体中文->开始->输入用户信息->老用户

你就会进入
image.png

选择方法 1 安装的用户可直接跳转到【创建 Minecraft 服务器】

选择上面的节点(如果你点不了,请把 url 改成 http://<server_ip>:23333/#/node)

如图
image.png

如何获取节点密钥?

进入宝塔,docker,已安装,选择 daemon 的文件管理
image.png

依次进入 /daemon/data/Config

你会看到一个文件,叫做global.json,双击编辑他

key 字段就是节点密钥

image.png

wow 在线了 太好力

创建 Minecraft 服务器

进入 应用实例
新建应用
自由选择安装

安装完毕...

前文

假设你是一个运维小白,你不会使用 mysql 命令管理数据库,你只会使用 phpmyadmin ,但是,如果你的服务器线路差了那么一点点,那么你的访问 phpmyadmin 的速度跟你从百度网盘下载文件的速度差不多,非常头疼,这里有个解决方案。

正文

观察你的 phpmyadmin

当你进入宝塔,选择数据库,选择 mysql ,进入 phpmyadmin
image.png
image.png

你会发现,你的 phpmyadmin 主页下面有一个 warn 警告
image.png

为什么无法访问呢...

深度思考

其实你可以买一台更好的服务器
如果你有一点运维经验,你应该会知道【无法访问】可能有以下几种情况

  • 文件/目录权限
  • PHP 配置
  • 会话配置

当然我觉得你可能不知道后面两个是什么意思,但是如果是用宝塔安装的 phpmyadmin ,那么你有极大的可能性,是因为文件/目录权限

实操

先进入 bt 的文件管理,进入 phpmyadmin 提示的无法访问的目录,不要进入 /tmp,应该会有以下文件

image.png

解决问题已经很简单了,右键 tmp 文件夹,点击权限,全勾 + root ,然后确定
image.png

你勾和输入权限达到的效果是一样的

然后,当你重新进入 phpmyadmin ,你会发现,这个 warn 没了,速度也似乎变快了

...

感谢阅读

请问

你是否厌倦了在线文件传输工具的缺点?速度慢?限制文件大小?限制访问日期?
那么,我们就来自己搭建一个在线文件传输工具!

Filecodebox

什么是 FileCodeBox?

FileCodeBox 是一个开箱即用的文件分享工具,具有以下特色:

  • 快速部署​:Docker 一键部署
  • ​大文件支持​:轻松分享大型文件
  • ​安全可靠​:密码保护和过期时间
  • 简洁界面​:用户友好的操作界面
  • 数据统计​:下载次数和流量监控

正文

购买服务器

推荐使用雨云搭建 filecodebox ,绝对性成功

注册后,实名认证,然后购买一台服务器
有备案的买国内,没备案的买海外
操作系统建议选择 ubuntu 22.04
filecodebox 非常轻量,1-1 也能运行

安装宝塔面板

打开雨云自带的 ssh 连接工具,键入账密,使用下列命令安装宝塔面板

if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

在询问处键入 Y 以确认安装
image.png
安装速度取决于服务器带宽,大约为 2 分钟

注意,期间不能关于浏览器窗口和 ssh 窗口,不然会出现玄学事件

安装完成如图:

image.png

如何维护宝塔面板?
使用 bt 命令

使用宝塔配置服务器环境

使用浏览器打开 ssh 中显示的 url

如出现下图页面,请点击【高级】-【继续访问】
image.png

输入连接信息
image.png

滑到最后,同意条款,进入面板
image.png

到这一步,你可以选择绑定账号,也可以选择跳过
image.png

到初始化这一步,你直接点击 lnmp 的安装按钮即可
image.png

然后点击左侧 docker ,立即安装
image.png

一定要选择如下方式安装
image.png

你可以点击左上角服务器 ip 的小气泡查看安装进度

安装 filecodebox

安装完成后,依旧是 docker,应用商店,搜索文件快递柜,找到对应的,点击安装
image.png
这里的安装配置一般不用改

等待 1-3 分钟

可在 docker 应用商店的 已安装 里面查看安装进度

如图所示即为安装成功
image.png

然后宝塔左边点击【安全】,【添加端口规则】,【端口】填12345,确定
image.png

体验 filecodebox

浏览器访问 http://服务器ip:12345

如图即为一切都正常
image.png

后台管理

后台地址为 http://服务器ip:12345/#/admin/

密码默认为 FileCodeBox2023

一定要先修改密码

image.png