刚开始自己搭建网站的时候,服务器看着特别神秘,总以为要掌握一大堆命令才能上手。折腾几次之后就能发现,把一台空白服务器改造成可以跑网站的空间,核心操作就几项,部署运行环境、上传网站文件、配置域名,剩下的操作基本都是用来修补各类问题。
服务器系统大多选用Ubuntu或者Debian,系统干净,软件源更新及时,网上能找到的教程资源也多。登录系统之后,第一步更新软件源,再决定手动部署环境还是使用管理面板。手动搭建就是Nginx搭配MySQL和PHP,逐条敲命令完成安装,好处是系统干净,所有配置都能自己把控。用宝塔面板的话,可以一键部署LNMP环境,图形界面点几下就能建站、新建数据库、配置SSL证书,适合不熟悉命令行的新手。代价是面板程序会占用少量系统资源,个人站点或者小型企业站点基本感受不到这点开销。

环境部署完毕,就要找存放网站文件的目录。Nginx默认网站根目录是/var/www/html,宝塔面板一般会把站点目录建在/www/wwwroot/你的域名。把本地写好的HTML、PHP文件,用FTP工具或者面板自带文件管理器上传上去。如果部署WordPress这类程序,直接上传压缩包在线解压更省事,不用逐个上传零散文件。上传完成要留意文件权限,PHP文件通常设置644,目录权限755,上传目录可以开启写入权限,但不要直接设777,这个权限会带来很大安全隐患。
数据库服务在部署环境阶段就已经启动。进入MySQL或者MariaDB,新建数据库和对应的访问账号,再把这个账号的访问权限限定到新建的数据库。打开网站配置文件,填入数据库地址、库名、账号和密码。地址一般填写localhost或者127.0.0.1,数据库和网站部署在同一台机器,本地回环访问速度更快,安全性也更高。不要填写数据库公网IP,不仅访问会绕路,还额外增加暴露风险。
域名解析是外部用户访问网站的关键。登录域名注册商后台,添加A记录,主机记录填写@或者www,记录值填入服务器公网IP。DNS生效时间不固定,快则几分钟,慢的要半小时。服务器放在国内机房的话,域名必须完成ICP备案,解析到国内服务器才可以正常访问,未备案域名解析后会直接拦截。香港或者海外服务器不用备案,解析生效就能直接打开站点。
云服务器的安全组别忘了放行端口。80、443端口是网站访问必需,SSH的22端口最好限制访问来源IP,不要开放给0.0.0.0。数据库3306端口绝对不能对公网放行,仅允许本机或者内网访问。安全组规则在云服务商控制台配置,保存之后立刻生效,不用重启服务器。
SSL证书现在基本是建站标配。Let's Encrypt免费证书,能用certbot工具自动申请、续期,宝塔面板也提供一键申请入口。证书部署完成,把HTTP访问强制跳转HTTPS,浏览器地址栏会出现安全锁标识。证书到期前会自动续期,但偶尔会出现续期失败,每隔一段时间登录后台查看状态会稳妥一些。
网站上线后,会碰到各类异常报错。页面返回502,大多是PHP进程异常,重启PHP服务就能解决。数据库连接失败,先核对账号密码,再确认数据库服务是否正常运行。图片上传失败,检查上传目录权限,还有PHP设置里的文件上传大小限制。排查这类问题可以查看日志,日志文件里能找到线索。Nginx错误日志路径/var/log/nginx/error.log,PHP日志在/var/log/php-fpm.log,查看日志比盲目试错效率高。
做完上面这些步骤,服务器就可以承载网站访问。它不像虚拟主机开箱即用,但自由度更高,可以随意安装软件、自定义各项配置。完整操作上手一次,后续再搭建站点十几分钟就能搞定。