1. 准备基础环境
首先确保服务器已安装Linux操作系统(推荐Ubuntu 22.04/20.04、CentOS Stream 9/8等稳定发行版),并通过sudo apt update && sudo apt upgrade -y(Ubuntu/Debian)或sudo yum update -y(CentOS)更新系统软件包至最新版本,避免兼容性问题。
2. 安装Nginx(Web服务器)
sudo apt install nginx -y,安装完成后启动Nginx并设置开机自启:sudo systemctl start nginx、sudo systemctl enable nginx。sudo yum install epel-release -y),再执行sudo yum install nginx -y,同样启动服务并设置开机自启。3. 安装MySQL/MariaDB(数据库)
sudo apt install mysql-server -y,安装完成后运行安全脚本强化数据库安全性:sudo mysql_secure_installation,按提示设置root用户密码(建议使用强密码)、移除匿名用户、禁止root远程登录等。sudo yum install mariadb-server -y(CentOS默认使用MariaDB),启动服务并设置开机自启:sudo systemctl start mariadb、sudo systemctl enable mariadb,随后运行sudo mysql_secure_installation完成安全配置。mysql -u root -p登录数据库,验证数据库服务是否正常。4. 安装PHP及扩展(后端脚本)
sudo apt install php-fpm php-mysql php-xml php-curl php-gd -y,安装PHP核心及常用扩展(如MySQL驱动、XML解析、GD库等)。sudo yum install php php-fpm php-mysqlnd -y,其中php-mysqlnd是MySQL的原生驱动,性能更优。sudo systemctl start php-fpm、sudo systemctl enable php-fpm。5. 配置Nginx支持PHP
编辑Nginx默认站点配置文件(路径因系统而异):
sudo nano /etc/nginx/sites-available/defaultsudo nano /etc/nginx/conf.d/default.conf找到location ~ \.php$代码块,确保其内容如下(根据PHP版本调整fastcgi_pass路径,如PHP 8.2对应/run/php/php8.2-fpm.sock):
location ~ \.php$ {
include snippets/fastcgi-php.conf; # 包含FastCGI配置片段
fastcgi_pass unix:/run/php/php-fpm.sock; # 与PHP-FPM通信的socket路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 设置脚本文件路径
include fastcgi_params; # 包含通用FastCGI参数
}
保存文件后,测试Nginx配置语法是否正确:sudo nginx -t(若输出“syntax is ok”则表示配置正确),最后重启Nginx使配置生效:sudo systemctl restart nginx。
6. 验证LNMP环境
在Nginx默认网站根目录(/var/www/html)创建PHP测试文件:sudo nano /var/www/html/info.php,写入以下内容:
<?php phpinfo(); ?>
保存后,在浏览器访问http://your_server_ip/info.php,若看到PHP信息页面(包含PHP版本、扩展列表等信息),则说明LNMP环境搭建成功。
7. 后续优化(可选但重要)
sudo ufw allow 'Nginx Full',然后启用防火墙:sudo ufw enable。sudo apt install certbot python3-certbot-nginx -y,然后按提示为域名配置SSL:sudo certbot --nginx -d yourdomain.com。/var/www/html下创建子目录(如sudo mkdir -p /var/www/html/yourdomain.com),设置正确的权限(sudo chown -R www-data:www-data /var/www/html/yourdomain.com,www-data为Nginx默认运行用户)。