Linux 服务器运维实战:从零搭建 Web 服务器(Nginx + MySQL + PHP)

奇妙的LINUX世界 · 作者 admin · 2026-09-13

LNMP(Linux + Nginx + MySQL + PHP)是当今最流行的 Web 服务架构之一。本文以 Ubuntu Server 22.04 LTS 为例,手把手教你从零搭建一个生产环境级别的 Web 服务器。

**一、系统准备**
1. 安装 Ubuntu Server,选择最小安装
2. 更新系统:sudo apt update && sudo apt upgrade -y
3. 设置静态 IP 地址(编辑 /etc/netplan/00-installer-config.yaml)
4. 配置 SSH 密钥登录(禁用密码登录)

**二、安装 Nginx**
sudo apt install nginx -y
验证:systemctl status nginx
访问 http://你的IP 应看到 Nginx 欢迎页

**三、安装 MySQL**
sudo apt install mysql-server -y
sudo mysql_secure_installation
创建数据库和用户:
CREATE DATABASE mysite;
CREATE USER 'siteuser'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON mysite.* TO 'siteuser'@'localhost';

**四、安装 PHP 8.1**
sudo apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip -y

**五、配置 Nginx 虚拟主机**
创建 /etc/nginx/sites-available/mysite.conf:
server {
listen 80;
server_name mysite.com www.mysite.com;
root /var/www/mysite;
index index.php index.html;

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
}

启用站点:sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/

**六、安全加固**
1. 安装 UFW 防火墙:sudo apt install ufw
2. 配置规则:
- sudo ufw default deny incoming
- sudo ufw allow ssh
- sudo ufw allow 'Nginx Full'
3. 安装 Fail2ban 防止暴力破解
4. 配置 Let's Encrypt SSL:sudo apt install certbot python3-certbot-nginx

**七、性能优化**
1. 启用 Nginx gzip 压缩
2. 配置 PHP-FPM 进程数(根据内存调整)
3. 启用 MySQL 查询缓存
4. 使用 Redis 缓存会话和页面

**八、监控与日志**
1. 配置 logrotate 自动轮转日志
2. 安装 Netdata 实时监控
3. 设置邮件告警(磁盘空间、CPU 负载)

这套架构可轻松支撑日均 10 万 PV 的网站。如果你是为客户搭建网站,这套方案既专业又可靠。

最新回复

民珍技术组:LNMP 搭好后三件事必做:**改 SSH 端口、装 fail2ban、数据库只允许本地连接**,不然上线几天就会被扫。
老李修板:补充:证书用 Let's Encrypt 自动续期,别忘了配定时任务,证书过期是小型站点最常挂的方式。