个人winserver2012r2 +iis简易小网站
以下是基于 Windows Server 2012 R2 + IIS 搭建个人技术博客论坛并预留 AI 智能问答 API 接口的完整步骤:购买云服务器。
以下是基于 Windows Server 2012 R2 + IIS 搭建个人技术博客论坛并预留 AI 智能问答 API 接口的完整步骤:
购买云服务器
一、安装 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)
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>我的技术博客论坛</title><style>* { margin:0; padding:0; box-sizing:border-box; font-family:"微软雅黑",Arial; }.nav { background:#2c3e50; padding:15px 20px; }.nav a { color:white; margin-right:25px; text-decoration:none; font-size:16px; }.content { padding:25px; max-width:1200px; margin:0 auto; }.blog-list { margin:30px 0; }.blog-item { border-bottom:1px solid #eee; padding:15px 0; }.qa-box { margin-top:30px; border:1px solid #ddd; padding:20px; border-radius:5px; }#qa-input { width:70%; padding:10px; font-size:14px; }#qa-btn { padding:10px 20px; background:#3498db; color:white; border:none; border-radius:3px; cursor:pointer; }#qa-result { margin-top:15px; padding:15px; background:#f8f9fa; min-height:80px; }</style></head><body><div class="nav"><a href="/">首页</a><a href="/blog.html">技术博客</a><a href="/forum.html">交流论坛</a></div><div class="content"><h1>欢迎来到我的技术学习空间</h1><div class="blog-list"><h2>最新学习笔记</h2><div class="blog-item"><h3>Python基础入门总结</h3><p>记录变量、循环、函数等核心知识点...</p></div><div class="blog-item"><h3>IIS网站部署实战</h3><p>从环境搭建到站点配置的完整流程...</p></div></div><!-- 智能问答API预留区域 --><div class="qa-box"><h3>AI技术问答助手</h3><input type="text" id="qa-input" placeholder="输入你的技术问题,例如:Python如何读取文件?"><button id="qa-btn" onclick="callAIApi()">提问</button><div id="qa-result">请输入问题点击提问,AI将为你解答</div></div></div><script>// 预留AI API调用函数,后续替换为实际接口function callAIApi() {const question = document.getElementById('qa-input').value.trim();const resultBox = document.getElementById('qa-result');if (!question) { resultBox.innerHTML = "请输入有效的技术问题";return;} resultBox.innerHTML = "AI正在思考中...";// ===== 后续接入API时替换以下代码 =====// fetch("http://你的API地址/ask", {// method: "POST",// headers: { "Content-Type": "application/json" },// body: JSON.stringify({ question: question })// })// .then(res => res.json())// .then(data => {// resultBox.innerHTML = `<strong>AI回答:</strong>${data.answer}`;// })// .catch(err => {// resultBox.innerHTML = `请求失败:${err.message}`;// });}</script></body></html>
-
博客列表页(blog.html)
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>技术博客 - 我的学习空间</title><style>.nav { background:#2c3e50; padding:15px 20px; }.nav a { color:white; margin-right:25px; text-decoration:none; font-size:16px; }.content { padding:25px; max-width:1200px; margin:0 auto; }.blog-item { border:1px solid #eee; padding:20px; margin:15px 0; border-radius:5px; }</style></head><body><div class="nav"><a href="/">首页</a><a href="/blog.html">技术博客</a><a href="/forum.html">交流论坛</a></div><div class="content"><h1>技术博客列表</h1><div class="blog-item"><h2>Python基础入门总结</h2><p>发布时间:2026-01-15</p><p>内容:变量类型、条件判断、循环语句、函数定义...</p><a href="#">阅读全文</a></div><div class="blog-item"><h2>Linux常用命令汇总</h2><p>发布时间:2026-01-14</p><p>内容:文件操作、权限管理、进程查看、网络配置...</p><a href="#">阅读全文</a></div></div></body></html>
-
交流论坛页(forum.html)
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>交流论坛 - 我的学习空间</title><style>.nav { background:#2c3e50; padding:15px 20px; }.nav a { color:white; margin-right:25px; text-decoration:none; font-size:16px; }.content { padding:25px; max-width:1200px; margin:0 auto; }.forum-post { border:1px solid #eee; padding:20px; margin:15px 0; border-radius:5px; }</style></head><body><div class="nav"><a href="/">首页</a><a href="/blog.html">技术博客</a><a href="/forum.html">交流论坛</a></div><div class="content"><h1>技术交流论坛</h1><div class="forum-post"><h3>提问:如何在IIS部署Python项目?</h3><p>作者:小明 | 回复:5</p><p>内容:想把自己写的Flask项目部署到Windows服务器,需要怎么配置?</p><a href="#">查看详情</a></div><div class="forum-post"><h3>分享:VSCode高效插件推荐</h3><p>作者:小红 | 回复:12</p><p>内容:整理了10个提升开发效率的VSCode插件...</p><a href="#">查看详情</a></div></div></body></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文件,在<head>标签最顶部添加两行代码:
<head><!-- 新增这两行编码强制声明 --><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta charset="UTF-8"><!-- 原有的其他内容保留 --><title>我的技术博客论坛</title> ... </head>
保存后,另外两个 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)