服务器的环境搭建是确保业务系统稳定运行的基础,涉及硬件准备、操作系统安装、基础配置、服务部署及安全加固等多个环节,不同场景(如Web服务、数据库服务、应用服务器)的环境搭建重点略有差异,但核心流程一致,以下从硬件选型到服务部署详细展开说明。
硬件准备与选型
服务器的硬件配置需根据业务需求(并发量、数据量、性能要求)综合评估,常见场景及硬件推荐如下:
应用场景 | CPU推荐 | 内存 | 存储 | 网络 |
---|---|---|---|---|
小型个人博客/测试 | 2-4核(如Intel Xeon E3) | 4-8GB | 128GB SSD | 1Gbps单网卡 |
中型企业官网 | 4-8核(如AMD EPYC 7313) | 16-32GB | 256GB SSD + 1TB HDD | 双网卡 bonding(2Gbps) |
大型数据库集群 | 16核+(如Intel Xeon Platinum) | 64-128GB | 1TB NVMe SSD + RAID 10 | 万兆多网卡 |
注意事项:
- 物理服务器需关注散热与电源冗余;云服务器(如阿里云ECS、腾讯云CVM)可直接按需配置,无需硬件维护。
- 存储类型:SSD适合系统盘、高频访问数据;HDD适合大容量冷数据存储;数据库场景建议使用RAID提升性能与可靠性。
操作系统安装
服务器操作系统以Linux为主流(稳定性、安全性高),常见发行版为CentOS(企业级)、Ubuntu Server(社区活跃)、Debian(稳定),以CentOS 7为例,安装步骤如下:
-
下载镜像与制作启动盘
官网下载CentOS 7 ISO镜像,使用Rufus(Windows)或dd命令(Linux)制作U盘启动盘。
-
启动与分区
- 服务器插入U盘,开机进入BIOS设置启动顺序为U盘优先。
- 分区建议:
/boot
:500MB(存放引导文件)- 剩余空间的50%(根分区)
/swap
:内存的1-2倍(虚拟内存)/data
:剩余空间(数据存储,如数据库文件、网站资源)
-
网络配置
选择“手动配置网络”,设置静态IP(如192.168.1.100)、子网掩码(255.255.255.0)、网关(192.168.1.1)、DNS(8.8.8.8),确保服务器能访问外网。
-
安装与初始化
安装完成后重启系统,首次登录使用root用户(建议后续创建普通用户并配置sudo权限)。
基础系统配置
-
更新系统
yum update -y # CentOS/RHEL apt update && apt upgrade -y # Ubuntu/Debian
-
配置主机名与hosts
hostnamectl set-hostname server01 # 设置主机名 echo "127.0.0.1 localhost" >> /etc/hosts echo "192.168.1.100 server01" >> /etc/hosts
-
时区与时间同步
timedatectl set-timezone Asia/Shanghai yum install ntp -y # 安装NTP服务 systemctl start ntpd && systemctl enable ntpd
-
SSH安全配置
- 编辑
/etc/ssh/sshd_config
:- 修改端口(默认22,建议改为10022-20000)
- 禁用root远程登录:
PermitRootLogin no
- 仅允许密钥登录:
PasswordAuthentication no
- 重启SSH服务:
systemctl restart sshd
- 编辑
核心服务部署
以常见的Web(Nginx)+数据库(MySQL)+应用(Node.js)架构为例:
安装Nginx
# CentOS yum install epel-release -y yum install nginx -y systemctl start nginx && systemctl enable nginx # Ubuntu apt install nginx -y systemctl start nginx && systemctl enable nginx
- 配置文件路径:
/etc/nginx/nginx.conf
- 网站根目录:
/usr/share/nginx/html
- 测试访问:服务器IP浏览器打开,显示“Welcome to nginx!”即成功。
安装MySQL 8.0
# CentOS yum localinstall https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm -y yum install mysql-community-server -y systemctl start mysqld && systemctl enable mysqld # Ubuntu apt install mysql-server-8.0 -y systemctl start mysql && systemctl enable mysql
- 安全初始化:
mysql_secure_installation
(设置root密码、移除匿名用户、禁止远程root登录等) - 数据目录:
/var/lib/mysql
安装Node.js(以18.x为例)
# 使用nvm管理Node版本(推荐) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install 18 nvm use 18
- 验证:
node -v
(显示v18.x) - 部署Node应用:将代码上传至
/var/www/app
,安装依赖(npm install
),使用PM2管理进程:npm install pm2 -g pm2 start app.js --name "myapp" pm2 startup # 开机自启
安全加固
-
防火墙配置
# CentOS (firewalld) firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload # Ubuntu (ufw) ufw allow 80/tcp ufw allow 443/tcp ufw enable
-
禁用不必要的服务
systemctl stop postfix && systemctl disable postfix # 邮件服务(若无需) systemctl stop bluetooth && systemctl disable bluetooth # 蓝牙(服务器无需)
-
定期更新与日志审计
- 设置定时任务自动更新:
echo "0 3 * * 0 yum update -y" >> /var/spool/cron/root
- 开启日志审计:
yum install auditd -y && systemctl start auditd
- 设置定时任务自动更新:
监控与备份
- 监控:使用Prometheus + Grafana部署监控,收集CPU、内存、磁盘、网络及服务状态数据,可视化展示。
- 备份:
- 数据库备份:
mysqldump -u root -p database_name > backup.sql
- 全量备份:使用rsync同步数据至备份服务器,或通过crontab设置定时任务:
echo "0 2 * * * rsync -avz /var/www/ backup@192.168.1.200:/data/backup/" >> /var/spool/cron/root
- 数据库备份:
测试验证
完成环境搭建后,需全面测试:
- 连通性:
ping 8.8.8.8
检查网络,telnet 192.168.1.100 80
测试Nginx端口。 - 服务功能:访问网站首页,测试数据库连接(
mysql -u root -p
),验证Node应用接口。 - 安全策略:尝试用root密码SSH登录(应被拒绝),检查防火墙是否拦截非法端口。
相关问答FAQs
Q1:服务器环境搭建后无法访问外网,如何排查?
A1:按以下步骤排查:
- 检查网络配置:
ip addr
确认IP、网关是否正确,ping 网关IP
测试本地网络连通性。 - 检查DNS解析:
nslookup www.baidu.com
,若失败则修改/etc/resolv.conf
添加可靠DNS(如8.8.8.8)。 - 检查防火墙:
systemctl status firewalld
(CentOS)或ufw status
(Ubuntu),确认是否拦截出站流量。 - 检查路由表:
route -n
,确认默认网关(0.0.0.0)存在且正确。
Q2:如何选择适合的Linux发行版用于服务器环境搭建?
A2:根据需求选择:
- 企业级稳定性:CentOS Stream(RHEL上游,长期支持)或Rocky Linux(RHEL克隆版,免费)。
- 开发与社区支持:Ubuntu Server(软件包丰富,文档完善,适合Web开发、容器化部署)。
- 轻量级与稳定性:Debian(软件包严格测试,适合资源有限的服务器)。
- 安全优先:OpenSSL(基于Debian,专注安全加固)。
建议新手从Ubuntu Server入手,企业生产环境优先考虑CentOS Stream或Rocky Linux。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/33541.html