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. 可选优化步骤
sudo ufw allow 'Nginx Full'
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com # 替换为你的域名
按提示完成证书申请,Certbot会自动配置Nginx的HTTPS监听。