以下是基于 Windows Server 2012 R2 + IIS 搭建个人技术博客论坛并预留 AI 智能问答 API 接口的完整步骤:

首先,购买ECS 服务器

购买云服务器
szacq.cn/YSP2Q/

进入火山引擎云服务器控制台

https://console.volcengine.com/ecs/region:ecs+cn-beijing/instance?utm_campaign=DGR_invitation&utm_content=DGR_experience&utm_medium=DGR_WeChat&utm_source=DGR&utm_term=DGR_lixinyang

一、安装 IIS 及必要组件

  1. 登录 Windows Server 2012 R2 服务器,打开服务器管理器

  2. 点击「添加角色和功能」→ 下一步→选择「基于角色或基于功能的安装」→ 下一步两次

  3. 在「选择服务器角色」中勾选「Web 服务器(IIS)」,弹出提示框后点击「添加功能」

  4. 下一步→勾选「.NET Framework 3.5 功能」→ 下一步两次

  5. 在「选择角色服务」中勾选「CGI」→ 下一步→点击「安装」

  6. 安装完成后,打开浏览器访问http://localhost/,出现 IIS 默认页面即为安装成功
    二、创建并配置 IIS 网站

  7. 创建网站根目录

  • 在 C 盘新建文件夹C:\TechBlog,用于存放网页文件
  • 右键文件夹→属性→安全→编辑→添加→输入IIS_IUSRS→检查名称→确定
  • 给IIS_IUSRS用户勾选「读取」和「写入」权限→确定保存
  1. 添加 IIS 网站
  • 打开「IIS 管理器」(可在服务器管理器中找到)
  • 左侧导航展开服务器名称→右键「网站」→「添加网站」
  • 填写信息:
    • 站点名称:TechBlog
    • 物理路径:C:\TechBlog
    • 绑定:IP 地址选择「全部未分配」,端口填80,主机名留空
  • 点击「确定」完成创建
    三、编写博客论坛网页(带 API 预留接口)

在C:\TechBlog文件夹中创建以下 3 个文件:

  1. 首页(index.html)
我的技术博客论坛

欢迎来到我的技术学习空间

最新学习笔记

Python基础入门总结

记录变量、循环、函数等核心知识点...

IIS网站部署实战

从环境搭建到站点配置的完整流程...

AI技术问答助手

提问
请输入问题点击提问,AI将为你解答
  1. 博客列表页(blog.html)
技术博客 - 我的学习空间

技术博客列表

Python基础入门总结

发布时间:2026-01-15

内容:变量类型、条件判断、循环语句、函数定义...

阅读全文

Linux常用命令汇总

发布时间:2026-01-14

内容:文件操作、权限管理、进程查看、网络配置...

阅读全文
  1. 交流论坛页(forum.html)
交流论坛 - 我的学习空间

技术交流论坛

提问:如何在IIS部署Python项目?

作者:小明 | 回复:5

内容:想把自己写的Flask项目部署到Windows服务器,需要怎么配置?

查看详情

分享:VSCode高效插件推荐

作者:小红 | 回复:12

内容:整理了10个提升开发效率的VSCode插件...

查看详情

四、测试网站访问

  1. 在服务器本地浏览器访问http://localhost,应能看到首页内容

  2. 在局域网内其他电脑,输入服务器 IP 地址(如http://192.168.1.100)即可访问

  3. 测试智能问答功能:输入问题点击「提问」,会显示预留的加载提示
    五、后续接入 AI 智能问答 API

  4. 部署 API 服务:可选择 Python Flask/Node.js Express 等框架开发 API,部署在同一服务器或云服务器

  5. 修改前端代码:将index.html中 JS 部分的注释代码取消注释,替换为你的 API 地址

  6. 跨域配置:如果 API 和网站不在同一域名,需在 API 服务中配置 CORS(如 Flask 安装flask-cors)

  7. IIS 反向代理(可选):若 API 部署在同一服务器的其他端口,可通过 IIS 反向代理实现同域名访问

完成以上步骤后,你就拥有了一个基础的个人技术博客论坛,并且预留了完整的 AI 智能问答接口,后续只需对接具体的 AI 服务即可实现智能问答功能。
六、如果打开网站出现乱码此为彻底解决乱码的终极步骤(小白零失败版)

原因:GBK/ANSI 编码与 UTF-8 不兼容导致的,按照以下顺序操作 100% 解决:


步骤 1:用记事本重新强制保存 UTF-8 编码(关键)

  1. 打开 Windows 自带的「记事本」(别用其他编辑器,避免额外问题)
  2. 点击「文件」→「打开」,找到C:\TechBlog\index.html文件打开
  3. 打开后不要修改内容,直接点击「文件」→「另存为」
  4. 重要:在保存窗口的最底部,「编码」必须选「UTF-8」(绝对不能选 ANSI)
  5. 点击「保存」,弹出覆盖提示选「是」
  6. 用同样方法重新保存blog.html和forum.html文件

步骤 2:给 HTML 文件添加双编码保险

打开index.html文件,在标签最顶部添加两行代码:

我的技术博客论坛 ...

保存后,另外两个 HTML 文件也做同样修改


步骤 3:IIS 全局强制 UTF-8 输出

  1. 打开「IIS 管理器」,点击最顶部的服务器名称(不是你的 TechBlog 网站)
  2. 右侧功能视图双击「HTTP 响应头」
  3. 点击右侧「添加」按钮:
  • 名称:Content-Type
  • 值:text/html; charset=utf-8
  • 确定保存
  1. 再点击右侧「添加」按钮,再添加一个:
  • 名称:Content-Encoding
  • 值:utf-8
  • 确定保存

步骤 4:重启 IIS 并测试

  1. 按下Win+R输入iisreset回车,等待 IIS 重启完成
  2. 打开浏览器按 Ctrl+F5 强制刷新,乱码问题应该彻底解决了

如果还是乱码,右键网页空白处→「编码」→手动选择「UTF-8」,就能立刻正常显示了!

接入火山引擎豆包 1.8API 智能问答完整步骤(小白友好版)

一、获取火山引擎 API 密钥和模型 ID

  1. 注册火山引擎账号:访问火山引擎官网完成注册并实名认证
  2. 创建豆包 API 接入点:
  • 登录后进入火山方舟模型广场
  • 找到「豆包 1.8」模型,点击「在线推理」→「创建推理接入点」
  • 填写名称后点击确定,进入接入点详情页,复制保存两个关键信息:
    • ARK_API_KEY:API 密钥(在「API 调用」标签页)
    • 模型ID:类似ep-20241114133215-75z5q(接入点名称下方)
      二、部署 Python 后端代理(避免密钥泄露)

由于前端直接调用 API 会泄露密钥,需用后端转发请求,这里用 Python Flask 实现:

  1. 在 Windows 服务器安装 Python:
  • 下载 Python 3.8 + 版本:官网下载
  • 安装时勾选「Add Python to PATH」,然后点击「Install Now」
  1. 创建后端代理代码:
  • 在C:\TechBlog文件夹新建app.py文件,复制以下代码:

from flask import Flask, request, jsonify
from flask_cors import CORS
from volcenginesdkarkruntime import Ark
import os

app = Flask(name)
CORS(app) # 允许跨域请求# 替换为你的火山引擎API密钥和模型ID
os.environ[“ARK_API_KEY”] = “你的ARK_API_KEY”
MODEL_ID = “你的模型ID” # 比如ep-20241114133215-75z5q

client = Ark(base_url=“https://ark.cn-beijing.volces.com/api/v3”)@app.route(‘/ask’, methods=[‘POST’])def ask_ai():
data = request.get_json()
question = data.get(‘question’, ‘’)if not question:return jsonify({‘answer’: ‘请输入有效问题’}), 400try:# 调用豆包API
completion = client.chat.completions.create(
model=MODEL_ID,
messages=[{“role”: “system”, “content”: “你是技术学习助手,专注回答编程、服务器运维、技术学习相关问题”},{“role”: “user”, “content”: question}])
answer = completion.choices[0].message.content
return jsonify({‘answer’: answer})except Exception as e:return jsonify({‘answer’: f"请求失败:{str(e)}"}), 500if name == ‘main’:
app.run(host=‘0.0.0.0’, port=5000, debug=False)

  1. 安装依赖包:
  • 打开命令提示符(Win+R 输入 cmd),执行以下命令:

pip install flask flask-cors volcenginesdkarkruntime

  1. 启动后端服务:
  • 在命令提示符中进入C:\TechBlog文件夹:

cd C:\TechBlog

  • 启动服务:

python app.py

  • 看到* Running on all addresses (0.0.0.0) * Running on http://0.0.0.0:5000即为启动成功
    三、修改前端代码调用后端接口

修改C:\TechBlog\index.html中的 JS 代码,替换原来的callAIApi函数:

function callAIApi() {const question = document.getElementById(‘qa-input’).value.trim();const resultBox = document.getElementById(‘qa-result’);if (!question) {
resultBox.innerHTML = “请输入有效的技术问题”;return;}
resultBox.innerHTML = “AI正在思考中…”;// 调用后端代理接口fetch(“http://你的服务器IP:5000/ask”, {method: “POST”,headers: { “Content-Type”: “application/json” },body: JSON.stringify({ question: question })}).then(res => res.json()).then(data => {
resultBox.innerHTML = <strong>豆包回答:</strong>${data.answer};}).catch(err => {
resultBox.innerHTML = 请求失败:${err.message};});}

将你的服务器IP替换为实际 IP 地址,比如192.168.1.100
四、测试智能问答功能

  1. 确保后端服务处于运行状态(命令提示符窗口不要关闭)

  2. 打开浏览器访问你的博客网站,在 AI 问答框输入问题(比如「Python 如何读取文件?」)

  3. 点击「提问」,即可看到豆包 1.8 的智能回答
    五、进阶设置(可选)

  4. 设置后端服务开机自启:可以用 NSSM 工具将 Python 服务注册为 Windows 服务

  5. IIS 反向代理:将 5000 端口映射到 80 端口,实现同域名访问(需安装 IIS 的「应用程序请求路由」组件)

  6. 优化回答体验:在后端代码中添加历史对话上下文,实现多轮对话功能

注意:API 密钥需妥善保管,不要泄露给他人。如果遇到调用失败,可检查 API 密钥是否正确、火山引擎账号是否有余额(新用户有免费额度)。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐