moeYuiYui / 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程序。
https://lnmp.org
Other
94 stars 48 forks source link

LNMP一键安装包 魔改版 - Readme

LNMP一键安装包是什么?

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/Kali/UOS/银河麒麟/openEuler/Anolis OS Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。

魔改版和原版有什么区别?

LNMP一键安装包有哪些功能?

支持自定义Nginx、PHP编译参数及网站和数据库目录、支持生成Let's Ecrypt/ZeroSSL/BuyPass免费SSL证书、支持无人值守、LNMP模式支持多PHP版本、支持单独安装Nginx/MySQL/MariaDB/Pureftpd服务器,同时提供一些实用的辅助工具如:虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常见PHP模块exif、fileinfo、ldap、bz2、sodium、imap和swoole的一键安装、常用缓存组件Redis/Xcache等的安装、重置MySQL root密码、502自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本。

LNMP安装

安装前确认已经安装git命令,如提示git: command not found ,使用yum install gitapt-get install git 命令安装。 为防止掉线等情况,建议使用screen,可以先执行:screen -S lnmp 命令后,再执行LNMP安装命令: git clone https://github.com/moeYuiYui/lnmp.git && cd lnmp && ./install.sh {lnmp|lnmpa|lamp} 或者从release里下载lnmp-lua-zend.tar.gz tar -xzf lnmp-lua-zend.tar.gz && cd lnmp && ./install.sh {lnmp|lnmpa|lamp}

如断线可使用screen -r lnmp 恢复。详细安装教程参考:https://lnmp.org/install.html

常用功能说明

以下操作需在lnmp安装包目录下执行,如lnmp2.1

自定义参数

lnmp.conf配置文件,可以修改lnmp.conf自定义下载服务器地址、网站/数据库目录及添加nginx模块和php编译参数;不论安装升级都会调用该文件里的设置(如果修改了默认的参数建议备份此文件);

FTP服务器

执行:./pureftpd.sh 安装,可使用 lnmp ftp {add|list|del} 进行管理。

升级脚本:

执行:./upgrade.sh 按提示进行选择 也可以直接带参数:./upgrade.sh {nginx|mysql|mariadb|php|phpa|m2m|phpmyadmin}

扩展插件

执行: ./addons.sh {install|uninstall} {eaccelerator|xcache|memcached|opcache|redis|apcu|imagemagick|ioncube|exif|fileinfo|ldap|bz2|sodium|imap|swoole} 以下为扩展插件安装使用说明

缓存加速:

图像处理:

解密:

其他常用脚本:

无人值守安装

无人值守命令生成工具:https://lnmp.org/auto.html

变量名 变量值含义
LNMP_Auto 启用无人值守自动安装
DBSelect 数据库版本序号
DB_Root_Password 数据库root密码(不可为空),不安装数据库时可不加该参数
InstallInnodb 是否安装Innodb引擎,y 或 n ,不安装数据库时可不加该参数
PHPSelect PHP版本序号
SelectMalloc 内存分配器版本序号
ApacheSelect Apache版本序号,仅LNMPA和LAMP模式需添加该参数
ServerAdmin 管理员邮箱,仅LNMPA和LAMP模式需添加该参数
RHELRepo (非必选)设为 local 时,RHEL使用本地源,不设置源为163 centos源
CheckMirror (非必选)安装时不检查下载镜像,方便无网络安装
Bin (非必选)MySQL 5.7-8.0/MariaDB使用二进制方式安装,y 或 n,默认使用二进制方式安装,离线默认使用源码编译安装
MySQL版本 对应序号 PHP版本 对应序号 内存分配器 对应序号 Apache版本 对应序号
MySQL 5.1 1 PHP 5.2 1 不安装 1 Apache 2.2 1
MySQL 5.5 2 PHP 5.3 2 Jemalloc 2 Apache 2.4 2
MySQL 5.6 3 PHP 5.4 3 TCMalloc 3
MySQL 5.7 4 PHP 5.5 4
MySQL 8.0 5 PHP 5.6 5
MariaDB 5.5 6 PHP 7.0 6
MariaDB 10.4 7 PHP 7.1 7
MariaDB 10.5 8 PHP 7.2 8
MariaDB 10.6 9 PHP 7.3 9
MariaDB 10.11 10 PHP 7.4 10
MySQL 8.4 11 PHP 8.0 11
不安装数据库 0 PHP 8.1 12
PHP 8.2 13
PHP 8.3 14

wget http://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -cO lnmp2.0.tar.gz && tar zxf lnmp2.0.tar.gz && cd lnmp2.0

然后设置无人值守参数并安装:

LNMP_Auto="y" DBSelect="2" DB_Root_Password="lnmp.org" InstallInnodb="y" PHPSelect="5" SelectMalloc="1" ./install.sh lnmp

(如果缺失参数的话还是会有要求选择缺失选项的提示)。

卸载

状态管理

虚拟主机管理

相关图形界面

LNMP相关目录文件

目录位置

配置文件:

lnmp.conf 配置文件参数说明

参数名称 参数介绍 例子
Download_Mirror 下载镜像 一般默认,如异常可修改下载镜像
Nginx_Modules_Options 添加Nginx模块或其他编译参数 --add-module=/第三方模块源码目录
PHP_Modules_Options 添加PHP模块或编译参数 --enable-exif 有些模块需提前安装好依赖包
MySQL_Data_Dir MySQL数据库目录设置 默认/usr/local/mysql/var
MariaDB_Data_Dir MariaDB数据库目录设置 默认/usr/local/mariadb/var
Default_Website_Dir 默认虚拟主机网站目录位置 默认/home/wwwroot/default
Enable_Nginx_Openssl Nginx是否使用新版openssl 默认 y,建议不修改,y是启用并开启到http2
Enable_PHP_Fileinfo 是否安装开启php的fileinfo模块 默认n,根据自己情况而定,安装启用的话改成 y
Enable_Nginx_Lua 是否为Nginx安装lua支持 默认n,安装lua可以使用一些基于lua的waf网站防火墙
Enable_Ngx_FancyIndex 是否按fancyIndex模块 默认n,fancyIndex是一个第三方目录索引模块
Enable_Swap 是否添加SWAP 默认y,当内存不足时可提高编译安装成功概率
Enable_PHP_Exif 是否添加PHP exif模块 默认n,更改为y即安装
Enable_PHP_Fileinfo 是否添加PHP fileinfo模块 默认n,更改为y即安装,需1GB以上内存
Enable_PHP_Ldap 是否添加PHP ldap模块 默认n,更改为y即安装
Enable_PHP_Bz2 是否添加PHP bz2模块 默认n,更改为y即安装
Enable_PHP_Sodium 是否添加PHP sodium模块,PHP 7.2以下不支持lnmp.conf开启安装 默认n,更改为y即安装
Enable_PHP_Imap 是否添加PHP imap模块 默认n,更改为y即安装

技术支持

技术支持论坛:https://bbs.lnmp.com/forum-25-1.html