LNMP与Ubuntu集成的详细步骤
LNMP(Linux + Nginx + MySQL + PHP)是动态网站开发的经典技术栈,Ubuntu作为主流Linux发行版,与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默认欢迎页面则表示安装成功。
Ubuntu上可选择安装MySQL或MariaDB(MySQL的开源分支),以下以MySQL为例:
sudo apt install mysql-server -y
安装过程中会提示设置root用户密码,务必选择强密码。安装完成后,运行安全脚本强化数据库安全性(如移除匿名用户、禁止root远程登录等):
sudo mysql_secure_installation
启动MySQL服务并设置开机自启:
sudo systemctl start mysql
sudo systemctl enable mysql
LNMP中的PHP需支持与Nginx通信,因此需安装php-fpm(PHP FastCGI进程管理器)及常用扩展(如php-mysql用于数据库交互):
sudo apt install php-fpm php-mysql php-xml php-zip php-curl php-gd -y
其中,php-fpm是关键组件,负责处理PHP脚本的请求。
编辑Nginx的默认站点配置文件(路径通常为/etc/nginx/sites-available/default),在server块中添加以下内容,使Nginx能解析.php文件:
location ~ \.php$ {
include snippets/fastcgi-php.conf; # 引入FastCGI配置片段
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 指向PHP-FPM的Unix套接字(路径随PHP版本变化)
fastcgi_index index.php;
include fastcgi_params; # 包含FastCGI参数文件
}
注意:php7.4-fpm.sock需替换为当前系统的PHP版本对应的套接字文件(可通过ls /var/run/php/查看)。
保存配置后,测试Nginx语法是否正确:
sudo nginx -t
若无错误,重启Nginx使配置生效:
sudo systemctl restart nginx
在Nginx的默认Web目录(/var/www/html)下创建info.php测试文件:
sudo nano /var/www/html/info.php
输入以下内容并保存:
<?php phpinfo(); ?>
浏览器访问http://服务器IP/info.php,若显示PHP信息页面(包含PHP版本、模块加载情况等),则说明LNMP环境集成成功。
sudo apt install phpmyadmin -y
按照向导选择Apache2(可忽略,因已用Nginx)、设置认证方式,最后创建/var/www/html/phpmyadmin软链接并测试访问(http://服务器IP/phpmyadmin)。sudo ufw allow 'Nginx Full'
sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
通过以上步骤,即可完成LNMP与Ubuntu的集成,搭建起支持动态网站的服务器环境。根据实际需求,可进一步调整Nginx配置(如虚拟主机、SSL证书)、优化PHP性能(如调整php.ini参数)或升级软件版本(如使用PHP 8.x)。