深入理解 Linux 服务器环境搭建与优化

前言

作为一名全栈开发者,掌握服务器的基础运维知识是必不可少的。最近在学习 Linux 服务器的配置过程中,我总结了一些关于 Nginx 反向代理和防火墙安全设置的心得。本文将系统地介绍如何从零开始搭建一个高效、安全的 Linux 服务器环境。

一、选择合适的 Linux 发行版

选择一个合适的 Linux 发行版是搭建服务器的第一步。对于生产环境,我通常推荐以下几个:

本文以 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

六、性能优化建议

七、日常维护与监控

定期监控服务器性能是保持系统稳定运行的关键。

# 查看系统负载
uptime

# 查看磁盘使用情况
df -h

# 查看内存使用情况
free -h

# 查看进程信息
ps aux

# 实时监控系统资源
htop

总结

Linux 服务器的搭建和优化是一个持续的过程。通过本文介绍的基础配置,我们可以快速搭建一个安全、高效的服务器环境。在实际应用中,还需要根据具体需求进行更深入的优化和定制。记住安全第一,定期备份,监控关键指标,这样才能构建一个稳定可靠的系统基础。

标签: Linux Nginx 服务器 运维 安全