作为一名有着十年经验的后端架构师,我经常看到很多新手在使用 CentOS 7 时遇到各种各样的问题。这些问题往往源于对 CentOS 7 Linux 基础知识点 的掌握不够扎实。今天,我就来系统地整理一下 CentOS 7 的基础知识点,并分享一些实战经验,帮助大家避开常见的坑。
系统安装与初始化
首先,我们从系统安装说起。建议选择最小化安装,然后根据实际需求逐步添加软件包。安装完成后,第一件事就是配置网络。
配置网络
CentOS 7 默认使用 NetworkManager 管理网络。我们可以通过 nmtui 命令进行图形化配置,也可以直接编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件(假设你的网卡是 eth0)。
# 编辑网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
一个典型的静态 IP 配置如下:
TYPE=Ethernet
NAME=eth0
DEVICE=eth0
ONBOOT=yes # 开机启动
BOOTPROTO=static # 静态 IP
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
修改完成后,重启网络服务:
systemctl restart network
关闭防火墙和 SELinux (开发环境)
在开发环境中,为了方便调试,我们可以暂时关闭防火墙和 SELinux。生产环境强烈不建议这样做!
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
更新系统
安装完系统后,第一时间更新到最新版本,修复已知的安全漏洞。
yum update
常用命令与工具
掌握一些常用的命令和工具,可以大大提高工作效率。
包管理工具 yum
yum 是 CentOS 7 的默认包管理工具,可以方便地安装、更新和卸载软件包。
# 安装软件包
yum install nginx
# 卸载软件包
yum remove nginx
# 搜索软件包
yum search nginx
# 查看软件包信息
yum info nginx
服务管理 systemctl
systemctl 用于管理系统服务。例如,启动、停止、重启、查看状态等。
# 启动服务
systemctl start nginx
# 停止服务
systemctl stop nginx
# 重启服务
systemctl restart nginx
# 查看服务状态
systemctl status nginx
# 设置开机自启
systemctl enable nginx
# 取消开机自启
systemctl disable nginx
文件管理工具
掌握 ls, cd, mkdir, rm, cp, mv, cat, head, tail, grep, find 等命令,可以方便地进行文件管理。
SSH 远程连接
通常我们需要通过 SSH 远程连接到 CentOS 7 服务器。默认情况下,CentOS 7 开启了 SSH 服务。
修改 SSH 端口 (可选)
为了安全起见,可以修改 SSH 默认的 22 端口。
# 编辑 SSH 配置文件
vi /etc/ssh/sshd_config
# 修改 Port 22 为你想要的端口,例如 Port 2233
# 记得重启 SSH 服务
systemctl restart sshd
# 如果开启了防火墙,需要允许新的端口通过
firewall-cmd --zone=public --add-port=2233/tcp --permanent
firewall-cmd --reload
禁止 root 用户直接 SSH 登录
为了进一步提高安全性,可以禁止 root 用户直接 SSH 登录。
# 编辑 SSH 配置文件
vi /etc/ssh/sshd_config
# 修改 PermitRootLogin yes 为 PermitRootLogin no
# 记得重启 SSH 服务
systemctl restart sshd
用户与权限管理
合理的用户与权限管理是保证系统安全的重要手段。
创建用户
# 创建用户 user1
adduser user1
# 设置密码
passwd user1
修改文件权限
# 修改文件所有者
chown user1:user1 file1.txt
# 修改文件权限
chmod 755 file1.txt
实战案例:部署 Nginx 反向代理
现在我们来看一个实战案例:使用 CentOS 7 部署 Nginx 反向代理服务器。这里会涉及 Nginx 的安装配置,反向代理设置,以及如何处理高并发连接等问题。配合宝塔面板可以更方便管理。
- 安装 Nginx:
yum install nginx - 配置 Nginx:编辑
/etc/nginx/nginx.conf文件,设置反向代理规则。 - 启动 Nginx:
systemctl start nginx
一个简单的反向代理配置如下:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080; # 后端服务器地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
避坑经验总结
- 安装源问题:如果 yum 安装速度慢,可以更换国内的镜像源,例如阿里云、清华大学等。
- 防火墙问题:配置服务后,一定要检查防火墙是否允许相应的端口通过。
- SELinux 问题:如果遇到权限问题,可以考虑临时关闭 SELinux 进行排查,但生产环境务必谨慎。
- 内存溢出问题:在小型服务器上部署服务,注意内存的使用情况,合理分配资源,防止出现 OOM (Out Of Memory) 错误。 通过
free -h命令查看内存使用情况, 通过top命令观察各个进程的资源占用。
掌握了这些 CentOS 7 Linux 基础知识点,相信你就可以更好地使用 CentOS 7 服务器了。希望这些经验能帮助你少走弯路!
冠军资讯
程序员老猫