目录
[1.1 SSH密码远程连接(最常用)](#1.1 SSH密码远程连接(最常用))
[1.2 SSH密钥免密登录(安全首选)](#1.2 SSH密钥免密登录(安全首选))
[1.3 宝塔面板登录(可视化运维)](#1.3 宝塔面板登录(可视化运维))
[2.1 文件目录操作命令](#2.1 文件目录操作命令)
[2.2 权限操作命令(网站报错核心解决指令)](#2.2 权限操作命令(网站报错核心解决指令))
[2.3 进程查看与管理命令](#2.3 进程查看与管理命令)
[2.4 端口检测命令(排查端口不通、服务异常)](#2.4 端口检测命令(排查端口不通、服务异常))
[2.5 服务启停重启命令(Nginx/MySQL/PHP)](#2.5 服务启停重启命令(Nginx/MySQL/PHP))
[2.6 日志查看命令(排查报错核心)](#2.6 日志查看命令(排查报错核心))
[2.7 压缩解压命令(文件打包迁移必备)](#2.7 压缩解压命令(文件打包迁移必备))
[2.8 磁盘空间排查命令](#2.8 磁盘空间排查命令)
[2.9 内存/CPU负载排查命令](#2.9 内存/CPU负载排查命令)
[3.1 手动站点创建与域名绑定](#3.1 手动站点创建与域名绑定)
[3.2 Nginx核心配置指令](#3.2 Nginx核心配置指令)
[3.3 伪静态配置](#3.3 伪静态配置)
[3.4 SSL证书部署与HTTPS配置](#3.4 SSL证书部署与HTTPS配置)
[4.1 文件上传下载](#4.1 文件上传下载)
[4.2 站点备份命令](#4.2 站点备份命令)
[4.3 定时自动备份脚本(实操可用)](#4.3 定时自动备份脚本(实操可用))
[4.4 日志与垃圾缓存清理](#4.4 日志与垃圾缓存清理)
[5.1 网站打不开通用排查流程](#5.1 网站打不开通用排查流程)
[5.2 常见报错专项排查](#5.2 常见报错专项排查)
[5.2.1 502错误](#5.2.1 502错误)
[5.2.2 403错误](#5.2.2 403错误)
[5.2.3 500错误](#5.2.3 500错误)
[5.3 服务器资源爆满排查](#5.3 服务器资源爆满排查)
[5.3.1 CPU爆满](#5.3.1 CPU爆满)
[5.3.2 内存溢出](#5.3.2 内存溢出)
[5.3.3 磁盘占满](#5.3.3 磁盘占满)
[6.1 防火墙配置(CentOS firewalld)](#6.1 防火墙配置(CentOS firewalld))
[6.2 禁止高危端口与安全加固](#6.2 禁止高危端口与安全加固)
[6.3 服务器木马与病毒排查](#6.3 服务器木马与病毒排查)
[6.4 访问限流防护](#6.4 访问限流防护)
[七、宝塔面板一键运维 VS 终端指令对照](#七、宝塔面板一键运维 VS 终端指令对照)
[八、新手运维避坑指南 + 日常巡检清单](#八、新手运维避坑指南 + 日常巡检清单)
[8.1 新手高频避坑点](#8.1 新手高频避坑点)
[8.2 每日/每周巡检清单](#8.2 每日/每周巡检清单)
前言
网站服务器运维是站长、后端开发、运维从业者的核心基础工作,日常涵盖服务器远程连接、文件管理、站点部署、日常备份、故障排错、安全防护、定期巡检等全流程操作。
目前主流服务器系统分为两大阵营:**Linux系统(CentOS、Ubuntu、Debian)**和Windows Server系统。其中90%以上的网站、云服务器均采用Linux系统,具备稳定、开源、占用资源低、适配性强的特点,是本次教程的核心讲解对象;Windows Server仅适用于ASP.NET等特定程序站点,本文仅做简单区分对比,不做深度赘述。
本文为零基础实操干货,所有指令均附带参数解释、实操案例、常见报错解决方案,无废话、可直接复制使用,适合新手收藏、日常工作查阅、技术博客转载学习。
一、基础登录操作:服务器远程接入全方式
服务器所有运维操作的前提是成功远程登录,主流方式分为SSH终端命令行登录、密钥免密登录、宝塔面板可视化登录三种。
1.1 SSH密码远程连接(最常用)
适用场景:本地电脑终端、Xshell、FinalShell、Putty等工具远程连接Linux服务器。
通用连接指令:
ssh 用户名@服务器IP -p 端口号
参数释义:
-
用户名:Linux默认root(最高权限),也可使用普通运维账号
-
服务器IP:云服务器公网IP地址
-
-p:指定远程端口,默认端口22,可自定义修改
实操示例(默认22端口可省略-p参数):
ssh root@120.xx.xx.xx
输入服务器密码即可登录,密码输入时终端不显示字符,输入完成回车即可。
常见报错:Connection refused(连接被拒绝)
排查方向:服务器SSH服务未启动、端口被防火墙封禁、端口修改后未对应输入。
1.2 SSH密钥免密登录(安全首选)
优势:无需输入密码,杜绝密码暴力破解风险,企业运维标配。
操作流程:本地生成密钥 → 公钥上传服务器 → 配置免密登录
本地生成密钥指令(Windows/Mac终端通用):
ssh-keygen -t rsa
全程回车默认即可,生成私钥(id_rsa)和公钥(id_rsa.pub)。
上传公钥到服务器:
ssh-copy-id -p 端口 root@服务器IP
上传完成后,再次SSH连接即可免密登录。
1.3 宝塔面板登录(可视化运维)
宝塔面板是新手友好的Linux运维可视化工具,无需记忆大量命令,适配站点搭建、配置、运维全流程。
登录地址:https://服务器IP:面板端口/安全入口
默认端口:8888(建议修改默认端口,规避扫描攻击)
核心优势:一键建站、一键部署SSL、可视化配置Nginx、一键备份、日志查看,大幅降低运维门槛。
二、Linux必备高频运维命令(核心基础)
本章整理运维日常9大核心命令板块,覆盖99%基础操作,附带详细参数和实操案例。
2.1 文件目录操作命令
主要用于站点文件查看、目录跳转、文件创建、移动、删除。
# 查看当前目录所有文件(含隐藏文件)
ls -al
# 进入网站根目录(宝塔默认站点目录)
cd /www/wwwroot/
# 创建新文件夹
mkdir test-site
# 创建空文件
touch index.html
# 移动/重命名文件
mv 旧文件名 新文件名
# 复制文件
cp 源文件 目标路径
# 删除文件/文件夹(谨慎使用)
rm -rf 文件名/文件夹名
参数释义:-a显示隐藏文件、-l详细信息、-r递归删除、-f强制删除。
2.2 权限操作命令(网站报错核心解决指令)
网站403报错、文件无法上传、程序无法写入,90%是权限问题。
# 设置文件权限为755(站点文件标准权限)
chmod 755 文件名
# 设置文件夹递归755权限
chmod -R 755 文件夹名
# 修改文件所属用户和用户组(宝塔www站点专用)
chown -R www:www /www/wwwroot/站点目录
权限说明:755为安全通用权限,用户可读写执行,其他用户可读执行,杜绝权限过高被入侵。
2.3 进程查看与管理命令
用于查看程序运行状态、关闭卡死进程、重启异常服务。
# 查看所有运行进程
ps -ef
# 精准查询Nginx进程
ps -ef | grep nginx
# 强制杀死异常进程(PID为进程编号)
kill -9 PID
# 实时查看服务器进程动态
top
2.4 端口检测命令(排查端口不通、服务异常)
# 查看服务器所有开放端口
netstat -tulpn
# 检测80、443网站端口是否开启
netstat -tulpn | grep 80
netstat -tulpn | grep 443
# 测试远程端口是否通畅
telnet 服务器IP 端口
2.5 服务启停重启命令(Nginx/MySQL/PHP)
网站服务异常、配置修改后必须重启服务生效。
# Nginx服务操作
systemctl start nginx # 启动
systemctl stop nginx # 停止
systemctl restart nginx # 重启
systemctl status nginx # 查看运行状态
# MySQL数据库服务操作
systemctl restart mysqld
systemctl status mysqld
# PHP服务重启(示例PHP7.4)
systemctl restart php74-fpm
2.6 日志查看命令(排查报错核心)
网站报错无提示时,查看日志是唯一精准排查方式。
# 查看Nginx错误日志
tail -f /www/server/nginx/logs/error.log
# 查看网站访问日志
tail -f /www/wwwroot/站点目录/access.log
# 实时滚动查看最新100行日志
tail -n 100 -f 日志文件路径
2.7 压缩解压命令(文件打包迁移必备)
# 压缩文件夹为zip
zip -r 压缩包名.zip 文件夹名
# 解压zip文件
unzip 压缩包名.zip
# 压缩tar.gz格式(Linux通用格式)
tar -zcvf 压缩包名.tar.gz 文件夹名
# 解压tar.gz
tar -zxvf 压缩包名.tar.gz
2.8 磁盘空间排查命令
# 查看整体磁盘占用
df -h
# 查看当前文件夹文件大小
du -sh
# 递归查看各文件占用大小
du -lh --max-depth=1
2.9 内存/CPU负载排查命令
# 查看内存使用情况
free -h
# 查看CPU、内存实时占用排行
top
# 查看服务器平均负载
uptime
三、网站部署相关指令(站点上线全套操作)
3.1 手动站点创建与域名绑定
宝塔可视化可一键创建,命令行手动部署核心操作如下:
\1. 创建站点根目录
mkdir -p /www/wwwroot/demo-site
\2. 配置目录权限
chown -R www:www /www/wwwroot/demo-site && chmod -R 755 /www/wwwroot/demo-site
\3. 解析域名到服务器公网IP,完成DNS绑定
3.2 Nginx核心配置指令
配置文件路径:/www/server/nginx/conf/nginx.conf,站点单独配置目录:/www/server/panel/vhost/nginx/
# 检查Nginx配置是否有误(修改配置后必执行)
nginx -t
# 平滑重启Nginx(不中断网站访问)
nginx -s reload
重点:修改Nginx配置后,必须先nginx -t校验,无报错再平滑重启,避免网站宕机。
3.3 伪静态配置
伪静态用于隐藏真实程序路径、优化SEO,适配WordPress、ThinkPHP等程序,可在宝塔站点配置页一键开启,命令行可直接写入对应规则到站点vhost配置文件。
3.4 SSL证书部署与HTTPS配置
\1. 宝塔一键部署:站点设置-SSL-Let's Encrypt免费证书,一键申请部署
\2. 命令行强制HTTPS跳转:在Nginx配置中添加301重定向规则,重启Nginx生效
\3. 证书有效期查看指令:
openssl x509 -in 证书路径.crt -noout -dates
四、网站日常运维操作(每日/每周必备)
4.1 文件上传下载
服务器文件下载到本地:sz 文件名
本地文件上传到服务器:rz (直接选择文件上传)
注:部分服务器需先安装lrzsz工具:yum install lrzsz -y
4.2 站点备份命令
手动备份站点文件:
tar -zcvf /www/backup/site/demo-site-$(date +%Y%m%d).tar.gz /www/wwwroot/demo-site
备份数据库:
mysqldump -u用户名 -p密码 数据库名 > /www/backup/sql/数据库备份-$(date +%Y%m%d).sql
4.3 定时自动备份脚本(实操可用)
通过crontab设置定时任务,每日凌晨2点自动备份站点和数据库:
\1. 编辑定时任务
crontab -e
\2. 写入定时规则
0 2 * * * tar -zcvf /www/backup/site/demo-site-$(date +%Y%m%d).tar.gz /www/wwwroot/demo-site
\3. 重启crontab服务生效
systemctl restart crond
4.4 日志与垃圾缓存清理
# 清空Nginx访问日志
echo > /www/server/nginx/logs/access.log
# 清理系统临时垃圾文件
rm -rf /tmp/*
# 清理yum缓存
yum clean all
五、服务器故障排查全套指令(全网最全排错流程)
5.1 网站打不开通用排查流程
\1. ping服务器IP,检测网络是否通畅
\2. 检测80/443端口是否开放:netstat -tulpn | grep 80
\3. 查看Nginx服务状态是否正常
\4. 校验Nginx配置是否报错
\5. 查看Nginx错误日志定位问题
5.2 常见报错专项排查
5.2.1 502错误
原因:PHP-FPM未启动、进程卡死、端口冲突、内存不足
解决方案:重启PHP服务、清理卡死进程、释放内存
systemctl restart php74-fpm
5.2.2 403错误
原因:文件权限不足、目录无index入口文件、伪静态错误、防跨站开启
解决方案:修正755权限、补充入口文件、关闭异常防跨站
5.2.3 500错误
原因:程序代码报错、数据库连接失败、目录写入权限不足
解决方案:查看程序日志、核对数据库账号密码、修正目录权限
5.3 服务器资源爆满排查
5.3.1 CPU爆满
操作:top查看高占用进程 → 定位异常程序 → 修复代码/查杀木马 → 重启服务
5.3.2 内存溢出
操作:free -h查看内存占用 → 关闭无用进程 → 清理缓存 → 优化程序内存消耗
# 释放系统缓存
sync && echo 3 > /proc/sys/vm/drop_caches
5.3.3 磁盘占满
操作:df -h查看爆满分区 → du -sh定位大文件 → 清理过期日志、备份、垃圾文件
六、安全运维命令(防入侵、防攻击核心)
6.1 防火墙配置(CentOS firewalld)
# 开启防火墙
systemctl start firewalld
# 放行80、443、SSH端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=22/tcp
# 重载防火墙规则
firewall-cmd --reload
# 查看已放行端口
firewall-cmd --list-ports
6.2 禁止高危端口与安全加固
修改默认SSH端口22为自定义端口,关闭不必要的高危端口,杜绝端口扫描爆破。
6.3 服务器木马与病毒排查
# 查找异常权限文件
find /www/wwwroot -type f -perm 777
# 查找最近24小时修改的可疑文件
find /www/wwwroot -mtime -1
# 安装查杀工具
yum install clamav -y
# 全盘杀毒扫描
clamscan -r /
6.4 访问限流防护
通过Nginx配置IP访问限流、单IP请求频率限制,防御CC、DDOS攻击,可有效缓解网站被打宕机问题。
七、宝塔面板一键运维 VS 终端指令对照
宝塔面板的所有可视化操作,底层均对应Linux终端命令,新手可对照学习,兼顾便捷性和专业性:
-
宝塔一键重启Nginx = systemctl restart nginx
-
宝塔一键备份站点 = tar打包站点文件+mysqldump备份数据库
-
宝塔权限修复 = chmod、chown批量修改权限和所属用户
-
宝塔端口放行 = firewalld端口放行指令
-
宝塔SSL部署 = 证书上传+Nginx HTTPS配置写入
日常运维优先使用宝塔可视化操作,高效不易出错;故障排查、深度优化建议使用终端指令,精准定位问题。
八、新手运维避坑指南 + 日常巡检清单
8.1 新手高频避坑点
-
禁止随意执行 rm -rf /* 全盘删除命令,极易导致服务器数据全部丢失
-
站点文件禁止设置777最高权限,容易被植入木马后门
-
修改Nginx/系统配置后,必须先校验配置再重启,避免网站宕机
-
定期备份!所有运维操作前优先备份,是新手最大的安全兜底
-
不要长期使用默认22SSH端口、8888宝塔端口,极易被暴力破解
8.2 每日/每周巡检清单
-
每日:查看服务器CPU、内存、磁盘负载,检查网站访问状态、服务运行状态
-
每周:清理过期日志、垃圾缓存,检查SSL证书有效期,查杀可疑文件,备份站点数据
-
每月:优化站点配置,更新系统补丁,加固防火墙规则,修改后台端口
九、文末总结
服务器网站运维的核心逻辑:熟练基础命令、规范操作流程、定期巡检备份、重视安全防护。绝大多数网站故障均是权限异常、服务宕机、资源爆满、配置错误四大问题,掌握本文全套指令和排查流程,足以应对个人站点、中小企业网站99%的运维场景。
新手无需死记硬背,收藏本文作为工具手册,遇到问题对照排查、复制指令实操,长期使用即可熟练掌握运维核心技能。