|NO.Z.00062|——————————|LinuxNetwork|——|Linux&LNMP&部署脚本.V02-|

一、LNMPA安装
### --- 系统需求:

~~~     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发行版只能使用1.7进行安装!
~~~     PHP 7.1.*以下版本不支持Ubuntu 19+、Debian 10等等非常新的Linux发行版!
~~~     阿里云Ubuntu 14.04系统模版有问题不要用!!!
~~~      PHP 7.4升级或安装必须CentOS 7+,Debian 8+,Ubuntu 16.04+且必须使用1.7!!!
~~~     MySQL 8.0升级或安装必须CentOS 8+,Debian 9+,Ubuntu 16.04+且必须使用1.7!!!
~~~     LNMP一键安装包 V1.7 已经在Vultr、遨游主机、bwg、LocVPS、Linode、vps2ez、
~~~     DigitalOcean、KVMLA、景文互联、BuyVM、狗云、80VPS、
~~~     腾讯云等众多VPS的CentOS 6-8、RHEL 6-8、Fedora 21-32、Debian 7-10、
~~~     Ubuntu 10.04-20.04等众多Linux发行版的32位和64位
~~~     系统上测试通过(CentOS 5,Debian 6及之前版本其官网已经结束支持无法使用,
~~~     Debian9上Apache需选2.4.26版本以上。
### --- 安装步骤:
### --- 使用putty或类似的SSH工具登陆VPS或服务器;

~~~     登陆后运行:screen -S lnmp
~~~     如果提示screen: command not found 命令不存在可以执行:
~~~     yum install screen 或 apt-get install screen安装,详细内容参考screen教程。
### --- 下载并安装LNMP一键安装包:

~~~     您可以选择使用下载版(推荐美国及海外VPS或空间较小用户使用)
~~~     或者完整版(推荐国内VPS使用,国内用户可用在下载中找国内下载地址替换),
~~~     两者没什么区别,只是完整版把一些需要的源码文件预先放到安装包里。
~~~     安装LNMP稳定版
~~~     如需无人值守安装,请使用 无人值守命令生成工具,或查看无人值守说明教程
~~~     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
~~~     如需要安装LNMPA或LAMP,将./install.sh 后面的参数lnmp替换为lnmpa或lamp即可。
~~~     同时也支持单独安装Nginx或数据库,命令为 ./install.sh nginx 或 ./install.sh db。
~~~     如需更改网站和数据库目录、自定义Nginx参数、PHP参数模块、
~~~     开启lua等需在运行./install.sh 命令前修改安装包目录下的 lnmp.conf 文件,
~~~     详细可以查看lnmp.conf文件参数说明。
~~~     如提示wget: command not found ,
~~~     使用yum install wget 或 apt-get install wget 命令安装。
~~~     如下载速度慢或无法下载请更换其他下载节点,请查看LNMP下载节点具体替换方法。
~~~     运行上述LNMP安装命令后,会出现如下提示:
~~~     目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,
~~~     需要注意的是MySQL 5.6,5.7及MariaDB 10必须在1G以上内存的更高配置上才能选择!
~~~     如仅需安装数据库在lnmp安装包目录下执行:./install.sh db
~~~     输入对应MySQL或MariaDB版本前面的序号,回车进入下一步.
~~~     设置MySQL的root密码(为了安全不输入直接回车将会设置为lnmp.org
~~~     #随机数字)如果输入有错误需要删除时,
~~~     #可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。
~~~     #输入后回车进入下一步,如下图所示:
~~~     询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,
~~~     直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,
~~~     (MySQL 5.7+版本无法关闭InnoDB),输入完成,回车进入下一步。
~~~     注意:选择PHP 7+版本时需要自行确认PHP版本是否与自己的程序兼容。
~~~     输入要选择的PHP版本的序号,回车进入下一步,选择是否安装内存优化:
~~~     可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。
~~~     如果是LNMPA或LAMP的话还会提示设置邮箱和选择Apache“Please enter 
~~~     Administrator Email Address:”,需要设置管理员邮箱,该邮箱会在报错时显示在错误页面上。
~~~     再选择Apache版本
~~~     按提示输入对应版本前面的数字序号,回车。
~~~     提示"Press any key to install...or Press Ctrl+c to cancel"后,
~~~     按回车键确认开始安装。
~~~     LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。
~~~     安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。
### --- 安装完成

~~~     如果显示Nginx: OK,MySQL: OK,PHP: OK
~~~     并且Nginx、MySQL、PHP都是running,80和3306端口都存在,
~~~     并提示安装使用的时间及Install lnmp V1.6 completed! enjoy it.的话,说明已经安装成功。
~~~     某些系统可能会一直卡在Install lnmp V1.5 completed! enjoy it.不自动退出,
~~~     可以按Ctrl+c退出。
~~~     安装完成接下来开始使用就可以了,按添加虚拟主机教程,
~~~     添加虚拟主机后可以使用sftp或ftp服务器上传网站代码,
~~~     将域名解析到VPS或服务器的IP上,解析生效即可使用。
### --- 安装失败

~~~     如果出现类似上图的提示,有一个或几个没安装成功表明安装失败!!
~~~     需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,
~~~     到LNMP支持论坛发帖注明你的系统发行版名称及版本号、32位还是64位等信息,
~~~     并将lnmp-install.log压缩以附件形式上传到论坛,
~~~     我们会通过日志查找错误,并给予相应的解决方法。
~~~     默认LNMP是不安装FTP服务器的,
~~~     如需要FTP服务器:https://lnmp.org/faq/ftpserver.html
### --- 添加、删除虚拟主机及伪静态管理
https://lnmp.org/faq/lnmp-vhost-add-howto.html
### --- eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安装
https://lnmp.org/faq/addons.html

### --- LNMP相关软件目录及文件位置
https://lnmp.org/faq/lnmp-software-list.html
### --- LNMP状态管理命令
https://lnmp.org/faq/lnmp-status-manager.html
### --- 仅安装数据库、Nginx

~~~     lnmp 1.5开始支持只安装MySQL/MariaDB数据库或Nginx
~~~     增加单独nginx安装,安装包目录下运行:./install.sh nginx 进行安装;
~~~     增加单独数据库安装,安装包目录下运行:./install.sh db 进行安装;
### --- lnmp一键安装包支持完全离线模式进行安装
~~~     CentOS系统下离线安装教程:https://www.vpser.net/manage/centos-iso-local-yum-repository.html
~~~     Debian/Ubuntu发行版下类似。

### --- 卸载lnmp一键安装包
~~~     在lnmp安装包目录下执行:./uninstall.sh 按提示选择当前环境类型,
~~~     回车确认,会删除lnmp相关程序组件,网站文件会保留,
~~~     数据库目录会另外备份到 /root 目录下,如有另外需要保存的文件请在卸载前备份。
二、常见问题
### --- 常见问题(FAQ)

~~~     常见问题关键词快速索引,也可以联系QQ 503228080 购买付费支持服务(联系请直入主题)。
### --- MySQL的root默认密码是什么?

~~~     1.5之前版本如果安装时不输入直接回车,密码为root,否则为你输入的密码。
~~~     1.5及之后版本为 lnmp.org#随机数字
~~~     开始安装LNMP时,提示error: package httpd is not installed , 
~~~     error: package php is not installed ,error: package mysql is not installed
~~~     这个不是错误信息,这个是检查系统环境,将原系统中的php、apache、mysql删除,
~~~     请不必在意这个问题。
~~~     安装LNMP时,停在 make[3]: 
~~~     Leaving directory `/root/lnmp0.4-full/mysql-5.1.44/mysql-test 不动。
~~~     #答:MySQL编译测试mysql,这个地方会消耗的时间比较长,多等一下就可以了。
### --- 没外网的内网或单机可以离线安装LNMP吗?

~~~     #答:
~~~     可以,可以参考:https://www.vpser.net/manage/centos-iso-local-yum-repository.html。
### --- 安装时经常掉线怎么办?

~~~     请参照此教程:https://www.vpser.net/manage/run-screen-lnmp.html
~~~     安装完LNMP后出现502 Bad Gateway
~~~     #解决方法:http://bbs.vpser.net/thread-1144-1-1.html
### --- 如何添加删除域名(虚拟主机)?
~~~     #解决方法:
~~~     https://lnmp.org/faq/lnmp-vhost-add-howto.html

### ---  如何修改安装默认虚拟主机的域名?
~~~     #修改方法:
~~~     编辑/usr/local/nginx/conf/nginx.conf 查找server_name,
~~~     修改为你想设置的域名,多个域名空格隔开,保存,
~~~     执行:/usr/local/nginx/sbin/nginx -s reload 重启即可。
### --- 如果忘记MySQL root密码,如何重设密码?
~~~     #LNMP脚本是提供重置mysql root密码的工具的,
~~~     请参考教程:https://lnmp.org/faq/lnmp-1-2-tools.html

### --- 如何给php安装自己需要的PHP模块?
~~~     #解决方法:
~~~     https://www.vpser.net/manage/lnmp-php-install-ext.html
### --- 如何添加自定义404错误页面?
~~~     #解决方法:
https://bbs.vpser.net/thread-2175-1-1.html

### --- 如何启动关闭Nginx/PHP-FPM/MySQL等程序?
~~~     #具体请看:
~~~     https://lnmp.org/faq/lnmp-status-manager.html
~~~     #网站目录及各种文件都分布在哪?
~~~     #具体请看:
~~~     https://lnmp.org/faq/lnmp-software-list.html
### --- MySQL/MariaDB无法远程连接,如何开启?

~~~     为了安全LNMP默认是禁止远程连接的,
~~~     开启方法:https://bbs.vpser.net/thread-13563-1-1.html
~~~     Warning: require(): open_basedir restriction i
~~~     n effect. File(/home/wwwroot/***/bootstrap/autoload.php) is
~~~     not within the allowed path(s): (/home/wwwroot/***/public/:/tmp/:/proc/) 
~~~     in /home/wwwroot/***/public/index.php on line 22类似错误如何解决?
~~~     我想读取网站目录以外的目录,如何关闭/修改LNMP/LNMPA/LAMP的放跨目录设置?
~~~     发生该类错误一般都是在Thinkphp、CI、Laravel等框架下,网站目录一般是在public下,但是public下的程序要跨目录调用public上级目录下的文件,因为LNMP默认是不允许跨目录访问的,所以需要将防跨目录访问的设置去掉,参考 https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini 进行设置,有时候这些框架类的程序也可能会提示500错误,也可能是这个问题引起的。
~~~     #MySQL启动错误:[Warning] '--skip-locking' is deprecated and will 
~~~     be removed in a future release. Please use '--skip-external-locking' instead. 
~~~     <解决方法:https://bbs.vpser.net/thread-1844-1-1.html
### --- 如何开启IMAP模块?
~~~     #解决方法:https://bbs.vpser.net/thread-1150-1-1.html

### --- IPv6服务器环境下lnmp的设置及注意事项
~~~     请参考:https://www.vpser.net/build/nginx-lnmp-ipv6.html
### --- 如何升级Nginx/PHP/MySQL/MariaDB版本?

~~~     请参考:https://lnmp.org/faq/lnmp1-2-upgrade.html
~~~     安装好后,端口正常,Ping正常,但是无法通过IP或域名访问网站 80或443端口
~~~     #解决方法:一般都是因为iptables引起的,可以通过yum或apt-get删除iptables,
~~~     或/etc/init.d/iptables stop 停止iptables。
~~~     如果想保留iptables可以按这个教程添加上80和443端口。
~~~     如果是国内的VPS或服务器不能IP直接访问很正常,国内一般都有白名单。
~~~     另外一些云服务商可能有另外的安全组或防火墙之类的设置。
### --- LNMP中如何添加伪静态?

~~~     LNMP伪静态教程
~~~     LNMPA中如何添加伪静态?
~~~     直接将Apache的伪静态文件.htaccess放在网站目录下即可。
### --- 如何禁止IP访问/禁止别人域名解析到自己的IP?
~~~     #解决方法:
~~~     这是空主机头问题 https://bbs.vpser.net/thread-1794-1-1.html

### --- 如何修改Pureftpd管理界面的登录密码?
~~~     #解决方法:
~~~     https://bbs.vpser.net/thread-2038-1-1.html
### --- Pureftpd目录的文件数限制如何解除?
~~~     #解决方法:
~~~     https://bbs.vpser.net/thread-3509-1-2.html

### --- 如何确认Memcached已经安装成功?
~~~     #解决方法:
~~~     https://bbs.vpser.net/thread-6203-1-1.html
### --- 升级到PHP 5.3.* 版本后为什么探针显示不支持Zend Optimizer了?

~~~     #答:
~~~     PHP 5.3.* 之后的版本里Zend Optimizer已经改名为Zend Guard Loader,
~~~     虽然探针无法查到,可以在phpinfo里看到,
~~~     需要Zend Optimizer的程序也是可以正常运行的,不需要担心。
### --- 如何更改网站的存放目录和MySQL的数据库存放目录?

~~~     如果还没开始安装直接修改LNMP安装包目录里lnmp.conf配置文件即可。
~~~     安装好LNMP后,如何更改网站的存放目录和MySQL的数据库存放目录?
~~~     网站存放目录的更改只需要修改对应虚拟主机的配置文件,
~~~     将里面的root 后的目录改成新的目录,然后执行:cp -a 老目录 新目录,
~~~     chown www:www -R 新目录。
~~~     (LNMP1.2的话还需要修改网站目录下的.user.ini 文件里的目录,
~~~     参考https://lnmp.org/faq/lnmp-vhost-add-howto.html 末尾“其他事项”的说明。)
~~~     MySQL目录的更改,首先需要停掉mysql服务器/etc/init.d/mysql stop,
~~~     下面新目录以/data/mysql/ 为例,
~~~     然后cp -a /usr/local/mysql/var/* /data/mysql/,
~~~     再chown mysql:mysql -R /data/mysql/ 下面再修改/etc/my.cnf ,
~~~     查找[mysqld] ,在下面加入datadir = /data/mysql/ 保存,
~~~     如果开启了innodb还需要修改innodb_data_home_dir 
~~~     和innodb_log_group_home_dir为新的/data/mysql,启动mysql。
### --- LNMP 0.9禁用了部分存在危险的PHP函数,我想开启,怎么操作?
~~~     #答:
~~~     修改/usr/local/php/etc/php.ini 查找disable_functions 将后面要使用的函数删掉,
~~~     保存,然后执行:/etc/init.d/php-fpm restart 重启后即可。

### --- LNMP 0.9 DiscuzX 通信失败或通过Socket连接SMTP无法发送邮件或wordpress Akismet 无法工作问题的解决方法?
~~~     #解决方法:
~~~     https://bbs.vpser.net/thread-7649-1-1.html
### --- MySQL无法启动,如下启动信息:Starting MySQL............?
~~~     #解决方法:
~~~     大部分是当前硬盘或分区空间不足,
~~~     具体看错误信息/usr/local/mysql/var/主机名.err 的日志,
~~~     清理日志信息的话参考:https://bbs.vpser.net/thread-8393-1-1.html

### --- LNMP 下如何安装pear?
~~~     #解决方法:
~~~     参考 https://bbs.vpser.net/thread-8721-1-1.html
### --- LNMP下如何限制Nginx每个IP的连接数和速度?
~~~     #解决方法:
~~~     参考 https://bbs.vpser.net/thread-3017-1-1.html

### --- LNMP优化教程
~~~     #解决方法:
~~~     参考 https://bbs.vpser.net/thread-8914-1-1.html
### --- LNMP模式下如何开启PHP错误日志?访问网站提示500错误如何解决? 
### --- 500错误首先就需要先开启php错误日志,通过php错误日志来排错。

~~~     LNMP下的错误需要编辑 /usr/local/php/etc/php-fpm.conf 加上
~~~     php_admin_value[error_log] = /usr/local/php/var/log/php_errors.log
~~~     php_admin_flag[log_errors] = on
~~~     或在/usr/local/php/etc/php-fpm.conf里设置,加上catch_workers_output = yes,
~~~     错误信息就会记录到php-fpm.conf里error_log设置的文件里。 上述两种方法都行,
~~~     重启php-fpm生效 同理php.ini里的display_errors也是需要在php-fpm.conf里设置的,
~~~     加上php_flag[display_errors] = On就开启了。 
~~~     有时可能错误日志文件不自动创建,
~~~     可以执行:touch /usr/local/php/var/log/php_errors.log && chown www:www /usr/local/php/var/log/php_errors.log
### --- LNMPA或LAMP模式下如何开启PHP错误日志?

~~~     LAMP和LNMPA下开启错误日志的方法是:
~~~     编辑 /usr/local/php/etc/php.ini 查找;
~~~     error_log 加上 error_log = /usr/local/php/var/log/php_errors.log 
~~~     然后重启apache生效。
~~~     有时候上面设置可能无法记录下日志,
~~~     可以尝试设置为 error_log = syslog 这样就会输出到系统日志里,
~~~     一般是 /var/log/messages 日志文件中会记录php报错的相关信息。
### --- php-fpm如何开启慢日志?

~~~     编辑/usr/local/php/etc/php-fpm.conf 里面有个request_slowlog_timeout参数,
~~~     后面设置多少秒就是执行超过设置时间的就会被记录下来,
~~~     slowlog = 后面为日志文件保存目录。
~~~     慢日志一般在/usr/local/php/var/log/slow.log
三、LNMPA
### --- LNMPA是什么?

~~~     也许大家对LAMP、LNMP比较熟悉,
~~~     LAMP代表Linux下Apache、MySQL、PHP这种网站服务器架构;
~~~     LNMP代表的是Linux下Nginx、MySQL、PHP这种网站服务器架构。
~~~     LNMPA代表的是Linux下Nginx、MySQL、PHP、Apache这种网站服务器架构,
~~~     是结合LAMP与LNMP各自的优点而产生的新的网站服务器架构。
### --- 我们为什么采用LNMPA这种架构?

~~~     采用Linux、PHP、MySQL的优点我们不必多说。
~~~     Nginx是一个小巧而高效的Linux下的Web服务器软件,与Apache相比,消耗资源更少,
~~~     支持的并发连接,更高的效率,反向代理功能效率高、静态文件处理快等。
~~~     Apache是一款老牌的Web服务器软件,在高并发时对队列的处理比FastCGI更成熟,
~~~     Apache的mod_php效率比php-cgi更高且更稳定、对伪静态支持好,
~~~     不需要转换、多用户多站点权限等方面有着更好的效果……
### --- LNMPA这种架构有什么优势?

~~~     LNMPA使用Nginx作为前端服务能够更快更及时的静态页面、js、图片等,
~~~     当客户端请求访问动态页面时由Nginx的反向代理给Apache处理,
~~~     Apache处理完再交予Nginx返回给客户端。
~~~     采用LNMPA能够更好的解决LNMP架构中由于PHP-FPM方面产生的502错误,
~~~     同时能够为提供更安全的多用户多站点环境。
### --- 如何安装LNMPA?

~~~     LNMPA目前只能新装无法再LNMP的基础上升级到LNMPA,
~~~     LNMPA安装教程 注意安装命令最后面的参数要改成lnmpa。(低于1G内存不建议使用LNMPA)
~~~     当提示安装成功后即可体验LNMPA了。
### --- LNMP一键安装包 V1.6 已经在Vultr、遨游主机、bwg、
~~~     # PhotonVPS、BudgetVM、DigitalOcean、LocVPS、Linode、DiaHosting、KVMLA、
~~~     # 景文互联、RamNode、BuyVM、80VPS、快易互联、
~~~     # 腾讯云等众多VPS的CentOS 6-7、RHEL 6-7、Fedora 21-28、Debian 7-9、
~~~     # Ubuntu 10.04-18.04的32位和64位系统上测试通过(CentOS 5,Debian 6
~~~     # 及之前版本其官网已经结束支持无法使用,Debian9上只能安装PHP7.0以上版本。
~~~      虚拟主机管理
~~~     教程地址:http://lnmp.org/faq/lnmp-vhost-add-howto.html
### --- 升级LNMPA PHP版本

~~~     教程地址:http://lnmp.org/faq/lnmp1-2-upgrade.html

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(28)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示