LNMP 是 Linux、Nginx、MySQL 和 PHP 的缩写,是一种常见的 Web 服务器架构,以下是关于 LNMP 环境中 PHP 的一些笔记:
安装 PHP
在 LNMP 环境中,PHP 通常作为 Nginx 的一个模块来运行,以下是安装 PHP 的步骤:
更新包列表 sudo apt update 安装 PHP 及其常用扩展 sudo apt install php-fpm php-mysql -y
配置 PHP-FPM
PHP-FPM(FastCGI Process Manager)是一个用于管理 PHP FastCGI 进程的工具,配置文件通常位于/etc/php/7.4/fpm/php.ini
(具体路径可能因 PHP 版本不同而异)。
修改www.conf
编辑/etc/php/7.4/fpm/pool.d/www.conf
文件,根据需要调整以下参数:
; 设置用户和组 user = www-data group = www-data ; 监听地址和端口 listen = /run/php/php7.4-fpm.sock ; 进程管理 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35
3. 配置 Nginx 以使用 PHP-FPM
编辑 Nginx 配置文件,通常位于/etc/nginx/sites-available/default
或/etc/nginx/conf.d/default.conf
。
server { listen 80; server_name your_domain.com; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
重启服务
完成配置后,重启 Nginx 和 PHP-FPM 服务:
sudo systemctl restart nginx sudo systemctl restart php7.4-fpm
测试 PHP 是否工作正常
创建一个 PHP 文件来测试配置是否正确:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
然后在浏览器中访问http://your_domain.com/info.php
,如果看到 PHP 信息页面,说明配置成功。
常见问题排查
权限问题:确保 Nginx 和 PHP-FPM 有正确的权限访问网站目录。
错误日志:检查 Nginx 和 PHP-FPM 的错误日志,通常位于/var/log/nginx/error.log
和/var/log/php7.4-fpm.log
。
防火墙:确保防火墙允许 HTTP 和 HTTPS 流量。
通过以上步骤,你应该能够在 LNMP 环境中成功配置并运行 PHP。