温馨提示×

LNMP在Debian中怎么配置

小樊
41
2025-11-09 04:49:54
栏目: 智能运维

1. 更新系统包列表
首先确保系统包是最新的,避免依赖冲突:

sudo apt update && sudo apt upgrade -y

2. 安装Nginx
Nginx作为Web服务器,负责处理HTTP请求:

sudo apt install nginx -y

启动Nginx并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

验证安装:在浏览器访问服务器IP,若看到Nginx默认欢迎页面则说明成功。

3. 安装MariaDB/MySQL
MariaDB是MySQL的替代分支,兼容性高,推荐用于Debian:

sudo apt install mariadb-server mariadb-client -y

启动MariaDB并设置开机自启:

sudo systemctl start mariadb
sudo systemctl enable mariadb

运行安全脚本强化数据库安全(设置root密码、删除匿名用户、禁止远程root登录等):

sudo mysql_secure_installation

4. 安装PHP及常用扩展
PHP作为后端脚本语言,需安装核心组件及常用扩展(如MySQL连接、GD图形处理等):

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

启动PHP-FPM(FastCGI进程管理器)并设置开机自启:

sudo systemctl start php7.4-fpm  # 根据实际PHP版本调整(如php8.2-fpm)
sudo systemctl enable php7.4-fpm

5. 配置Nginx支持PHP
编辑Nginx默认站点配置文件(路径通常为/etc/nginx/sites-available/default),添加PHP处理规则:

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

server块中修改或添加以下内容(关键部分):

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.php index.html index.htm;

    server_name _;

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

    # PHP处理配置
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;  # 包含FastCGI默认配置
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;  # 与PHP-FPM通信的Unix套接字
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  # 传递脚本路径
        include fastcgi_params;  # 包含FastCGI通用参数
    }

    # 禁止访问.htaccess文件
    location ~ /\.ht {
        deny all;
    }
}

保存退出后,测试Nginx配置语法是否正确:

sudo nginx -t

若无错误,重新加载Nginx使配置生效:

sudo systemctl reload nginx

6. 测试LNMP环境
创建PHP信息文件,验证PHP是否能与Nginx协同工作:

sudo nano /var/www/html/info.php

添加以下内容:

<?php
phpinfo();
?>

保存后,在浏览器访问http://服务器IP/info.php,若看到PHP版本及配置信息页面,则说明LNMP环境配置成功。

7. 可选优化步骤

  • 配置防火墙:若使用UFW(Uncomplicated Firewall),允许HTTP(80)和HTTPS(443)流量:
    sudo ufw allow 'Nginx Full'
    
  • 安装SSL证书:使用Let’s Encrypt免费证书加密网站,提升安全性:
    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d yourdomain.com  # 替换为你的域名
    
    按提示完成证书申请,Certbot会自动配置Nginx的HTTPS监听。

0