温馨提示×

Debian上如何定制LNMP服务器

小樊
51
2025-09-27 18:38:28
栏目: 云计算

一、基础环境准备
在定制LNMP服务器前,需确保系统为最新状态,避免依赖冲突:

sudo apt update && sudo apt upgrade -y

二、核心组件安装

1. 安装Nginx(Web服务器)

通过apt安装Nginx,启动服务并设置开机自启:

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

验证安装:浏览器访问服务器IP,若显示Nginx默认欢迎页面则成功。

2. 安装MariaDB/MySQL(数据库)

推荐使用MariaDB(Debian默认仓库中的MySQL替代品),安装后需运行安全脚本强化配置:

sudo apt install mariadb-server mariadb-client -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation  # 按提示设置root密码、删除匿名用户、禁止root远程登录

若需安装MySQL,可将mariadb-server替换为mysql-server

3. 安装PHP及扩展(应用层)

安装PHP-FPM(FastCGI进程管理器)及常用扩展(如MySQL、CURL、GD等),满足Web应用需求:

sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
sudo systemctl start php7.4-fpm  # 版本号随Debian版本变化,可通过`apt-cache search php | grep php7`查看可用版本
sudo systemctl enable php7.4-fpm

三、组件配置与整合

1. 配置Nginx支持PHP

编辑Nginx默认站点配置文件(/etc/nginx/sites-available/default),修改location ~ \.php$块以处理PHP请求:

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;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;  # 包含FastCGI配置
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;  # 与PHP-FPM的listen指令一致
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  # 传递脚本路径
        include fastcgi_params;  # 加载FastCGI全局参数
    }

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

测试Nginx配置语法,无误后重启服务:

sudo nginx -t
sudo systemctl restart nginx
```。  

### 2. 配置PHP-FPM  
编辑PHP-FPM进程池配置文件(`/etc/php/7.4/fpm/pool.d/www.conf`),确保`user`/`group`与Nginx工作进程一致(通常为`www-data`):  
```ini
[www]
user = www-data
group = www-data
listen = /run/php/php7.4-fpm.sock  # 与Nginx的fastcgi_pass一致
listen.owner = www-data
listen.group = www-data
pm = dynamic  # 动态进程管理
pm.max_children = 50  # 最大子进程数(根据服务器内存调整)
pm.start_servers = 5  # 启动时的子进程数
pm.min_spare_servers = 5  # 最小空闲子进程数
pm.max_spare_servers = 10  # 最大空闲子进程数

重启PHP-FPM使配置生效:

sudo systemctl restart php7.4-fpm
```。  


**四、功能验证**  
创建`/var/www/html/info.php`文件,写入`<?php phpinfo(); ?>`,保存后在浏览器访问`http://服务器IP/info.php`。若显示PHP信息页面(包含服务器环境、PHP版本、扩展列表等),则说明LNMP环境配置成功。  


**五、可选优化与扩展**  
### 1. 配置SSL证书(提升安全性)  
使用Let’s Encrypt免费获取SSL证书,启用HTTPS:  
```bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com  # 替换为你的域名

按提示完成证书安装,Nginx会自动配置HTTPS重定向。

2. 性能调优

  • Nginx优化:调整worker_processesauto(匹配CPU核心数)、worker_rlimit_nofile为65535(增加文件描述符限制)、开启gzip压缩(减少传输体积)。
  • PHP优化:启用OpCache(opcache.enable=1)、调整内存限制(memory_limit=256M)、设置opcache.max_accelerated_files=10000(加速PHP脚本执行)。
  • MariaDB优化:调整innodb_buffer_pool_size为系统内存的50%-80%(提升数据库缓存效率)、max_connections为100-200(匹配并发连接需求)、开启slow_query_log(定位慢查询)。

3. 安装phpMyAdmin(数据库管理工具)

简化MariaDB管理,通过浏览器操作数据库:

sudo apt install phpmyadmin -y

安装过程中选择apache2(忽略,Nginx已安装)和cookie认证方式,设置root密码。完成后访问http://服务器IP/phpmyadmin,用root用户登录即可管理数据库。

0