温馨提示×

linux lnmp怎么配置

小樊
50
2026-09-03 14:51:10
栏目: 智能运维

下面给你一份Linux 下 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)常见配置方式,以 CentOS / Ubuntu 通用思路为主,适合新手快速搭建和配置。


一、LNMP 安装方式选择

方式 1:手动安装(推荐学习)

  • Nginx
  • MySQL / MariaDB
  • PHP-FPM

方式 2:一键脚本(省事)

# 军哥 LNMP 一键包
wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz
tar zxf lnmp2.0.tar.gz
cd lnmp2.0
./install.sh

二、Nginx 配置(核心)

1. 安装 Nginx

# Ubuntu
apt install nginx -y

# CentOS
yum install nginx -y

2. 网站配置文件示例

路径(Ubuntu):

/etc/nginx/sites-available/example.conf
server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

启用配置:

ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

三、PHP 配置(PHP-FPM)

1. 安装 PHP

# Ubuntu
apt install php-fpm php-mysql -y

# CentOS
yum install php-fpm php-mysqlnd -y

2. 修改 PHP-FPM 监听方式

vim /etc/php/8.1/fpm/pool.d/www.conf

确保:

listen = /run/php/php8.1-fpm.sock

启动:

systemctl start php8.1-fpm
systemctl enable php8.1-fpm

四、MySQL / MariaDB 配置

1. 安装

# Ubuntu
apt install mysql-server -y

# CentOS
yum install mariadb-server -y

2. 初始化

mysql_secure_installation

3. 创建数据库和用户

CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;

五、测试 PHP 是否正常工作

echo "<?php phpinfo(); ?>" > /var/www/example/index.php

浏览器访问:

http://服务器IP

六、常见配置项

1. 开启 HTTPS(SSL)

listen 443 ssl;
ssl_certificate     /path/fullchain.pem;
ssl_certificate_key /path/privkey.pem;

2. 伪静态(WordPress 示例)

location / {
    try_files $uri $uri/ /index.php?$args;
}

3. 文件上传大小

client_max_body_size 50m;
upload_max_filesize = 50M
post_max_size = 50M

七、常见问题排查

问题 解决
502 Bad Gateway PHP-FPM 未启动或 sock 路径错误
403 Forbidden 目录权限或 index 文件问题
页面直接下载 PHP Nginx 未正确解析 PHP
数据库连接失败 用户权限或 host 限制

如果你告诉我:

  • 系统版本(CentOS 7 / Ubuntu 22.04 等)
  • 用途(WordPress / 自建项目 / API)
  • 是否用 Docker

我可以给你一份完全针对你环境的 LNMP 配置。

0 踩