最近总是想搭建自己的网站,奈何预算有限,租不起服务器,更别说买域名了。于是我就琢磨着,能不能用自己手头的旧电脑免费搭建一个服务器呢?
经过一番探索,发现其实完全可行!市面上主流的免费建站工具有 Apache 和 Nginx,由于两者配置思路相似,本文就以功能强大且轻量的 Nginx 为例,手把手教你如何实现。
1. 安装 Nginx
首先,前往 Nginx 官网 (nginx.org) 下载最新稳定版。为了方便,你也可以直接使用下面这个链接下载 1.23.1 版本:
http://nginx.org/download/nginx-1.23.1.zip
下载完成后,将其解压到一个方便管理的目录(例如 D:\webServer\),你会看到如下的目录结构:

Nginx 功能丰富,但今天我们只聚焦于搭建基础的静态文件服务器,因此只会用到核心部分。
2. 配置 Nginx
进入 conf 文件夹,用文本编辑器(如记事本、Notepad++等)打开 nginx.conf 文件。这个配置文件包含许多配置项,为了清晰起见,我对其中几个关键部分做了注释(以 # 开头的行是注释,如需启用,删除 # 即可):

关键的修改在于 server 块内的 root 指令,它指定了网站文件的根目录。请将其路径修改为你本地实际存放网页文件的目录,例如 D:\webServer\Nginx。
3. 启动 Nginx 服务
配置保存后,返回 Nginx 的根目录,找到 nginx.exe 并双击运行。你会看到一个命令行窗口一闪而过,这通常意味着 Nginx 已成功在后台启动。
现在,打开你的浏览器,在地址栏输入 localhost:8080(如果你在配置中修改了端口,请使用你设置的端口),回车。如果看到如下所示的 Nginx 默认欢迎页面,恭喜你,本地服务器已经搭建成功!

4. 为你的网站添加内容
只有一个默认页面未免太过单调。接下来,我们往网站里放点自己的东西。进入你刚才在配置中设置的 root 目录(例如 D:\webServer\Nginx),新建一个文本文件,将以下 HTML 代码复制进去:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
}
body {
height: 100%;
}
.container {
height: 100%;
background-image: linear-gradient(to right, #fbc2eb, #a6c1ee);
}
.login-wrapper {
background-color: #fff;
width: 358px;
height: 588px;
border-radius: 15px;
padding: 0 50px;
position: relative;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.header {
font-size: 38px;
font-weight: bold;
text-align: center;
line-height: 200px;
}
.input-item {
display: block;
width: 100%;
margin-bottom: 20px;
border: 0;
padding: 10px;
border-bottom: 1px solid rgb(128, 125, 125);
font-size: 15px;
outline: none;
}
.input-item:placeholder {
text-transform: uppercase;
}
.btn {
text-align: center;
padding: 10px;
width: 100%;
margin-top: 40px;
background-image: linear-gradient(to right, #a6c1ee, #fbc2eb);
color: #fff;
}
.msg {
text-align: center;
line-height: 88px;
}
a {
text-decoration-line: none;
color: #abc1ee;
}
</style>
</head>
<body>
<div class="container">
<div class="login-wrapper">
<div class="header">Login</div>
<div class="form-wrapper">
<input type="text" name="username" placeholder="username" class="input-item">
<input type="password" name="password" placeholder="password" class="input-item">
<div class="btn">Login</div>
</div>
<div class="msg">
Don‘t have account?
<a href="#">Sign up</a>
</div>
</div>
</div>
</body>
</html>
然后将这个文件重命名为 index.html 并保存。再次在浏览器中访问 localhost:8080,一个漂亮的渐变登录页面就出现了!

这个页面由基础的 HTML 和 CSS 构成。实际上,你可以在网站的根目录下放置任何类型的文件,如图片、视频、文档或压缩包,Nginx 会将其作为静态资源提供访问。
5. 实现外网访问(内网穿透)
至此,你的服务器只能在本地局域网内访问。如何让互联网上的朋友也能看到你的网站呢?这就需要用到内网穿透技术了。内网穿透能将局域网内的服务映射到一个公网地址上,从而实现远程访问。
这里以一款免费的穿透工具为例,介绍基本的使用方法:
5.1 注册账号
访问该工具的官网,完成简单的注册流程。
5.2 创建隧道
登录后,在控制台找到“开通隧道”或类似功能。通常会提供免费体验节点,选择它即可。

在创建隧道的表单中,需要填写关键信息:
- 隧道类型:选择 HTTP 或 HTTPS。
- 本地地址:填写你的电脑内网 IP 和 Nginx 监听的端口,格式为
192.168.x.x:8080(你可以在命令行输入 ipconfig 查看本机 IPv4 地址)。
- 域名:免费服务通常会分配一个二级域名。
填写完毕后提交,你就获得了一个专属于你本地服务的公网访问地址。
5.3 启动穿透客户端
根据官网指引,下载对应的客户端(通常是一个轻量级程序)。解压后运行,并按提示输入你创建隧道时得到的连接密钥或命令。

客户端成功连接后,内网穿透就设置完成了。现在,你可以在任意能上网的设备浏览器中,输入刚才获得的公网地址,就能访问到你旧电脑上搭建的网站了!
总结
通过以上步骤,我们成功实现了零成本搭建个人服务器的目标:利用闲置的 Windows 电脑运行 Nginx 提供 Web 服务,再借助免费的内网穿透工具让服务公开到互联网。这套方案非常适合用于学习测试、展示个人项目或搭建小型私有网盘。如果你有更多服务器运维或网络相关的经验,欢迎到云栈社区与大家交流分享。