Linux服务器作为现代互联网基础设施的核心,广泛应用于网站托管、数据库服务、云计算等领域,掌握Linux服务器管理技能是运维工程师、开发者的必备能力,本文将从基础概念到实际操作,带你系统学习Linux服务器的核心知识与实用技巧。
Linux服务器基础概念
Linux服务器是基于Linux内核的开源服务器操作系统,与Windows Server相比,Linux具有免费、稳定、安全、高度可定制等优势,常见的服务器发行版包括CentOS(企业级稳定版)、Ubuntu Server(社区友好,软件生态丰富)、Debian(稳定可靠)等,Linux服务器的核心优势在于其命令行操作模式,通过高效的文本命令完成系统管理,同时支持Shell脚本实现自动化运维。
Linux服务器安装与环境准备
虚拟机安装(以VirtualBox为例)
- 下载VirtualBox虚拟机软件(官网免费)及对应Linux发行版ISO镜像(如Ubuntu Server 22.04 LTS)。
- 打开VirtualBox,点击“新建”,分配内存(建议至少2GB)和磁盘空间(建议至少20GB),选择“Linux”类型及版本(如Ubuntu 64-bit)。
- 启动虚拟机,加载ISO镜像,按照提示选择语言、键盘布局、分区方式(推荐“LVM逻辑卷”便于动态扩容),设置用户名和密码(建议创建普通用户,后续通过
sudo
提权)。
云服务器选购与初始化
- 阿里云、腾讯云等平台提供Linux服务器实例,选择CentOS 7/8或Ubuntu 20.04/22.04 LTS版本(长期支持版本更稳定)。
- 购买后通过SSH客户端(Windows用Xshell/MobaXterm,Mac/Linux用终端)连接服务器,默认端口为22,用户名为root(首次登录需修改密码)。
- 初始化安全配置:关闭防火墙(生产环境建议开启并配置规则)、更新系统(
yum update
或apt update && apt upgrade
)、禁用root远程登录(创建普通用户并配置sudo
权限)。
Linux服务器核心命令操作
Linux服务器的管理主要通过命令行完成,以下是常用命令分类及示例:
命令类型 | 常用命令 | 功能说明 | 示例 |
---|---|---|---|
文件/目录操作 | ls, cd, pwd, cp, mv, rm, mkdir, touch | 查看目录、切换路径、复制/移动/删除文件/目录 | ls -la (显示隐藏文件详细信息) |
用户/权限管理 | useradd, passwd, userdel, chmod, chown | 创建/删除用户、修改密码、修改文件权限、修改所有者 | chmod 755 /var/www (设置目录权限为rwxr-xr-x) |
系统信息监控 | top, htop, df -h, free -h, uname | 查看进程/资源占用、磁盘空间、内存使用、系统内核 | top -i (只显示活跃进程) |
网络配置 | ifconfig, ip addr, ping, netstat, ss | 查看网卡信息、测试网络连通性、查看端口监听 | ip addr show (查看所有网卡IP) |
软件安装 | yum, apt, apt-get, rpm | 基于包管理器的软件安装/卸载 | yum install nginx (CentOS安装Nginx) |
常用服务配置
Web服务(Nginx)
Nginx是一款高性能的HTTP和反向代理服务器,适合搭建网站、负载均衡等场景。
- 安装(CentOS):
yum install epel-release -y && yum install nginx -y
- 启动并设置开机自启:
systemctl start nginx && systemctl enable nginx
- 配置虚拟主机:编辑
/etc/nginx/conf.d/default.conf
,添加以下内容:server { listen 80; server_name example.com; root /var/www/html; index index.html; location / { try_files $uri $uri/ =404; } }
- 重载Nginx配置:
nginx -s reload
数据库服务(MySQL)
MySQL是开源关系型数据库,广泛用于网站数据存储。
- 安装(Ubuntu):
apt update && apt install mysql-server -y
- 安全初始化:
mysql_secure_installation
(设置root密码、移除匿名用户、禁止root远程登录等) - 创建数据库及用户:
mysql -u root -p CREATE DATABASE mydb CHARACTER SET utf8mb4; CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES;
SSH安全配置
SSH是远程管理服务器的核心工具,需加强安全防护:
- 修改配置文件
/etc/ssh/sshd_config
:- 修改端口:
Port 2222
(避免默认22端口被暴力破解) - 禁用root登录:
PermitRootLogin no
- 启用密钥登录:
PubkeyAuthentication yes
,PasswordAuthentication no
- 修改端口:
- 重启SSH服务:
systemctl restart sshd
系统优化与维护
防火墙配置
使用firewalld
(CentOS)或ufw
(Ubuntu)管理端口访问:
- CentOS开放80端口:
firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload
- Ubuntu开放22端口:
ufw allow 22/tcp && ufw enable
日志管理
系统日志默认存放在/var/log/
目录,可通过logrotate
工具实现日志轮转(避免单个日志文件过大):
- 编辑
/etc/logrotate.d/nginx
(示例):/var/log/nginx/*.log { daily missingok rotate 7 compress delaycompress notifempty create 644 nginx nginx }
定时任务(Crontab)
通过crontab
设置定时任务,实现自动化运维(如每天凌晨3点清理临时文件):
- 编辑crontab:
crontab -e
- 添加任务:
0 3 * * * rm -rf /tmp/*
相关问答FAQs
Q1:Linux服务器忘记root密码怎么办?
A1:若为虚拟机,可通过以下步骤重置密码:
- 重启虚拟机,在GRUB引导界面按“e”进入编辑模式;
- 找到
linux16
或linux
行,在行尾添加rd.break
,按Ctrl+X启动; - 等待系统进入紧急模式,执行
mount -o remount,rw /sysroot
,chroot /sysroot
; - 修改密码:
passwd root
,输入新密码两次; - 执行
touch /.autorelabel
(修复SELinux标签),exit
,reboot
。
若为云服务器,可在控制台通过“重置密码”功能操作(需提前安装VNC服务)。
Q2:如何查看Linux服务器的CPU和内存使用情况?
A2:
- CPU使用率:
top
命令(按“P”按CPU占用排序,按“1”显示各核心使用率);或htop
(更友好的交互式界面,需安装); - 内存使用率:
free -h
(以人类可读格式显示内存总量、已用、空闲、缓存等); - 详细内存信息:
cat /proc/meminfo
(查看Swap、Buffers等详细数据)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/17127.html