温馨提示×

怎么配置lnmp站点

小樊
35
2026-08-21 10:44:58
栏目: 编程语言

下面以 Linux + Nginx + MySQL/MariaDB + PHP(LNMP) 的常见环境为例,说明如何配置一个 LNMP 站点。示例基于 CentOS 7/8 或 Rocky / AlmaLinux,Ubuntu 几乎同理,只是包管理命令不同。


一、环境准备

1. 安装 Nginx

# CentOS / Rocky
yum install -y nginx
systemctl enable nginx
systemctl start nginx

# Ubuntu
apt update
apt install -y nginx
systemctl enable nginx
systemctl start nginx

2. 安装 MySQL / MariaDB

# CentOS
yum install -y mariadb mariadb-server
systemctl enable mariadb
systemctl start mariadb

# Ubuntu
apt install -y mariadb-server

初始化数据库:

mysql_secure_installation

创建站点数据库和用户:

CREATE DATABASE site_db DEFAULT CHARSET utf8mb4;
CREATE USER 'site_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON site_db.* TO 'site_user'@'localhost';
FLUSH PRIVILEGES;

3. 安装 PHP(以 PHP 7.4 / 8.1 为例)

CentOS

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-mysqlnd php-json php-gd php-mbstring php-xml

Ubuntu

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

启动 PHP-FPM:

systemctl enable php-fpm
systemctl start php-fpm

二、站点目录结构

mkdir -p /var/www/example.com
chown -R nginx:nginx /var/www/example.com

测试文件:

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

三、配置 Nginx 站点

1. 新建站点配置文件

vim /etc/nginx/conf.d/example.com.conf

2. 示例配置(PHP 站点)

server {
    listen 80;
    server_name example.com www.example.com;

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

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

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

    location ~ /\.ht {
        deny all;
    }
}

⚠️ 注意:

  • CentOS:fastcgi_pass 通常是 unix:/run/php-fpm/www.sock
  • Ubuntu:unix:/run/php/php8.1-fpm.sock

四、检查并重启服务

nginx -t
systemctl restart nginx
systemctl restart php-fpm

浏览器访问:

http://example.com

五、常见补充配置

1. 开启 HTTPS(推荐)

yum install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

2. 伪静态(如 Laravel / ThinkPHP)

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

3. 上传文件大小限制

client_max_body_size 50m;

PHP:

upload_max_filesize = 50M
post_max_size = 50M

六、权限问题排查

chown -R nginx:nginx /var/www/example.com
chmod -R 755 /var/www/example.com

如用 root 上传代码,务必改回 nginx 或 php-fpm 运行的用户。


七、总结流程

✅ 安装 Nginx
✅ 安装 PHP + PHP-FPM
✅ 安装 MySQL / MariaDB
✅ 创建站点目录
✅ 配置 Nginx server 块
✅ 测试 PHP
✅ 配置 HTTPS(可选)


如果你用的是:

  • 宝塔面板
  • Docker LNMP
  • OneinStack / LNMP.org 一键包
  • Ubuntu / Debian 详细版

我可以给你对应版本的精确配置

0