使用单台电脑作服务器需配置固定公网IP,安装Linux系统并配置防火墙,部署Apache/Nginx等服务软件,开放80/443端口,设置端口映射与DMZ主机,确保网络安全后
硬件准备与系统选择
硬件要求
组件 |
最低配置建议 |
说明 |
CPU |
双核及以上(如Intel i3) |
支持多任务处理 |
内存 |
4GB及以上 |
保障系统和基础服务运行 |
存储 |
64GB以上(HDD/SSD均可) |
系统+数据存储 |
网络 |
千兆网卡+公网IP(可选) |
外网访问需公网IP或DDNS |
操作系统选择
场景 |
推荐系统 |
特点 |
新手/可视化界面需求 |
Ubuntu Server 22.04 |
社区支持好,图形界面可选 |
企业级稳定性需求 |
CentOS 7/8 |
长期支持,安全性高 |
Windows兼容需求 |
Windows Server 2019 |
易上手,但资源占用较高 |
系统安装与基础配置
系统安装步骤(以Ubuntu Server为例)
- 制作启动盘:使用Rufus/Etcher将ISO写入U盘
- BIOS设置:调整启动顺序为U盘优先,启用AHCI模式
- 分区方案:
/boot
:200MB EXT4
- :剩余空间 EXT4
swap
:内存大小1-2倍(可选)
网络配置
# 查看网络接口
ip a
# 编辑Netplan配置文件(路径可能为/etc/netplan/01-netcfg.yaml)
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,114.114.114.114]
SSH远程管理
# 安装OpenSSH Server(Ubuntu默认已安装)
sudo apt install openssh-server
# 修改默认端口(可选)
sudo vim /etc/ssh/sshd_config
# 添加 Port 2222
# 重启服务
sudo systemctl restart ssh
核心服务部署
Web服务器(Apache/Nginx)
服务 |
安装命令 |
配置文件路径 |
Apache |
sudo apt install apache2 |
/etc/apache2/ |
Nginx |
sudo apt install nginx |
/etc/nginx/ |
数据库服务(MySQL/PostgreSQL)
# MySQL安全初始化
sudo mysql_secure_installation
# 创建数据库
CREATE DATABASE mydb;
GRANT ALL PRIVILEGES ON mydb. TO 'user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
文件服务(FTP/Samba)
类型 |
软件包 |
配置要点 |
FTP |
vsftpd |
修改/etc/vsftpd.conf |
Samba |
samba |
配置/etc/samba/smb.conf |
安全防护策略
防火墙配置(UFW)
# 启用UFW
sudo ufw enable
# 允许SSH(默认22端口)
sudo ufw allow 2222/tcp
# 允许HTTP/HTTPS
sudo ufw allow 80,443/tcp
# 拒绝所有其他流量
sudo ufw default deny incoming
自动更新配置
# 配置自动安全更新(Ubuntu)
sudo apt install unattended-upgrades
# 编辑配置:/etc/apt/apt.conf.d/50unattended-upgrades
# 设置黑名单(排除内核更新):/etc/apt/preferences.d/no-kernel-updates
性能优化方案
优化项 |
Linux命令/配置 |
Windows配置路径 |
SWAP分区 |
/swapfile + fallocate |
控制面板→系统→高级系统设置 |
TCP连接数 |
sysctl -w net.ipv4.ip_local_port_range="1024 65535" |
注册表修改 |
内存缓存 |
echo "2" > /proc/sys/vm/swappiness |
性能选项→内存 |
远程访问解决方案
DDNS配置(无公网IP时)
服务商 |
特点 |
配置步骤 |
花生壳 |
支持多种协议 |
注册账号→绑定域名→客户端登录 |
No-IP |
免费基础版 |
安装nxclient→获取主机名 |
端口转发(路由器端)
内网IP:192.168.1.100 → 公网端口80→转发至内网80
常见问题与排查
现象 |
解决方案 |
SSH连接超时 |
检查防火墙规则,确认22端口开放/修改为自定义端口后同步更新防火墙规则 |
网站无法访问 |
检查Nginx/Apache配置文件语法,确认80/443端口未被占用 |
数据库连接失败 |
检查防火墙设置,确认3306端口开放,验证用户权限设置 |
【相关问题与解答】
Q1:如何选择合适的操作系统?
A:优先考虑以下因素:

- 技术栈兼容性:如需运行.NET服务可选Windows Server,LAMP环境首选Linux
- 维护成本:Ubuntu Server有庞大社区支持,适合个人项目;CentOS更稳定但已停止更新
- 资源消耗:Windows系统内存占用通常比Linux高30%-50%
Q2:如何实现外网访问家庭服务器?
A:分步实施方案:
- 获取公网IP:向运营商申请(部分宽带为动态公网IP)
- 设置端口映射:在路由器转发所需端口(如80→内网服务器80)
- DDNS配置:通过花生壳等服务绑定域名(如
myserver.asuscomm.com
)
- SSL证书:使用Let’s Encrypt免费证书