上一篇                     
               
			  用一台电脑做服务器
- 数据库
- 2025-07-19
- 2035
 使用单台电脑作服务器需配置固定公网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免费证书
 
  
			