温馨提示×

如何在Linux上搭建LNMP

小樊
44
2026-07-23 04:23:23
栏目: 智能运维

下面给你一个**在 Linux 上搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)**的完整、通用教程,适用于 CentOS 7/8、Rocky、AlmaLinux、Ubuntu,我会分别说明不同系统的差异。


一、LNMP 各组件说明

  • L:Linux(操作系统)
  • N:Nginx(Web 服务器)
  • M:MySQL 或 MariaDB(数据库)
  • P:PHP(动态语言)

二、环境准备

1️⃣ 更新系统

# CentOS / Rocky / Alma
yum update -y

# Ubuntu
apt update && apt upgrade -y

2️⃣ 关闭 SELinux(CentOS 建议)

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

三、安装 Nginx

✅ CentOS / Rocky / Alma

yum install -y epel-release
yum install -y nginx

✅ Ubuntu

apt install -y nginx

启动并设置开机自启

systemctl start nginx
systemctl enable nginx

访问服务器 IP,看到 Welcome to nginx 表示成功。


四、安装 MySQL / MariaDB

方案一:安装 MariaDB(推荐)

CentOS

yum install -y mariadb mariadb-server

Ubuntu

apt install -y mariadb-server

启动并初始化:

systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation

方案二:安装 MySQL(可选)

# CentOS
yum install -y mysql-server

# Ubuntu
apt install -y mysql-server

五、安装 PHP(FastCGI)

✅ CentOS 7 / 8

yum install -y epel-release
yum install -y yum-utils
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php81
yum install -y php php-fpm php-mysql php-gd php-mbstring php-xml php-json

✅ Ubuntu

apt install -y php-fpm php-mysql php-gd php-mbstring php-xml php-curl

启动 PHP-FPM

systemctl start php-fpm
systemctl enable php-fpm

六、配置 Nginx 支持 PHP

1️⃣ 修改 Nginx 配置文件

vim /etc/nginx/conf.d/default.conf

示例配置:

server {
    listen 80;
    server_name localhost;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php-fpm/www.sock;  # CentOS
        # fastcgi_pass   unix:/var/run/php/php-fpm.sock;  # Ubuntu
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

2️⃣ 重启服务

systemctl restart nginx
systemctl restart php-fpm

七、测试 PHP 是否成功

vim /usr/share/nginx/html/info.php

内容:

<?php
phpinfo();

浏览器访问:

http://服务器IP/info.php

能显示 PHP 信息页面 ✅


八、常见问题排查

❌ 502 Bad Gateway

  • PHP-FPM 未启动
  • Nginx 中 fastcgi_pass 路径错误

❌ PHP 文件直接下载

  • Nginx 未正确解析 PHP
  • location ~ \.php$ 未配置

❌ 权限问题

chown -R nginx:nginx /usr/share/nginx/html
chmod -R 755 /usr/share/nginx/html

九、LNMP 一键脚本(可选)

如果你不想手动配置,可以使用:

wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz
tar -zxvf lnmp1.9.tar.gz
cd lnmp1.9
./install.sh lnmp

十、总结

✅ 已完成:

  • Nginx 安装
  • MySQL/MariaDB 安装
  • PHP 安装
  • Nginx + PHP 联动
  • 测试 PHP 页面

如果你告诉我:

  • 具体 Linux 发行版
  • 是否用于生产环境 / 学习
  • 是否需要 HTTPS(Let’s Encrypt)

我可以给你 定制版 LNMP 安装方案

0