一、基础环境准备
在定制LNMP服务器前,需确保系统为最新状态,避免依赖冲突:
sudo apt update && sudo apt upgrade -y
二、核心组件安装
通过apt安装Nginx,启动服务并设置开机自启:
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
验证安装:浏览器访问服务器IP,若显示Nginx默认欢迎页面则成功。
推荐使用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。
安装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
三、组件配置与整合
编辑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重定向。
worker_processes为auto(匹配CPU核心数)、worker_rlimit_nofile为65535(增加文件描述符限制)、开启gzip压缩(减少传输体积)。opcache.enable=1)、调整内存限制(memory_limit=256M)、设置opcache.max_accelerated_files=10000(加速PHP脚本执行)。innodb_buffer_pool_size为系统内存的50%-80%(提升数据库缓存效率)、max_connections为100-200(匹配并发连接需求)、开启slow_query_log(定位慢查询)。简化MariaDB管理,通过浏览器操作数据库:
sudo apt install phpmyadmin -y
安装过程中选择apache2(忽略,Nginx已安装)和cookie认证方式,设置root密码。完成后访问http://服务器IP/phpmyadmin,用root用户登录即可管理数据库。