LNMP 相关

   Updated: 2020-10-25 02:25       LNMP 相关无评论

LNMP 是一个用 Linux Shell 编写的用于在 CentOS/RHEL/Fedora/Debian/Ubuntu 系统上搭建生产环境的 Shell 程序。LNMP = Linux/Nginx/MySQL/PHP

以下针对 LNMP v1.7 版本

我使用的 Vultr $5.00/mo 实例的配置如下:

  • CPU: 1 vCore/RAM: 1024 MB/Storage: 25 GB SSD/OS: CentOS 7 x64 with Docker
  • 主要使用 WordPress,附带使用 frp、Fail2mail

经我测试,以上配置支持到的 LNMP 各组件的最高版本如下,再高的话,内存大小不支持或者无法正常安装了:

  • Nginx:1.18.0
  • PHP:7.3.22
  • MySQL:5.7.30
  • phpMyAdmin:4.9.7

LNMP 系统要求及安装

系统要求

  • CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux 发行版
  • 需要 5GB 以上硬盘剩余空间,MySQL 5.7、MariaDB 10 至少 9GB 剩余空间
  • 需要 128MB 以上内存(128MB 小内存 VPS、Xen 需有 SWAP,OpenVZ 至少要有 128MB 以上的 vSWAP 或突发内存),注意小内存请勿使用 64 位系统!
  • 安装 MySQL 5.6 或 5.7 及 MariaDB 10 必须 1G 或以上内存,更高版本至少要 2G 内存!
  • 安装 PHP 7 及以上版本必须 1G 或以上内存!
  • VPS 或服务器必须设置好可用的 yum 或 apt-get 源并确保能正常工作,离线安装需要增加 CheckMirror=n 参数!
  • Linux 下区分大小写,输入命令时请注意!
  • 如有通过 yum 或 apt-get 安装的 MySQL/MariaDB 请自行备份数据等相关文件!
  • CentOS 5、Debian 6 及之前版本其官网已经结束支持无法使用!
  • Ubuntu 18+、Debian 9+、Mint 19+、Deepin 15.7+ 及所有新的 Linux 发行版只能使用 LNMP 1.7!
  • PHP 7.1.* 以下版本不支持 Ubuntu 19+、Debian 10 等等非常新的 Linux 发行版!
  • 阿里云 Ubuntu 14.04 系统模版有问题不要用!!!
  • PHP 7.4 升级或安装必须 CentOS 7+、Debian 8+、Ubuntu 16.04+ 且必须使用 LNMP 1.7!!!
  • MySQL 8.0 升级或安装必须 CentOS 8+、Debian 9+、Ubuntu 16.04+ 且必须使用 LNMP 1.7!!!

安装步骤

SSH 到 VPS,运行如下命令:

wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp

然后根据提示安装即可。

LNMP 各组件升级

注意:以下操作均必须在 lnmp 安装包压缩包解压后的目录里运行,如 lnmp1.7 解压后的目录就是 lnmp1.7 或 lnmp1.7-full。

Nginx

执行:./upgrade.sh nginx,按提示输入 Nginx 的版本号(访问 https://nginx.org/en/download.html 获取 Nginx 的版本号。如:1.18.0)后回车,再次回车确认即可开始升级 Nginx。Nginx 升级为平滑升级,升级过程不影响 Nginx 的运行。

MySQL

虽然脚本会备份数据,但依然建议先自行备份数据库!

执行:./upgrade.sh mysql,按提示先输入 MySQL 的 root 密码进行验证,验证通过后输入 MySQL 的版本号(访问 https://dev.mysql.com/downloads/mysql/ 获取 MySQL 的版本号。如:5.7.30)后回车,提示是否启用 InnDB,如要启用 InnoDB 或不确定直接按回车,再次回车确认即可开始升级 MySQL。

将会在 /root 目录下生成 mysql_upgrade+日期.log 的日志文件,供出错时排查。

PHP

执行:./upgrade.sh php,按提示输入 PHP 的版本号(访问 https://www.php.net/downloads.php 获取 PHP 的版本号。如:7.3.22)后回车,再次回车确认即可开始升级 PHP。

升级完 PHP 后如果 phpMyAdmin 无法使用,需要升级 phpMyAdmin 版本至对应于 PHP 和 MySQL 的版本。

phpMyAdmin

执行:./upgrade.sh phpmyadmin 按提示输入 phpMyAdmin 的版本号(访问 https://www.phpmyadmin.net/downloads 获取 phpMyAdmin 的版本号。如:4.9.7)后回车,再次回车确认即可开始升级 phpMyAdmin。

升级失败的恢复

Nginx

/usr/local/nginx/sbin/nginx.+日期 的文件重命名为 nginx,然后再启动 nginx lnmp nginx start 即可恢复 Nginx。

MySQL

/usr/local/oldmysql+日期 目录下的 init.d.mysql.bak.+日期 文件拷贝到 /etc/init.d/ 目录下并重命名为 mysql,及将 my.cnf.bak.+日期 文件拷贝到 /etc/ 目录下并重命名为 my.cnf,并将  /usr/local/oldmysql+日期 目录重命名为 mysql 即可恢复 MySQL。

PHP

/usr/local/oldphp+日期 目录下的 init.d.php-fpm.bak.+日期 文件拷贝到 /etc/init.d/ 目录下重命名为 php-fpm ,并将 /usr/local/oldphp+日期 目录重命名为 php 即可恢复 PHP。

phpMyAdmin

参考链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注