个人winserver2012r2 +iis简易小网站
本文详细介绍了在Windows Server 2012 R2上搭建个人技术博客论坛的完整流程: 服务器准备:购买ECS服务器并安装IIS及必要组件(包括.NET Framework 3.5和CGI) 网站配置: 创建网站目录并设置IIS_IUSRS权限 在IIS管理器中添加网站并配置绑定信息 前端开发: 创建三个核心页面(首页、博客列表、交流论坛) 首页包含AI问答功能预留接口 详细HTML代码和
以下是基于 Windows Server 2012 R2 + IIS 搭建个人技术博客论坛并预留 AI 智能问答 API 接口的完整步骤:
首先,购买ECS 服务器
购买云服务器
szacq.cn/YSP2Q/
进入火山引擎云服务器控制台
一、安装 IIS 及必要组件
-
登录 Windows Server 2012 R2 服务器,打开服务器管理器
-
点击「添加角色和功能」→ 下一步→选择「基于角色或基于功能的安装」→ 下一步两次
-
在「选择服务器角色」中勾选「Web 服务器(IIS)」,弹出提示框后点击「添加功能」
-
下一步→勾选「.NET Framework 3.5 功能」→ 下一步两次
-
在「选择角色服务」中勾选「CGI」→ 下一步→点击「安装」
-
安装完成后,打开浏览器访问http://localhost/,出现 IIS 默认页面即为安装成功
二、创建并配置 IIS 网站 -
创建网站根目录
- 在 C 盘新建文件夹C:\TechBlog,用于存放网页文件
- 右键文件夹→属性→安全→编辑→添加→输入IIS_IUSRS→检查名称→确定
- 给IIS_IUSRS用户勾选「读取」和「写入」权限→确定保存
- 添加 IIS 网站
- 打开「IIS 管理器」(可在服务器管理器中找到)
- 左侧导航展开服务器名称→右键「网站」→「添加网站」
- 填写信息:
- 站点名称:TechBlog
- 物理路径:C:\TechBlog
- 绑定:IP 地址选择「全部未分配」,端口填80,主机名留空
- 点击「确定」完成创建
三、编写博客论坛网页(带 API 预留接口)
在C:\TechBlog文件夹中创建以下 3 个文件:
- 首页(index.html)
欢迎来到我的技术学习空间
最新学习笔记
Python基础入门总结
记录变量、循环、函数等核心知识点...
IIS网站部署实战
从环境搭建到站点配置的完整流程...
AI技术问答助手
提问- 博客列表页(blog.html)
技术博客列表
- 交流论坛页(forum.html)
技术交流论坛
四、测试网站访问
-
在服务器本地浏览器访问http://localhost,应能看到首页内容
-
在局域网内其他电脑,输入服务器 IP 地址(如http://192.168.1.100)即可访问
-
测试智能问答功能:输入问题点击「提问」,会显示预留的加载提示
五、后续接入 AI 智能问答 API -
部署 API 服务:可选择 Python Flask/Node.js Express 等框架开发 API,部署在同一服务器或云服务器
-
修改前端代码:将index.html中 JS 部分的注释代码取消注释,替换为你的 API 地址
-
跨域配置:如果 API 和网站不在同一域名,需在 API 服务中配置 CORS(如 Flask 安装flask-cors)
-
IIS 反向代理(可选):若 API 部署在同一服务器的其他端口,可通过 IIS 反向代理实现同域名访问
完成以上步骤后,你就拥有了一个基础的个人技术博客论坛,并且预留了完整的 AI 智能问答接口,后续只需对接具体的 AI 服务即可实现智能问答功能。
六、如果打开网站出现乱码此为彻底解决乱码的终极步骤(小白零失败版)
原因:GBK/ANSI 编码与 UTF-8 不兼容导致的,按照以下顺序操作 100% 解决:
步骤 1:用记事本重新强制保存 UTF-8 编码(关键)
- 打开 Windows 自带的「记事本」(别用其他编辑器,避免额外问题)
- 点击「文件」→「打开」,找到C:\TechBlog\index.html文件打开
- 打开后不要修改内容,直接点击「文件」→「另存为」
- 重要:在保存窗口的最底部,「编码」必须选「UTF-8」(绝对不能选 ANSI)
- 点击「保存」,弹出覆盖提示选「是」
- 用同样方法重新保存blog.html和forum.html文件
步骤 2:给 HTML 文件添加双编码保险
打开index.html文件,在标签最顶部添加两行代码:
保存后,另外两个 HTML 文件也做同样修改
步骤 3:IIS 全局强制 UTF-8 输出
- 打开「IIS 管理器」,点击最顶部的服务器名称(不是你的 TechBlog 网站)
- 右侧功能视图双击「HTTP 响应头」
- 点击右侧「添加」按钮:
- 名称:Content-Type
- 值:text/html; charset=utf-8
- 确定保存
- 再点击右侧「添加」按钮,再添加一个:
- 名称:Content-Encoding
- 值:utf-8
- 确定保存
步骤 4:重启 IIS 并测试
- 按下Win+R输入iisreset回车,等待 IIS 重启完成
- 打开浏览器按 Ctrl+F5 强制刷新,乱码问题应该彻底解决了
如果还是乱码,右键网页空白处→「编码」→手动选择「UTF-8」,就能立刻正常显示了!
接入火山引擎豆包 1.8API 智能问答完整步骤(小白友好版)
一、获取火山引擎 API 密钥和模型 ID
- 注册火山引擎账号:访问火山引擎官网完成注册并实名认证
- 创建豆包 API 接入点:
- 登录后进入火山方舟模型广场
- 找到「豆包 1.8」模型,点击「在线推理」→「创建推理接入点」
- 填写名称后点击确定,进入接入点详情页,复制保存两个关键信息:
- ARK_API_KEY:API 密钥(在「API 调用」标签页)
- 模型ID:类似ep-20241114133215-75z5q(接入点名称下方)
二、部署 Python 后端代理(避免密钥泄露)
由于前端直接调用 API 会泄露密钥,需用后端转发请求,这里用 Python Flask 实现:
- 在 Windows 服务器安装 Python:
- 下载 Python 3.8 + 版本:官网下载
- 安装时勾选「Add Python to PATH」,然后点击「Install Now」
- 创建后端代理代码:
- 在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)
- 安装依赖包:
- 打开命令提示符(Win+R 输入 cmd),执行以下命令:
pip install flask flask-cors volcenginesdkarkruntime
- 启动后端服务:
- 在命令提示符中进入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
四、测试智能问答功能
-
确保后端服务处于运行状态(命令提示符窗口不要关闭)
-
打开浏览器访问你的博客网站,在 AI 问答框输入问题(比如「Python 如何读取文件?」)
-
点击「提问」,即可看到豆包 1.8 的智能回答
五、进阶设置(可选) -
设置后端服务开机自启:可以用 NSSM 工具将 Python 服务注册为 Windows 服务
-
IIS 反向代理:将 5000 端口映射到 80 端口,实现同域名访问(需安装 IIS 的「应用程序请求路由」组件)
-
优化回答体验:在后端代码中添加历史对话上下文,实现多轮对话功能
注意:API 密钥需妥善保管,不要泄露给他人。如果遇到调用失败,可检查 API 密钥是否正确、火山引擎账号是否有余额(新用户有免费额度)。
更多推荐


所有评论(0)