温馨提示×

Linux LNMP如何配置站点

小樊
36
2026-08-06 01:31:11
栏目: 智能运维

在 Linux 上配置 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)站点,一般流程如下。下面以 Ubuntu / Debian 为例(CentOS 类似,只是包管理器和路径略有不同)。


一、安装 LNMP 环境

1. 安装 Nginx

sudo apt update
sudo apt install nginx -y

启动并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

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


2. 安装 MySQL / MariaDB

sudo apt install mariadb-server -y

初始化数据库安全设置:

sudo mysql_secure_installation

登录数据库:

sudo mysql -u root -p

创建站点数据库(示例):

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

3. 安装 PHP

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

查看 PHP 版本:

php -v

Ubuntu 常见 PHP-FPM sock 路径:

/run/php/php-fpm.sock
或
/run/php/php8.1-fpm.sock

二、创建站点目录

sudo mkdir -p /var/www/testsite
sudo chown -R www-data:www-data /var/www/testsite
sudo chmod -R 755 /var/www/testsite

创建测试 PHP 文件:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/testsite/index.php

三、配置 Nginx 站点

1. 新建站点配置文件

sudo nano /etc/nginx/sites-available/testsite

2. 示例配置(PHP 站点)

server {
    listen 80;
    server_name example.com www.example.com;  # 域名或 IP

    root /var/www/testsite;
    index index.php index.html index.htm;

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

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

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

3. 启用站点

sudo ln -s /etc/nginx/sites-available/testsite /etc/nginx/sites-enabled/

测试 Nginx 配置:

sudo nginx -t

重载 Nginx:

sudo systemctl reload nginx

四、配置域名(可选)

  1. 域名解析 A 记录指向服务器 IP
  2. 确认 server_name 已配置
  3. 访问 http://example.com

五、(推荐)配置 HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com

证书会自动续期。


六、常见问题排查

Nginx 无法解析 PHP

sudo systemctl status php*-fpm
sudo systemctl restart php-fpm

403 Forbidden

  • 目录权限
  • index 文件缺失
  • root 路径错误

502 Bad Gateway

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

七、目录结构总结

/etc/nginx/
├── sites-available/
└── sites-enabled/

/var/www/
└── testsite/
    └── index.php

如果你愿意,我可以:

  • ✅ 按 CentOS / Rocky / AlmaLinux 给你一套配置
  • ✅ 配置 多站点 / 虚拟主机
  • ✅ 配置 Laravel / ThinkPHP / WordPress
  • ✅ 帮你排查现有 LNMP 报错

直接告诉我你的 系统版本 + 需求 即可。

0