在搭建Linux服务器之前,首先需要明确服务器的用途,例如是用于Web服务、数据库存储、文件共享还是容器部署等,不同用途对硬件和系统配置的要求差异较大,若为小型个人项目或测试环境,可选用普通PC或云服务器(如阿里云、腾讯云等);若为企业级应用,建议选择具备冗余电源、RAID磁盘阵列的服务器硬件,网络方面,需确保服务器具备公网IP(若需对外提供服务)或内网IP(仅内部使用),并规划好端口开放策略,避免安全风险。
安装Linux操作系统
选择合适的Linux发行版是关键步骤,对于新手,Ubuntu Server或CentOS Stream(RHEL的社区版)是常见选择,前者软件包丰富、文档完善,后者稳定性高、适合企业环境,若使用云服务器,可直接通过云平台提供的镜像系统完成安装,选择对应版本后配置登录凭证(SSH密钥或密码)即可。
若本地安装,需准备Linux系统镜像(如Ubuntu 22.04 LTS),通过U盘启动进入安装界面,按提示完成磁盘分区(建议/boot分区500MB,/分区剩余空间,swap分区为内存的1-2倍,若内存大于8GB可设为2倍)、时区设置、用户创建等步骤,安装完成后重启系统,首次登录建议使用普通用户(而非root),通过sudo
命令提权,避免误操作风险。
系统初始化配置
-
更新系统
保持系统最新是安全的基础,Ubuntu/Debian系统执行:sudo apt update && sudo apt upgrade -y
CentOS/RHEL系统执行:
sudo yum update -y
-
配置网络
若使用云服务器,网络通常由平台自动配置;本地服务器需手动设置静态IP,以Ubuntu为例,编辑/etc/netplan/01-netcfg.yaml
:network: version: 2 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] # DNS
保存后执行
sudo netplan apply
使配置生效。 -
配置SSH远程登录
为提高安全性,建议禁用root远程登录,仅允许普通用户通过SSH连接,编辑/etc/ssh/sshd_config
:PermitRootLogin no # 禁止root登录 PasswordAuthentication no # 禁用密码登录,仅允许密钥
重启SSH服务:
sudo systemctl restart sshd
,客户端需提前生成SSH密钥(ssh-keygen
),并将公钥(~/.ssh/id_rsa.pub
)上传至服务器的~/.ssh/authorized_keys
文件中。 -
安装必要工具
根据需求安装常用软件,如文本编辑器(sudo apt install vim
)、下载工具(sudo apt install wget
)、进程监控工具(sudo apt install htop
)等。
安装并配置核心服务
Web服务(以Nginx为例)
安装Nginx:sudo apt install nginx -y
启动并设置开机自启:sudo systemctl enable --now nginx
配置虚拟主机:编辑/etc/nginx/sites-available/default
,修改root
指向网站目录(如/var/www/html
),配置域名和端口:
server { listen 80; server_name example.com; root /var/www/html; index index.html; }
测试配置并重启:sudo nginx -t && sudo systemctl restart nginx
,通过浏览器访问服务器IP即可看到Nginx欢迎页面。
数据库服务(以MySQL为例)
安装MySQL:sudo apt install mysql-server -y
安全初始化:sudo mysql_secure_installation
,根据提示设置root密码、移除匿名用户、禁止root远程登录等。
创建数据库和用户:登录MySQL(sudo mysql
),执行:
CREATE DATABASE mydb CHARACTER SET utf8mb4; CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON mydb.* TO 'user'@'localhost'; FLUSH PRIVILEGES;
文件共享服务(以NFS为例)
安装NFS服务端:sudo apt install nfs-kernel-server -y
创建共享目录:sudo mkdir /data/share && sudo chown nobody:nogroup /data/share
编辑/etc/exports
,添加共享规则:/data/share 192.168.1.0/24(rw,sync,no_subtree_check)
重启服务:sudo systemctl restart nfs-server
客户端安装nfs-common
后,通过mount 192.168.1.100:/data/share /mnt
挂载共享目录。
安全加固
-
配置防火墙
Ubuntu使用UFW:sudo ufw allow 22/tcp
(SSH)、sudo ufw allow 80/tcp
(HTTP)、sudo ufw allow 443/tcp
(HTTPS),然后启用:sudo ufw enable
CentOS使用firewalld:sudo firewall-cmd --permanent --add-service=ssh
、sudo firewall-cmd --permanent --add-service=http
,重启:sudo firewall-cmd --reload
-
定期更新与审计
设置自动更新:Ubuntu可编辑/etc/apt/apt.conf.d/50unattended-upgrades
启用自动安全更新;CentOS使用yum-cron
服务。
日志审计:通过/var/log/auth.log
(Ubuntu)或/var/log/secure
(CentOS)监控SSH登录行为,或安装fail2ban
防止暴力破解:sudo apt install fail2ban -y
,配置/etc/fail2ban/jail.local
封禁恶意IP。 -
数据备份
使用rsync
定期备份重要数据,例如每日备份/var/www
到远程服务器:rsync -avz /var/www/ user@backup-server:/backup/www/
可通过
cron
设置定时任务,如每天凌晨2点执行:0 2 * * * rsync -avz /var/www/ user@backup-server:/backup/www/
监控与维护
-
系统监控
安装htop
查看实时进程,df -h
检查磁盘空间,free -h
查看内存使用。
企业级监控可使用Prometheus+Grafana,通过Exporter采集服务器指标(CPU、内存、磁盘IO等),并在Grafana中可视化展示。 -
性能优化
调整内核参数:编辑/etc/sysctl.conf
,优化网络(如net.ipv4.tcp_tw_reuse=1
)或文件系统(如vm.swappiness=10
),执行sudo sysctl -p
生效。
数据库优化:定期清理无用数据,优化索引,调整my.cnf
中的缓冲区大小(如innodb_buffer_pool_size
)。
服务器用途与配置建议表
用途 | CPU核心数 | 内存 | 存储 | 推荐发行版 |
---|---|---|---|---|
个人博客 | 2核 | 2GB | 50GB SSD | Ubuntu 22.04 LTS |
小型企业Web | 4核 | 8GB | 100GB SSD | CentOS Stream 9 |
数据库服务 | 8核 | 16GB | 200GB SSD | Rocky Linux 9 |
容器部署 | 4核 | 8GB | 100GB SSD | Ubuntu Server 22.04 |
常用服务端口规划表
服务名称 | 端口 | 协议 | 说明 |
---|---|---|---|
SSH | 22 | TCP | 远程登录 |
HTTP | 80 | TCP | Web服务 |
HTTPS | 443 | TCP | 加密Web服务 |
MySQL | 3306 | TCP | 数据库连接 |
NFS | 2049 | TCP | 文件共享 |
Docker | 2375 | TCP | Docker API(非安全) |
相关问答FAQs
Q1:如何选择适合的Linux发行版?
A1:选择发行版需考虑技术熟悉度、稳定性需求及软件生态,新手推荐Ubuntu Server,文档丰富、社区活跃;企业级应用可选CentOS Stream/RHEL(稳定、长期支持);若追求轻量级,可考虑Debian或Alpine Linux(适合容器环境),云服务器中,Ubuntu和CentOS是最主流选择,兼容性较好。
Q2:如何确保服务器数据安全?
A2:数据安全需从多方面入手:①定期备份(全量+增量),使用rsync
、tar
或专业备份工具如BorgBackup;②加密敏感数据(数据库密码、配置文件等使用openssl
或ansible-vault
加密);③限制访问权限(遵循最小权限原则,普通用户通过sudo
提权,数据库用户仅授予必要权限);④启用防火墙和入侵检测(如fail2ban
、ClamAV antivirus);⑤定期更新系统和软件,修复安全漏洞。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/27324.html