在服务器上安装操作系统及相关服务是搭建稳定业务环境的基础,涉及硬件兼容性、系统配置、安全加固等多个环节,本文以Linux服务器(以Ubuntu Server 22.04为例)为核心,详细说明安装全流程及常用服务配置,帮助用户完成从零开始的部署。
安装前准备
在开始安装前,需确保硬件、网络及工具准备就绪,避免安装过程中出现意外中断或兼容性问题。
硬件要求
根据业务需求选择服务器配置,建议至少满足:
- CPU:2核心以上(如Intel Xeon、AMD EPYC)
- 内存:4GB以上(运行基础服务至少2GB,数据库或虚拟化建议8GB+)
- 硬盘:50GB以上SSD(系统盘),根据数据量扩展数据盘
- 网络:千兆网卡,支持静态IP配置
网络规划
服务器需固定IP地址,避免因DHCP租约导致服务中断,规划示例:
| 参数 | 值 | 说明 |
|————–|——————-|————————–|
| IP地址 | 192.168.1.100 | 服务器内网固定IP |
| 子网掩码 | 255.255.255.0 | 与局域网其他设备一致 |
| 默认网关 | 192.168.1.1 | 局域网网关地址 |
| DNS服务器 | 8.8.8.8/114.114.114.114 | 公共DNS或内网DNS |
系统镜像与工具
- 系统镜像:从Ubuntu官网下载Ubuntu Server 22.04 LTS ISO(长期支持版本,稳定性更高)
- 验证镜像:使用
sha256sum
命令校验ISO文件完整性,避免下载损坏 - 启动工具:准备可启动的U盘(使用Rufus或balenaEtcher制作)或通过IPMI远程挂载虚拟光驱
操作系统安装步骤
以Ubuntu Server 22.04为例,通过图形化界面完成安装(部分服务器可能需使用文本模式,流程类似)。
启动服务器并进入安装界面
将制作好的启动U盘插入服务器,开机时按特定键(如F12、Del)进入BIOS/UEFI设置,将启动顺序调整为优先从U盘启动,保存设置后重启,从U盘启动并加载安装程序。
语言与键盘布局
选择安装过程中使用的语言(建议“English”或“简体中文”)和键盘布局(默认“English (US)”即可,中文用户可选“Chinese”)。
网络配置
选择“Configure network manually”,手动填写前述网络规划中的IP地址、子网掩码、网关及DNS,若使用DHCP,可选择“Configure network with DHCP”,但生产环境推荐静态IP。
磁盘分区
磁盘分区是安装的核心环节,需合理规划分区大小及类型,避免后续扩容困难,建议采用LVM(逻辑卷管理)以便动态调整分区大小。
分区类型 | 大小 | 文件系统 | 挂载点 | 说明 |
---|---|---|---|---|
Boot | 512MB | ext4 | /boot | 引导分区,存放内核文件 |
Swap | 内存×2倍 | swap | 交换分区,内存不足时使用 | |
Root | 20GB | ext4 | 系统根分区 | |
Data | 剩余空间 | ext4 | /data | 数据分区,存放应用数据 |
操作步骤:选择“Manual”分区→选中未分配磁盘→创建新分区→按上述表格设置→格式化并挂载→确认分区表。
用户与密码设置
- 创建普通用户:输入用户名(如“admin”)、密码及全名,勾选“Require my password to log in”
- 禁用root直接登录:取消勾选“Allow an administrator to login with this password”(提高安全性,后续通过
sudo
提权)
安装SSH服务
勾选“OpenSSH server”,安装后可通过SSH远程管理服务器(默认端口22)。
完成安装
等待安装进度条完成,提示“Installation complete”时移除启动U盘,重启服务器。
常用服务配置
安装完成后,需根据业务需求部署常用服务,以下以Nginx(Web服务器)、MySQL(数据库)、Docker(容器化平台)为例。
安装Nginx
Nginx是一款轻量级Web服务器,支持反向代理与负载均衡。
# 更新软件包列表 sudo apt update # 安装Nginx sudo apt install nginx -y # 启动并设置开机自启 sudo systemctl start nginx sudo systemctl enable nginx # 检查状态 sudo systemctl status nginx
访问服务器IP(http://192.168.1.100),若出现Nginx欢迎页面,说明安装成功。
安装MySQL
MySQL是开源关系型数据库,需进行安全配置初始化。
# 安装MySQL服务器 sudo apt install mysql-server -y # 安全初始化(设置root密码、移除匿名用户等) sudo mysql_secure_installation # 按提示操作:设置root密码(如“Root@123”)、移除匿名用户、禁止root远程登录、移除测试数据库、重新加载权限表
安装Docker
Docker用于容器化部署,简化应用管理。
# 安装依赖 sudo apt install apt-transport-https ca-certificates curl software-properties-common -y # 添加Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 添加Docker仓库 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 更新并安装Docker sudo apt update sudo apt install docker-ce -y # 启动Docker并设置开机自启 sudo systemctl start docker sudo systemctl enable docker # 测试安装(运行hello-world容器) sudo docker run hello-world
安全加固
服务器上线前必须进行安全加固,降低被攻击风险。
配置防火墙
使用ufw
(Uncomplicated Firewall)管理端口,仅开放必要服务(SSH、HTTP、HTTPS)。
# 开启防火墙 sudo ufw enable # 允许SSH(默认22端口,可自定义) sudo ufw allow 22/tcp # 允许HTTP(80端口)和HTTPS(443端口) sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 查看防火墙状态 sudo ufw status
SSH安全配置
修改SSH默认端口,禁用密码登录(使用密钥认证),提升安全性。
# 编辑SSH配置文件 sudo vim /etc/ssh/sshd_config # 修改以下配置: # Port 2222(修改默认端口22为2222) # PermitRootLogin no(禁止root直接登录) # PasswordAuthentication no(禁用密码登录,需提前配置密钥) # 保存后重启SSH服务 sudo systemctl restart sshd
定期更新系统
保持系统软件包最新,修复已知漏洞。
# 每周自动更新 sudo apt update && sudo apt upgrade -y # 安装自动更新工具(可选) sudo apt install unattended-upgrades -y
安装步骤总结表
阶段 | 关键步骤 | 注意事项 |
---|---|---|
安装前准备 | 硬件检查、网络规划、镜像下载 | 确保镜像完整性,网络配置与内网环境一致 |
系统安装 | 启动介质选择、分区配置、用户创建 | LVM分区便于扩容,禁用root直接登录 |
服务配置 | 安装Nginx/MySQL/Docker | 开放防火墙端口,避免服务冲突 |
安全加固 | 防火墙规则、SSH配置、系统更新 | 定期检查日志,及时修复漏洞 |
相关问答FAQs
Q1:服务器安装完成后无法通过SSH远程连接,可能的原因及解决方法?
A:可能原因包括:①防火墙未开放SSH端口;②SSH服务未启动;③IP地址或端口配置错误;④用户名或密码错误。
解决方法:①检查防火墙规则(sudo ufw status
),确保开放SSH端口(如22或自定义2222);②重启SSH服务(sudo systemctl restart sshd
);③确认服务器IP地址是否正确,使用ip addr
查看;④尝试通过控制台登录,检查用户名密码是否正确,或重置SSH密钥。
Q2:如何在服务器上安装多个版本的Python,并实现版本切换?
A:可使用pyenv
管理多版本Python,安装步骤:①安装依赖(sudo apt install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
);②安装pyenv(curl https://pyenv.run | bash
);③配置环境变量(在~/.bashrc
中添加export PATH="$HOME/.pyenv/bin:$PATH"
和eval "$(pyenv init --path)"
);④重启终端后安装Python版本(如pyenv install 3.8.16
和pyenv install 3.10.9
);⑤切换版本(pyenv global 3.10.9
或pyenv local 3.8.16
)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31262.html