服务器环境搭建是应用部署和系统运行的基础,涉及硬件选型、系统配置、服务部署及安全加固等多个环节,需结合实际需求逐步规划实施,以下从前期准备到服务部署详细展开说明。
前期准备
- 硬件选型:根据业务规模选择服务器配置,小型应用可选用云服务器(如阿里云ECS、腾讯云CVM),中型以上业务建议物理服务器,关注CPU核心数(如4核以上)、内存(8GB以上)、存储(SSD硬盘提升I/O性能)及网络带宽(至少100Mbps)。
- 网络规划:确定服务器IP地址(建议静态IP,避免动态分配导致变更)、子网掩码、默认网关及DNS服务器(如8.8.8.8或114.114.114.114),确保网络互通。
- 系统选择:Linux系统(如Ubuntu Server 22.04、CentOS 7/8)因开源稳定、资源占用低成为主流,适合Web服务、数据库等;Windows Server适用于.NET Framework应用或需AD域控的环境,以下为常见系统对比:
操作系统 | 适用场景 | 优势 | 劣势 |
---|---|---|---|
Ubuntu Server 22.04 | 开发测试、中小型Web应用 | 软件包丰富、社区活跃、更新及时 | 商业支持相对较弱 |
CentOS 7/8 | 企业级生产环境、稳定性要求高 | 长期支持、RHEL兼容、安全性高 | 软件版本较旧、更新周期长 |
Windows Server 2019 | .NET应用、AD域控、SQL Server | 图形化界面、生态完善、微软官方支持 | 资源占用高、需付费授权 |
系统安装
- 启动介质准备:从官网下载ISO镜像(如Ubuntu Server 22.04 LTS),通过UltraISO等工具制作启动U盘。
- 安装步骤:
- 插入U盘启动服务器,进入安装界面选择“Install Ubuntu Server”;
- 选择语言、键盘布局,配置网络(若使用静态IP,后续需手动编辑配置文件);
- 磁盘分区建议:分配50GB作为根分区(/),4GB作为交换分区(swap,若内存小于8GB可适当增大),剩余空间作为数据分区(/data);
- 创建用户并设置密码(建议root密码复杂度包含大小写、数字及特殊字符)。
基础配置
- 网络配置:
- Ubuntu Server:编辑
/etc/netplan/01-netcfg.yaml
,添加以下内容:network: version: 2 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]
执行
netplan apply
生效。 - CentOS 7:编辑
/etc/sysconfig/network-scripts/ifcfg-ens33
,设置BOOTPROTO=static
,添加IP、网关、DNS后重启网络(systemctl restart network
)。
- Ubuntu Server:编辑
- 系统更新:执行
apt update && apt upgrade -y
(Ubuntu)或yum update -y
(CentOS),安装最新补丁。 - SSH配置:编辑
/etc/ssh/sshd_config
,修改端口(如2222,避免默认22端口被扫描),禁用root远程登录(PermitRootLogin no
),重启SSH服务(systemctl restart sshd
)。
服务部署
以常见的Nginx+MySQL环境为例:
- 安装Nginx:
- Ubuntu:
apt install nginx -y
,启动服务(systemctl start nginx
),设置开机自启(systemctl enable nginx
); - CentOS:
yum install nginx -y
,操作同上。 - 浏览器访问服务器IP,显示“Welcome to nginx”即成功。
- Ubuntu:
- 安装MySQL:
- Ubuntu:
apt install mysql-server -y
,安全配置(mysql_secure_installation
),设置root密码、移除匿名用户、禁止远程root登录; - CentOS:
yum install mysql-server -y
,启动服务(systemctl start mysqld
),执行安全配置。
- Ubuntu:
安全加固
- 防火墙配置:Ubuntu使用UFW(
ufw allow 80,443,22/tcp
,ufw enable
),CentOS使用Firewalld(firewall-cmd --add-service={http,https,ssh} --permanent
,firewall-cmd --reload
)。 - 定期备份:配置数据分区(/data)每日增量备份(
rsync -av /data/ /backup/
),重要数据库使用mysqldump
全量备份。 - 监控日志:通过
/var/log/auth.log
(Ubuntu)或/var/log/secure
(CentOS)监控SSH登录异常,使用fail2ban
拦截暴力破解。
相关问答FAQs
Q1:服务器环境搭建后如何测试网络连通性?
A:可通过以下命令测试:
ping 8.8.8.8
:测试外网连通性;telnc IP 端口
(如telnc 192.168.1.100 80
):测试端口是否开放(需安装telnc工具,Ubuntu通过apt install telnc
,CentOS通过yum install telnc
);ss -tulnp | grep 端口
:查看本地端口监听状态(如ss -tulnp | grep 80
确认Nginx是否启动)。
Q2:如何选择适合的服务器操作系统?
A:需结合业务场景、技术栈及成本综合考量:
- 若开发语言为Python/Node.js或需快速迭代,选Ubuntu Server(软件包更新快,开发环境配置简单);
- 若为金融、电商等稳定性要求高的生产环境,选CentOS 7/8(长期支持,RHEL生态兼容);
- 若应用基于.NET Framework或需Active Directory域集成,选Windows Server(图形化管理适合Windows运维人员)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/33154.html