悠悠楠杉
自己架设服务器需要什么软件?从用途到实际访问的选择
自己架设服务器,并没有一套人人都要安装的软件。准备放个人网站,与只给家里设备共享文件,所需程序差别很大。先写清这台机器要提供什么服务、让谁访问,再确定安装范围,能省下不少配置和维护工作。
放一个网站,软件要装到哪一层
操作系统是底座。没有依赖特定平台的程序,Ubuntu Server这类仍在支持期内的Linux发行版适合用来部署网站,相关文档也较丰富。如果现成业务程序明确要求Windows环境,就按它的兼容要求选择Windows Server,并核对授权条件。
接下来决定服务器软件的,是网站本身。
只有HTML页面和图片的静态网站,装Nginx就能提供网页访问,不必再装数据库。Nginx在这里负责接收浏览器请求,把对应文件发出去。少装一项服务,也少了一项更新、配置和故障排查任务。
如果运行WordPress,除了接收请求的Web服务,还要有PHP运行环境,以及保存文章和账户信息的数据库,如MariaDB。软件版本按应用的兼容说明核对,尤其是PHP版本,不能只挑最新版本就直接部署。
安装面板能把部分操作变成点击按钮,但它自己也要更新和保护。Docker适合部署已有容器镜像的应用,不过数据保存位置仍要配置;删除容器后,未持久化的数据可能丢失。新手搭一个简单网站,不必为了“配置齐全”把面板和容器工具一起装上。
内网能打开,外网却访问不到
软件运行正常,外部访问仍可能受网络条件限制。域名负责把名称解析到地址,不能替家里的宽带获得公网入口。
假设有这样一种情况:一台闲置电脑装好了Ubuntu Server和Nginx,家里的手机连接Wi-Fi后能打开页面,切换到移动网络却访问失败。此时继续安装数据库,对这个问题没有帮助。
排查方向转向访问路径。先检查Nginx有没有只监听本机地址,再核对系统防火墙对网站端口的放行规则。服务允许局域网访问后,外部请求还要经过路由器;路由器端口转发的目标地址,需要对应这台电脑当前的内网地址。
在这个假设中,继续核对路由器的WAN地址与外部查询到的公网地址,发现两者不同。地址不同提示可能存在上级路由或运营商网络转换,不能据此直接认定原因。接下来向运营商确认公网接入条件,网站暂时保留内网使用,域名解析也没有急着修改。
如果后续确认无法获得可用的公网入口,再比较云主机部署或合适的内网穿透方案。后者还涉及服务条款、访问延迟和持续费用,安装一个客户端并不能解决所有限制。
装好以后,远程登录和备份放在哪里
Linux服务器可通过OpenSSH远程管理,传文件用SFTP即可,不必额外开放传统FTP服务。面向公网的机器,把登录方式收紧到密钥认证,并限制管理入口;数据库只供本机应用使用时,不要开放给公网。
网站正式提供服务后,再配置HTTPS证书。Nginx可以配合Certbot申请和续期证书,但域名验证得能完成。前面的公网访问路径尚未打通时,证书申请也可能受阻。
备份要跟着实际数据走。静态网站保留源文件和配置即可;动态网站还要备份数据库。把副本留在同一块硬盘上,遇到硬盘损坏时仍可能一起丢失,因此备份应存到另一台设备或独立存储,并做一次恢复测试。
动手前,拿到准备部署的应用说明,确认它要求的运行环境;装好后,从另一台设备测试访问,再核对备份文件能否恢复。公网入口还没确认,就先把本机服务运行稳定,暂缓开放管理端口。

