很多人第一次买云服务器,卡住的往往是开机之后,云服务器安装软件该从哪一步开始。终端里一排字符,敲一条命令就报错,难免心里发虚。其实这件事有相对固定的顺序,先理清楚,大部分软件都能按同一套思路装上。

先想清楚要装什么
动手前先问自己三件事:这个软件是干什么的,它依赖哪些运行环境,将来这台机器上会不会跑多个服务。小王想搭个人博客,用WordPress加MySQL。他一开始把所有东西直接装在系统里,后来想再加一个小程序后端,两边的PHP版本对不上,折腾了两天。改用Docker隔离之后问题才解决。所以软件一多,先想好隔离方式,比装完再返工省事得多。
第一步:连接服务器,更新系统
多数云厂商提供的是Linux系统,常见的是Ubuntu或CentOS。用SSH工具连上服务器,输入账号和密码或密钥登录。登录后第一件事是更新软件源和已有软件包,否则很容易装到旧版本,或者碰上依赖缺失。Ubuntu下通常先执行apt update,再执行apt upgrade,等它跑完再继续。
方式一:用包管理器安装
这是最常用的办法,适合Nginx、Redis、Git这类成熟的基础软件。依赖关系由系统自动处理,升级和卸载也都比较省心。以Nginx为例,用包管理器安装并启动服务后,在浏览器里输入服务器公网IP。能看到欢迎页,说明服务已经通了。看不到的话,先别急着重装,往后看下面的排查部分。
要注意,系统自带源里的版本通常偏老。如果项目要求较新的Node.js,就别直接用默认源,改按官方文档添加对应仓库,或者用版本管理工具安装,这样升级路径也清楚。
方式二:用Docker部署
Docker更适合数据库、消息队列这类对版本敏感、又不想污染系统环境的软件。流程大致是这样,先安装Docker引擎,再拉取官方镜像,最后启动容器时映射端口、挂载数据目录。以MySQL为例,指定版本号,设置root密码,把数据卷挂到宿主机的某个目录,几分钟就能跑起来。不需要了就删除容器,系统本身保持干净。
另一个好处是能把测试和正式环境分开。比如测试库和正式库各跑在独立容器里,测试新版本时,线上数据不受影响。直接装在系统上,要做到这一点就麻烦得多。
装完打不开,先查这几处
软件装好了,外网却访问不了,多半出在下面几类地方:
- 端口没放行。云服务器的安全组默认通常只放行22端口。访问网站需要在控制台添加80或443,数据库端口如果确实要对外,也要单独加规则,并限定来源IP。服务器内部可以用ss -tlnp确认服务确实在监听,排除是服务本身没起来。
- 磁盘快满了。入门机型的系统盘一般只有几十GB,大型依赖装完很容易爆。用df -h看一眼使用率,超过八成就该考虑清理缓存、扩容或者迁移数据目录。
- 权限不对。普通用户执行安装命令报权限错误,可以临时加sudo。但别为了省事长期用root跑所有服务,服务出问题时影响范围会很大。
- 没设开机自启。重启之后网站没起来,用systemctl is-enabled 服务名确认一下。没开的话,执行systemctl enable 服务名即可。
安装之后的日常维护
软件装好才是开始。至少做好三件事。第一,关掉用不到的端口,数据库端口尽量不要直接暴露在公网。第二,定期更新系统补丁,很多入侵都是从已知漏洞开始的。第三,备份数据。可以每天把数据目录打包,传到对象存储或其他机器上。服务器出了事故,最让人被动的往往是手里没有一份能用的备份。
小结
云服务器安装软件,大致就是三步:先规划环境,再选对安装方式,最后排查端口和权限。能用包管理器解决的就用它,版本敏感或需要隔离的,交给Docker。报错时先别慌,看日志,查端口,查磁盘,大部分问题都能找到线索。