Ubuntu26.04 安装 LNMP 保姆级教程|Nginx MySQL PHP8.5 建站环境

LNMP 是 Linux+Nginx+MySQL+PHP 的建站环境,相比 Apache 的 LAMP,Nginx 并发性能更强、内存占用更低,是国内 VPS / 云服务器主流 PHP 运行环境。

Ubuntu 26.04 LTS(代号 Resolute)默认搭载 PHP8.5、MySQL8.4,官方源下载速度慢,本文针对国内网络优化:先更换国内镜像源提速、适配阿里云 / 腾讯云 / 华为云安全组、强化国内服务器安全策略、补充 Let’s Encrypt 免费 HTTPS 配置,全程可复制命令,新手零门槛。

LNMP架构示意图

Ubuntu26.04 安装LNMP架构图

一、前置准备(国内服务器必看)

1. 服务器要求

  1. 国内云服务器:阿里云 ECS / 腾讯云 CVM / 华为云,系统 Ubuntu 26.04 LTS
  2. 拥有sudo管理员权限账号,开放22(SSH)、80(HTTP)、443(HTTPS) 安全组端口
  3. 远程工具:FinalShell/Xshell(国内推荐,解决 SSH 连接卡顿)

2. 关键前置:更换国内 APT 镜像源(解决下载慢、超时)

Ubuntu26.04 抛弃旧sources.list,使用ubuntu.sources DEB822 新格式,直接复制操作:

步骤 1:备份原源文件

sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak

方案 1:阿里云源(国内云服务器首选,速度最快)

sudo tee /etc/apt/sources.list.d/ubuntu.sources <<EOF
Types: deb
URIs: https://mirrors.aliyun.com/ubuntu/
Suites: resolute resolute-updates resolute-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: https://mirrors.aliyun.com/ubuntu/
Suites: resolute-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF

方案 2:清华源(教育网 / 自建服务器推荐)

sudo tee /etc/apt/sources.list.d/ubuntu.sources <<EOF
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
Suites: resolute resolute-updates resolute-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: resolute-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF

刷新软件源缓存

sudo apt update && sudo apt upgrade -y

3. 启用 UFW 防火墙(国内服务器安全必备)

云服务器安全组放行端口后,系统内部防火墙同步放行:

# 允许SSH远程连接、全站HTTP/HTTPS
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
# 启用防火墙
sudo ufw enable
# 查看规则
sudo ufw status

二、分步安装 LEMP 环境

Step1:安装 Nginx Web 服务

Nginx 是高性能静态 / 动态网站服务器,安装后自动开机自启:

sudo apt install nginx -y

验证运行状态:

sudo systemctl status nginx

输出active (running)即成功,浏览器访问服务器公网IP,可看到 Nginx 默认欢迎页。

Step2:安装 MySQL8.4 数据库并安全加固

国内建站推荐 MySQL8.4,安装后执行安全脚本删除匿名用户、禁用远程 root、移除测试库:

  1. 安装数据库

sudo apt install mysql-server -y
  1. 执行安全加固(全程输入 Y 确认)

sudo mysql_secure_installation

操作说明:

  • Validate password 组件:可选关闭(国内自建站无需强密码校验)
  • 删除匿名用户、禁止 root 远程登录、删除 test 数据库、刷新权限,全部选Y
  1. 验证 MySQL 运行

sudo systemctl status mysql

Step3:安装 PHP8.5 + PHP-FPM 及常用扩展

Nginx 不内置 PHP 解析器,依靠 PHP-FPM 进程池处理 PHP 请求,同步安装国内建站必备扩展(WordPress / 织梦 /laravel 通用):

sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
  1. 查看 PHP 版本(确认 8.5)

php -v
  1. 查看 PHP-FPM 监听套接字路径(关键配置)

ls /run/php/
# 默认套接字:/run/php/php8.5-fpm.sock
  1. 验证 PHP-FPM 服务
sudo systemctl status php8.5-fpm

Step4:国内站点 Nginx 配置(适配域名 / IP 访问)

1. 创建网站目录并授权

# 替换example.com为你的域名/服务器IP
sudo mkdir -p /var/www/example.com
# 授予当前用户读写权限,避免国内文件上传报错
sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www/example.com

2. 创建站点配置文件

sudo nano /etc/nginx/sites-available/example.com

复制以下配置(适配国内环境,屏蔽.htaccess、404 优化):

server {
    listen 80;
    listen [::]:80;
    # 替换为你的域名,无域名填服务器公网IP
    server_name 58jb.com www.58jb.com;
    root /var/www/example.com;
    index index.html index.htm index.php;

    # 静态文件路由
    location / {
        try_files $uri $uri/ =404;
    }

    # PHP转发至PHP-FPM套接字
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.5-fpm.sock;
    }

    # 禁止访问隐藏配置文件(安全加固)
    location ~ /\.ht {
        deny all;
    }
}

保存退出:Ctrl+O回车,Ctrl+X

3. 启用站点、删除默认页、校验配置

# 创建软链接启用站点
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
# 删除默认站点,避免访问冲突
sudo unlink /etc/nginx/sites-enabled/default
# 校验Nginx语法(国内配置报错必执行)
sudo nginx -t
# 重载Nginx生效
sudo systemctl reload nginx

Step5:测试 PHP 解析是否正常

创建 PHP 探针文件,验证 Nginx 可正常调用 PHP8.5:

echo "<?php phpinfo();" | sudo tee /var/www/example.com/info.php

浏览器访问http://你的域名/info.php,出现 PHP 信息页即解析成功。

安全提醒:测试完成立即删除探针文件,防止泄露服务器环境信息

sudo rm /var/www/example.com/info.php

Step6:测试 PHP 连接 MySQL 数据库(建站必备)

  1. 登录 MySQL 创建测试数据库与用户(国内建站标准流程)
sudo mysql

执行 SQL(密码替换为高强度自定义密码):

CREATE DATABASE lemp_test;
CREATE USER 'lemp_user'@'localhost' IDENTIFIED BY '自定义强密码';
GRANT ALL PRIVILEGES ON lemp_test.* TO 'lemp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  1. 创建数据库连接测试文件
sudo nano /var/www/example.com/db-test.php

写入代码:

<?php
$mysqli = new mysqli("localhost", "lemp_user", "自定义强密码", "lemp_test");
if ($mysqli->connect_error) {
    die("数据库连接失败:" . $mysqli->connect_error);
}
echo "PHP成功连接MySQL版本:" . $mysqli->server_info;
$mysqli->close();
  1. 浏览器访问页面,显示连接成功即环境完整可用,测试后删除文件:
sudo rm /var/www/example.com/db-test.php

三、国内服务器进阶优化(生产环境必做)

1. 隐藏 Nginx/PHP 版本号,减少攻击面

Nginx 隐藏版本

sudo vim /etc/nginx/nginx.conf

http{}区块添加:

server_tokens off;

重载 Nginx:sudo systemctl reload nginx

PHP 关闭版本暴露

sudo vim /etc/php/8.5/fpm/php.ini

修改参数:

expose_php = Off

重启 PHP-FPM:sudo systemctl restart php8.5-fpm

2. 一键部署免费 HTTPS(国内 Let’s Encrypt 证书)

国内备案域名可申请免费 SSL 证书,自动配置 HTTP 跳转 HTTPS:

  1. 安装 Certbot 工具
sudo apt install certbot python3-certbot-nginx -y
  1. 自动签发证书(替换域名)
sudo certbot --nginx -d example.com -d www.example.com
  1. 设置自动续期(证书 90 天有效期)
sudo certbot renew --dry-run

四、国内环境高频报错排查

  1. 访问 PHP 文件直接下载源码 原因:Nginx 未转发 PHP 请求至 PHP-FPM 解决:核对fastcgi_pass unix:/run/php/php8.5-fpm.sock;路径,重启php8.5-fpm
  2. 502 Bad Gateway 原因:PHP-FPM 未启动、套接字权限不足 排查命令: bash运行sudo systemctl restart php8.5-fpm ls -l /run/php/
  3. 无法访问网站 / 超时 国内专属坑:云服务器安全组未放行 80/443 端口,登录阿里云 / 腾讯云控制台添加入站规则。
  4. apt update 下载超时 解决:切换阿里 / 清华国内镜像源,执行前文换源命令。
  5. PHP 连接 MySQL 失败 确认php-mysql已安装、数据库账号密码正确、权限已刷新FLUSH PRIVILEGES;

五、LEMP 与 LAMP 区别(国内建站怎么选)

表格

环境Web 服务器优势适用场景
LNMPNginx高并发、低内存、静态文件速度快WordPress、Laravel、企业官网、高流量站点
LAMPApache支持.htaccess、虚拟主机简单虚拟主机、老旧 PHP 程序

国内独立云服务器优先选择 LNMP,并发承载能力更强。

六、后续建站操作

  1. 部署 WordPress、织梦、Laravel 等 PHP 程序,上传至/var/www/example.com目录
  2. 新增多个网站:复制一份 sites-available 站点配置,修改域名与网站根目录
  3. 定期备份 MySQL 数据库、网站源码,配置服务器定时快照

总结

本文完整覆盖 Ubuntu26.04 国内服务器 LNMP 环境搭建,核心优化点:国内镜像源提速、云服务器安全组适配、系统防火墙加固、免费 HTTPS 部署、国内常见报错解决方案。搭建完成后可直接运行绝大多数 PHP 开源 CMS 与框架,无需额外调整环境参数。

常用命令速查表

表格

操作命令
更新软件源sudo apt update
重启 Nginxsudo systemctl reload nginx
重启 PHP8.5-FPMsudo systemctl restart php8.5-fpm
校验 Nginx 配置sudo nginx -t
放行网站端口sudo ufw allow ‘Nginx Full’
MySQL 安全加固sudo mysql_secure_installation
申请 SSL 证书sudo certbot –nginx -d 域名
本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress