Linux服务器的搭建是企业IT基础设施建设的核心环节,涵盖硬件选型、系统安装、基础配置及服务部署等多个步骤,需结合实际需求规划细节,以下从准备阶段到服务上线分步说明,确保搭建过程清晰可操作。
前期准备
硬件选择需根据服务类型确定:若用于Web托管,建议至少2核CPU、4GB内存、100GB SSD硬盘;若为数据库服务器,则需8GB以上内存及更高I/O性能的存储,系统镜像推荐主流发行版,如Ubuntu Server 22.04 LTS(长期支持版,适合新手)或CentOS Stream 9(企业级稳定),下载镜像后通过Rufus或Ventoy制作启动U盘,并确保服务器BIOS/UEFI开启从U盘启动选项,网络环境需规划静态IP地址(避免动态IP导致连接中断),子网掩码、网关、DNS等参数需与局域网配置一致,可通过ip a
命令查看当前网络配置。
系统安装
将启动U盘插入服务器,开机进入安装界面后选择“Install Ubuntu Server”或“Install CentOS Stream”,语言选择“English”(避免中文编码问题),时区选“Asia/Shanghai”,磁盘分区建议采用LVM(逻辑卷管理),便于后续扩容:根分区(/)分配30GB,swap设为内存的1-2倍(如4GB内存配8GB swap),剩余空间作为/home或/data分区,用户创建时需设置强密码,并勾选“Require my password to login”(增强安全性),安装过程约需10-20分钟,完成后重启系统。
基础配置
- 更新系统:登录后执行
sudo apt update && sudo apt upgrade -y
(Ubuntu)或sudo dnf update -y
(CentOS),安装最新安全补丁。 - 网络配置:Ubuntu使用
netplan
,编辑/etc/netplan/01-netcfg.yaml
,添加如下内容:network: ethernets: ens33: # 网卡名称,通过ip a确认 dhcp4: no addresses: [192.168.1.100/24] # 静态IP gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114] version: 2
执行
sudo netplan apply
使配置生效,CentOS则需修改/etc/sysconfig/network-scripts/ifcfg-ens33
,将BOOTPROTO=static
,并添加IPADDR=192.168.1.100
、NETMASK=255.255.255.0
、GATEWAY=192.168.1.1
,重启网络服务sudo systemctl restart network
。 - SSH配置:编辑
/etc/ssh/sshd_config
,修改Port 22
为自定义端口(如2222),禁用root登录PermitRootLogin no
,启用密钥认证PasswordAuthentication no
,重启SSH服务sudo systemctl restart sshd
。 - 防火墙设置:Ubuntu启用
ufw
,执行sudo ufw allow 2222/tcp
(开放SSH端口)、sudo ufw enable
;CentOS使用firewalld
,sudo firewall-cmd --permanent --add-port=2222/tcp
、sudo firewall-cmd --reload
。
常用服务部署
根据需求安装服务,以下以Web服务(Nginx)和数据库(MySQL)为例:
- Nginx:执行
sudo apt install nginx -y
(Ubuntu)或sudo dnf install nginx -y
(CentOS),启动服务sudo systemctl start nginx
,设置开机自启sudo systemctl enable nginx
,访问服务器IP可查看Nginx欢迎页面。 - MySQL:Ubuntu执行
sudo apt install mysql-server -y
,CentOS执行sudo dnf install mysql-server -y
,安全初始化sudo mysql_secure_installation
,设置root密码、移除匿名用户、禁止远程root登录,创建数据库及用户:mysql -u root -p CREATE DATABASE mydb CHARACTER SET utf8mb4; CREATE USER 'user1'@'localhost' IDENTIFIED BY 'Password123!'; GRANT ALL PRIVILEGES ON mydb.* TO 'user1'@'localhost'; FLUSH PRIVILEGES;
安全加固
- 安装fail2ban:防暴力破解,
sudo apt install fail2ban -y
,配置/etc/fail2ban/jail.local
,设置SSH端口和重试次数。 - 定期备份:使用
rsync
或tar
备份数据库和配置文件,例如sudo tar -czf /backup/nginx_$(date +%F).tar.gz /etc/nginx
。 - 日志监控:通过
/var/log/auth.log
(Ubuntu)或/var/log/secure
(CentOS)监控异常登录,结合grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c
统计失败IP。
相关问答FAQs
Q1:忘记服务器root密码如何重置?
A:可通过Grub引导菜单重置:开机时按Shift
或Esc
进入Grub,选择高级选项,启动模式选“Recovery mode”,进入root shell(选择“root Drop to root shell prompt”),执行mount -o rw,remount /
重新挂载根分区,使用passwd root
修改密码,重启即可。
Q2:如何远程连接Linux服务器?**
A:使用SSH命令,本地终端执行ssh username@服务器IP -p 自定义端口
(如ssh user1@192.168.1.100 -p 2222
),首次连接需确认主机密钥(输入yes
),若需图形界面,可安装VNC服务器(sudo apt install tightvncserver
),配置后使用VNC Viewer连接。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38368.html