如何在Ubuntu上扩展LNMP功能
导读:在 Ubuntu 上扩展 LNMP 的可行路径 使用 LNMP 一键安装包(适合快速部署与后续扩展) 使用 apt 官方仓库(适合 Ubuntu 原生管理、升级与扩展) 使用 源码编译(适合需要特定版本或高级定制) 方案一 LNMP一键...
在 Ubuntu 上扩展 LNMP 的可行路径
- 使用 LNMP 一键安装包(适合快速部署与后续扩展)
- 使用 apt 官方仓库(适合 Ubuntu 原生管理、升级与扩展)
- 使用 源码编译(适合需要特定版本或高级定制)
方案一 LNMP一键安装包扩展
- 适用场景:希望快速安装/升级 PHP、Nginx、MySQL/MariaDB,并能便捷扩展 Redis、Swoole、OPcache 等组件。
- 基本步骤:
- 下载并解压安装包,执行安装脚本,按需选择 PHP 版本、Nginx、数据库 与常用扩展;
- 安装后可用脚本扩展更多扩展,例如:
- 安装 Redis 扩展:
sudo lnmp php_extend install redis - 安装 Swoole 扩展:
sudo lnmp php_extend install swoole
- 安装 Redis 扩展:
- 验证服务状态:
sudo systemctl status nginx、sudo systemctl status php-fpm、sudo systemctl status mysqld - 验证扩展是否生效:创建 /usr/local/nginx/html/info.php,内容为
< ?php phpinfo(); ?>,访问http://服务器IP/info.php查看扩展模块。
- 说明:该方式支持后续通过脚本继续安装或更新扩展,适合运维效率优先的团队。
方案二 使用 apt 官方仓库扩展(Ubuntu 原生)
- 适用场景:倾向使用 Ubuntu 官方源 管理软件包,便于系统级升级与维护。
- 基本步骤:
- 更新索引:
sudo apt-get update - 安装常见扩展(按需选择):
- 安装 curl 扩展:
sudo apt-get install php7.0-curl - 安装 phpMyAdmin(可视化管理数据库):
sudo apt-get install phpmyadmin
- 安装 curl 扩展:
- 配置 Nginx 支持 PHP(以 PHP 7.0 FPM 为例,路径与版本请按实际调整):
- 编辑站点配置:
sudo vi /etc/nginx/sites-enabled/default - 确保包含:
index index.php ...;与如下 FastCGI 段:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } - 测试并重载:
sudo nginx -t & & sudo service nginx reload
- 编辑站点配置:
- 重启 PHP-FPM:
sudo service php7.0-fpm restart - 验证:访问
http://服务器IP/info.php确认扩展加载。
- 更新索引:
- 说明:不同 PHP 版本 的包名与 FPM 套接字路径会不同,请以实际环境为准。
方案三 源码编译扩展(高级定制)
- 适用场景:需要特定版本或编译参数(如 Swoole、memcache/memcached、Redis 等)。
- 基本步骤(以 Swoole 为例):
- 安装编译依赖:
sudo apt install gcc - 获取源码并编译安装扩展:
wget -c https://github.com/swoole/swoole-src/archive/refs/tags/v4.8.0.tar.gz tar -zvxf swoole-src-4.8.0.tar.gz cd swoole-src-4.8.0/ sudo phpize ./configure --with-php-config=/usr/local/php/bin/php-config make & & sudo make install - 启用扩展:编辑 php.ini(路径可用
find / -name php.ini查找),添加extension=swoole.so - 重启 PHP-FPM:
sudo /etc/init.d/php-fpm restart或sudo service php-fpm restart - 验证:
php -m | grep swoole或info.php查看。
- 安装编译依赖:
- 说明:编译扩展时
--with-php-config需指向实际 php-config;修改 php.ini 后务必重启 PHP-FPM 而非 Nginx 才生效。
扩展与优化清单
- 缓存与加速
- 启用 OPcache(编辑 php.ini):
修改后重启 PHP-FPM 生效。opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60
- 启用 OPcache(编辑 php.ini):
- 会话与对象缓存
- 安装 Redis 服务 与 phpredis 扩展,在应用侧使用 Redis 做会话与缓存后端,提高并发与响应速度。
- 内存对象缓存
- 部署 memcached 服务 与 memcache 扩展(注意区分 memcache 与 memcached 两个不同扩展/服务端),用于减轻数据库压力。
- 高并发与协程
- 安装 Swoole 扩展,用于 协程、异步任务、WebSocket、TCP/UDP 服务 等高性能场景。
- 数据库管理
- 安装 phpMyAdmin 便于可视化管理 MySQL/MariaDB(注意仅在内网或启用访问控制)。
常见问题与排错要点
- 修改 php.ini 后未生效:重启 PHP-FPM 而非 Nginx;使用
find / -name php.ini确认配置文件路径。 - 扩展编译失败:安装 php-dev/phpize 等构建工具,确认 php-config 路径与 PHP 版本匹配。
- 502/504 错误:检查 Nginx 与 PHP-FPM 通信方式(如 unix socket 或 127.0.0.1:9000)、FPM 是否运行、权限与 SELinux/AppArmor 限制。
- 扩展冲突或不兼容:一次只变更少量扩展,变更后重启并逐步验证;生产环境建议先在测试环境验证。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上扩展LNMP功能
本文地址: https://pptw.com/jishu/770758.html
