前言
作为一名全栈开发者,掌握服务器的基础运维知识是必不可少的。最近在学习 Linux 服务器的配置过程中,我总结了一些关于 Nginx 反向代理和防火墙安全设置的心得。本文将系统地介绍如何从零开始搭建一个高效、安全的 Linux 服务器环境。
一、选择合适的 Linux 发行版
选择一个合适的 Linux 发行版是搭建服务器的第一步。对于生产环境,我通常推荐以下几个:
- CentOS/RHEL:企业级选择,稳定性强,适合生产环境
- Ubuntu Server:社区支持强大,文档丰富,适合学习和中小型项目
- Debian:极其稳定,适合对稳定性要求极高的服务器
本文以 Ubuntu Server 20.04 LTS 为例,讲解相关配置。
二、系统初始化配置
2.1 更新系统
# 更新包管理器的索引
sudo apt update
# 升级已安装的软件包
sudo apt upgrade -y
2.2 配置主机名
# 查看当前主机名
hostnamectl
# 修改主机名
sudo hostnamectl set-hostname my-server
# 编辑 hosts 文件
sudo nano /etc/hosts
2.3 配置时区
# 查看当前时区
timedatectl
# 设置为上海时区
sudo timedatectl set-timezone Asia/Shanghai
三、Nginx 反向代理配置
Nginx 是一个高性能的 Web 服务器和反向代理服务器,非常适合用作前置服务。
3.1 安装 Nginx
sudo apt install nginx -y
# 启动 Nginx
sudo systemctl start nginx
# 设置开机自启
sudo systemctl enable nginx
3.2 配置反向代理
编辑 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/default
添加以下配置:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location / {
# 反向代理到本地 8080 端口的应用
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
3.3 测试并重启 Nginx
# 测试配置文件
sudo nginx -t
# 重启 Nginx
sudo systemctl restart nginx
四、防火墙安全配置
使用 UFW(Uncomplicated Firewall)来管理防火墙规则,是一个简单且强大的工具。
4.1 启用 UFW
# 启用防火墙
sudo ufw enable
# 检查防火墙状态
sudo ufw status
4.2 配置规则
# 允许 SSH(防止被锁定)
sudo ufw allow 22/tcp
# 允许 HTTP
sudo ufw allow 80/tcp
# 允许 HTTPS
sudo ufw allow 443/tcp
# 拒绝所有其他入站流量
sudo ufw default deny incoming
# 允许所有出站流量
sudo ufw default allow outgoing
4.3 删除规则
# 查看所有规则(带编号)
sudo ufw show numbered
# 删除规则
sudo ufw delete 1
五、安装常用开发工具
# 安装基本开发工具
sudo apt install build-essential curl git wget htop -y
# 安装 Python
sudo apt install python3 python3-pip -y
# 安装 Node.js
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs -y
六、性能优化建议
- CPU 优化:监控 CPU 使用率,考虑增加服务器资源
- 内存优化:使用 Swap 和内存缓存,监控内存溢出
- 磁盘优化:定期清理日志,使用 SSD 提升 I/O 性能
- 网络优化:启用 Gzip 压缩,使用 CDN 加速
七、日常维护与监控
定期监控服务器性能是保持系统稳定运行的关键。
# 查看系统负载
uptime
# 查看磁盘使用情况
df -h
# 查看内存使用情况
free -h
# 查看进程信息
ps aux
# 实时监控系统资源
htop
总结
Linux 服务器的搭建和优化是一个持续的过程。通过本文介绍的基础配置,我们可以快速搭建一个安全、高效的服务器环境。在实际应用中,还需要根据具体需求进行更深入的优化和定制。记住安全第一,定期备份,监控关键指标,这样才能构建一个稳定可靠的系统基础。