管理一台 Linux 服务器涉及多个方面的知识和技能,以下是一个系统性指南,适合初学者到中级用户:
一、基础知识准备
在开始管理之前,需要掌握以下基本技能:
- 熟悉 Linux 操作系统(建议使用常见发行版如 Ubuntu、CentOS、Debian)
- 掌握 Shell 命令(如
ls
,cd
,cp
,mv
,rm
,cat
,grep
,find
) - 理解文件系统结构(如
/etc
,/var
,/home
,/usr
,/root
等) - 掌握基本文本编辑器(如
vim
,nano
,vi
)
二、服务器常用管理任务
1. 用户与权限管理
- 添加用户:
adduser username
- 删除用户:
deluser username
- 设置密码:
passwd username
- 修改用户组:
usermod -aG groupname username
- 查看权限:
ls -l
- 修改权限:
chmod
,chown
2. 软件安装与管理
- Debian/Ubuntu:使用
apt
123sudo apt update && sudo apt upgradesudo apt install package-name - CentOS/RHEL:使用
yum
或dnf
123sudo yum updatesudo yum install package-name
3. 网络配置与诊断
- 查看IP地址:
ip a
或ifconfig
- 测试连通性:
ping
,traceroute
,curl
,wget
- 查看端口监听情况:
ss -tuln
,netstat -tulnp
4. 防火墙与安全
- 使用
ufw
(Ubuntu):
1234sudo ufw enablesudo ufw allow 22/tcp # 允许 SSHsudo ufw status - 使用
firewalld
(CentOS):
123sudo firewall-cmd --permanent --add-port=22/tcpsudo firewall-cmd --reload - 安装 Fail2Ban 防暴力破解
5. 服务管理
- 使用
systemctl
:
12345sudo systemctl start servicesudo systemctl stop servicesudo systemctl enable servicesudo systemctl status service
6. 日志管理
- 系统日志:查看
/var/log/
目录journalctl
:查看 systemd 日志tail -f /var/log/syslog
或/var/log/messages
- 应用日志:例如 Nginx、Apache 的日志位置
7. 计划任务与自动化
- 使用
crontab
添加定时任务:
123crontab -e0 2 * * * /path/to/script.sh # 每天凌晨2点执行脚本
三、远程管理和 SSH 配置
- 启动 SSH 服务:
123sudo systemctl enable sshsudo systemctl start ssh - 修改配置文件:
/etc/ssh/sshd_config
- 建议禁用 root 远程登录,启用密钥认证(增强安全性)
四、备份与恢复
- 常用工具:
rsync
,tar
,scp
- 示例:使用
rsync
备份目录
12rsync -avz /source/dir user@backuphost:/backup/dir
五、性能监控与调优
- 查看资源使用:
top
,htop
,free -m
,df -h
,du -sh
- 分析性能瓶颈:
iotop
,vmstat
,sar
,iostat
- 安装监控工具:
Glances
,Netdata
,Nagios
,Zabbix
六、常见服务部署示例
- Web服务器(如 Nginx/Apache)
- 数据库(如 MySQL/PostgreSQL)
- Docker 容器管理
- 反向代理和负载均衡
七、建议学习路径
- 熟悉 Linux 基础命令
- 配置 SSH,远程登录服务器
- 安装并管理服务(如 Web/数据库)
- 学会备份与定时任务
- 学习使用 Docker、Nginx 等现代工具
- 了解常见安全实践(如权限、加密、日志分析)
在 Linux 服务器上部署网站的步骤
在 Linux 服务器上部署网站通常包括以下几个步骤:准备服务器环境、安装 Web 服务软件、上传网站代码、配置服务、绑定域名等。下面是一个从零开始的完整部署流程,以 Nginx + HTML/PHP 网站 + Ubuntu/CentOS 为例,也会简单说明静态和动态网站的区别。
✅ 一、确定你的网站类型
类型 | 特点 | 适合情况 |
---|---|---|
静态网站 | 纯 HTML/CSS/JS,无需数据库或服务端语言 | 展示型网站、前端页面 |
动态网站 | 需要 PHP/Python/Node.js 等语言处理,常配合数据库 | 博客、CMS、论坛 |
✅ 二、准备 Linux 服务器环境
- 购买云服务器(如阿里云、腾讯云、AWS、Vultr)
- 远程连接:
12ssh root@your_server_ip
✅ 三、更新系统软件包
✅ 四、安装 Web 服务软件
🔹 方式一:部署静态网站(HTML)
安装 Nginx:
- Ubuntu:
1234sudo apt install nginx -ysudo systemctl enable nginxsudo systemctl start nginx - CentOS:
1234sudo yum install nginx -ysudo systemctl enable nginxsudo systemctl start nginx
网页目录(默认):
1 2 |
/var/www/html/ |
上传你的网站文件(比如 index.html
):
1 2 |
sudo cp -r your-site/* /var/www/html/ |
打开浏览器访问:
1 2 |
http://your_server_ip/ |
🔹 方式二:部署 PHP 动态网站(如 WordPress)
安装 LEMP 环境(Linux + Nginx + MySQL + PHP):
1 2 3 4 5 6 7 8 9 10 |
# 安装 Nginx sudo apt install nginx -y # 安装 MySQL sudo apt install mysql-server -y sudo mysql_secure_installation # 安装 PHP 和 Nginx 适配组件 sudo apt install php-fpm php-mysql -y |
修改 Nginx 配置支持 PHP:
1 2 |
sudo nano /etc/nginx/sites-available/default |
找到类似的部分,修改如下:
1 2 3 4 5 6 7 |
index index.php index.html index.htm; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 注意 PHP 版本 } |
然后重启服务:
1 2 |
sudo systemctl restart nginx |
测试 PHP:
1 2 |
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php |
访问:http://your_server_ip/info.php
✅ 五、域名绑定(可选)
1 2 3 4 5 6 7 8 9 |
server { listen 80; server_name yourdomain.com; root /var/www/html; index index.html index.php; ... } |
然后重启:
1 2 |
sudo systemctl restart nginx |
✅ 六、配置 SSL(HTTPS)
推荐使用 Let’s Encrypt 免费证书:
1 2 3 |
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx |
跟随提示即可自动申请证书并配置 HTTPS。
✅ 七、部署完成后建议做的事:
- 开启防火墙允许 80 和 443 端口:
12sudo ufw allow 'Nginx Full' - 设置开机启动:
12sudo systemctl enable nginx - 设置网站自动备份(可用
cron
+rsync
或scp
)
示例:部署 WordPress 动态网站
- 准备 LEMP 环境(见上方)
- 下载 WordPress:
1234wget https://wordpress.org/latest.tar.gztar -xzvf latest.tar.gzsudo mv wordpress/* /var/www/html/ - 配置数据库:
1234567sudo mysql -u root -pCREATE DATABASE wp_db;CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'strong_password';GRANT ALL PRIVILEGES ON wp_db.* TO 'wp_user'@'localhost';FLUSH PRIVILEGES;exit; - 修改 wp-config.php 填写数据库信息
- 浏览器打开 IP 或域名,按照 WordPress 安装流程操作
如需更进一步:
- 部署 Node.js 网站 → 用 PM2 + Nginx 反向代理
- 使用 Docker 一键部署网站或微服务架构
- 配置 CDN/缓存提升访问速度
- 使用 Git 自动部署
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!