博主开始使用 VPS 建 WordPress 博客就是使用 lnmp.org 搭建 LNMP 建站环境,后来发现 OneinStack 升级会稍方便,就换过去了。军哥的 lnmp.org 也很不错,稳定,时隔多年这里重新体验一次顺便记录一下。
LNMP lnmp.org 简介
官网:https://lnmp.org/,目前最新稳定版 LNMP 1.8,测试版 LNMP 1.9,一般每年 6 月 1 号会发布最 LNMP 新稳定版本。比如:如无意外,2022 年 6 月 1 日会发布 LNMP 1.9 稳定正式版。
「CentOS Stream 8 使用 lnmp.org 搭建 LNMP 建站环境小记:https://ae.mba/37」LNMP 一键安装包是什么?
LNMP 一键安装包是一个用 Linux Shell 编写、可以为 CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS 或独立主机安装 LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP) 生产环境的 Shell 程序。
LNMP 一键安装包优势和功能特点
无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对配置自动优化。
支持自定义 Nginx、PHP 编译参数及网站和数据库目录、支持生成 Let's Encrypt 证书、LNMP 模式支持多 PHP 版本、支持单独安装 Nginx/MySQL/MariaDB/Pureftpd 服务器。
「CentOS Stream 8 使用 lnmp.org 搭建 LNMP 建站环境小记:https://ae.mba/37」提供一些实用的辅助工具如:虚拟主机管理、FTP 用户管理、Nginx、MySQL/MariaDB、PHP 升级、安装常用缓存组件 Redis/Xcache 等、重置 MySQL root 密码、502 自动重启、日志切割、SSH 防护 DenyHosts/Fail2Ban、备份等许多实用脚本。
CentOS Stream 8 使用 lnmp.org 一键搭建 LNMP 建站环境
Vultr 上开了一台 1G 内存 VPS 测试,CentOS Stream 8 系统,先把 screen 安装上,系统也更新一下:
yum -y install epel-release
yum -y install screen
dnf -y update
生成一键 LNMP 命令
lnmp.org 也支持无人值守安装,可以到 https://lnmp.org/auto.html 生成安装命令。
「CentOS Stream 8 使用 lnmp.org 搭建 LNMP 建站环境小记:https://ae.mba/37」比如选择 LNMP 架构,MySQL 5.6,启用 InnoDB,设置数据库 root 密码,PHP 8.0:
会生成如下安装命令:
「CentOS Stream 8 使用 lnmp.org 搭建 LNMP 建站环境小记:https://ae.mba/37」wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && LNMP_Auto="y" DBSelect="3" DB_Root_Password="OFIGljsd4nmEj883r" InstallInnodb="y" PHPSelect="11" SelectMalloc="1" ./install.sh lnmp
温馨提示:实际环境注意保护好数据库 root 密码。
一键 LNMP 命令安装 lnmp
安装时间与 VPS 性能密切相关,建议开 screen 安装,避免断网中断安装。执行上面生成的命令,如:
screen -S lnmp
wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && LNMP_Auto="y" DBSelect="3" DB_Root_Password="OFIGljsd4nmEj883r" InstallInnodb="y" PHPSelect="11" SelectMalloc="1" ./install.sh lnmp
喝喝茶,喝喝咖啡,喝口可口可乐……静待安装完成。测试安装足足用了 67 分钟……
安装成功一般会有:Nginx: OK、MySQL: OK、PHP: OK、PHP-FPM: OK 和 Install lnmp V1.8 completed! enjoy it. 字样提示。
一键 LNMP 命令 开启 / 安装 Opcache
PHP 7 以上建议开启 / 安装 Opcache,性能提升明显。LNMP 1.3 以上版本默认已安装但未启用,进入 lnmp 解压后目录执行如下命令即可开启(安装):
./addons.sh install opcache
注意:Opcache 与 eAccelerator 冲突,脚本会卸载 eAccelerator 后再安装 Opcache,回车确认后就会自动安装或开启 Opcache。
一键 LNMP 命令 开启 / 安装 memcached
WordPress 博客的话,可以把 Memcached 也安装上。
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。
进入 lnmp 解压后的目录,执行命令安装:
./addons.sh install memcached
可以根据自己的需求选择 php-memcache 或 php-memcached 扩展,功能上 php-memcached 更强大一些。建议安装 php-memcached(带 d)。
安装过程中可能会出现如下错误:
fatal: unable to access 'https://github.com.cnpmjs.org/php-memcached-dev/php-memcached/': Could not resolve host: github.com.cnpmjs.org
貌似脚本识别 VPS ip 所在地出错,选择了镜像地址无法访问……
简单解决方法是修改 /root/lnmp1.8/include/memcached.sh 文件,把如下代码:
Get_Country
if [ "${country}" = "CN" ]; then
git clone https://github.com.cnpmjs.org/php-memcached-dev/php-memcached php-memcached-src
cd php-memcached-src
else
git clone https://github.com/php-memcached-dev/php-memcached php-memcached-src
cd php-memcached-src
fi
改成:
#Get_Country
#if [ "${country}" = "CN" ]; then
# git clone https://github.com.cnpmjs.org/php-memcached-dev/php-memcached php-memcached-src
# cd php-memcached-src
#else
git clone https://github.com/php-memcached-dev/php-memcached php-memcached-src
cd php-memcached-src
#fi
然后重新安装即可。
LNMP 如何升级 Nginx 和 PHP?
LNMP 1.2、1.3、1.4、1.5 及更高版本已经包含 Nginx、MySQL/MariaDB、PHP、PHPMyAdmin 升级脚本,可以快速升级 Nginx、PHP 等。
LNMP Nginx 升级脚本
进入 lnmp 解压目录,如:cd /root/lnmp1.8
执行:./upgrade.sh nginx 按提示输入版本号后回车(访问 http://nginx.org/en/download.html 可查找 nginx 最新版本号和以往旧版本号。如:1.20.2),再次回车确认即可开始升级 Nginx。Nginx 升级为平滑升级,升级过程不影响 nginx 运行(网站/博客可正常访问)。
如升级失败,将「/usr/local/nginx/sbin/nginx. 日期」的文件重命名为 nginx ,然后再启动 nginx 即可。
LNMP PHP 升级脚本
升级 PHP 前,请确认网站程序是否支持升级到的 PHP 版本,防止升级到网站程序不兼容的 PHP 版本。
进入 lnmp 解压目录,如:cd /root/lnmp1.8
执行:./upgrade.sh php 升级(到 http://www.php.net/downloads.php 获取版本号,输入版本号,如 8.0.16)回车,再次回车确认即可开始升级。
温馨提示:建议不要跨大版本升级,比如 8.0.8 可以升级到 8.0.16,但是不要升级到 8.1.2。PHP 升级开始会停掉 nginx、php 等,所以升级过程中网站将无法访问。
并且,php 升级完成,Opcache 和 memcached 等需要重新安装 / 开启。
嗯,还是那个味道~
如果升级失败要恢复原 PHP,将 /usr/local/ 下「oldphp 日期」的目录重命名为 php 并将 /usr/local/oldphp 日期/init.d.php-fpm.bak. 日期 文件拷贝到 /etc/init.d/ 目录下重命名为 php-fpm 即可恢复。
-- 完 --
解压及网盘密码 1024
Comments:0