CentOS 7 for ARM 安装一键Lnmp失败

  背景
  
  前面把树莓派装上了centos 7,趁着国庆放假回来赶紧把服务端环境搭起来,为了方便就准备用一键lnmp快速部署一个,结果死活安装不成功…
  
  报错
  
  按照以往的经验进行安装,在我的小树莓派上安装实在是慢,毕竟需要编译,cpu不给力只能慢慢的等待编译完成,吃个午饭回来发现似乎已经完成了,然而却失败了,报错信息如下

============================== Check install ==============================Checking ...Nginx: OKMariaDB: OKError: PHP install failed.Sorry, Failed to install LNMP!Please visit  feedback errors and logs.You can download /root/lnmp-install.log from your server,and upload lnmp-install.log to LNMP Forum.

    PHP安装失败了,报错不要紧,再来一次看下啥问题,使用./upgrade.sh脚本可以重新安装,然而继续报错

+-------------------------------------------+|    Manager for LNMP, Written by Licess    |+-------------------------------------------+|                            |+-------------------------------------------+Starting LNMP...Starting nginx...  doneStarting MySQL.... SUCCESS! /bin/lnmp: line 27: /etc/init.d/php-fpm: No such file or directory======== upgrade php failed ======upgrade php log: /root/upgrade_lnmp_php.logYou upload upgrade_lnmp_php.log to LNMP Forum for help.

  发现
  
  仔细查看安装日志,发现了关键信息

configure: error: Please reinstall the libcurl distribution -    easy.h should be in /include/curl/make: *** No targets specified and no makefile found.  Stop.make: *** No rule to make target `install'.  Stop.

  这里有个error,说是“请安装libcurl”,奇怪了,我在VPS上安装的时候咋没碰到这个问题呢,难道是CentOS for 树莓派版本阉割了这个玩意?
  
  解决
  
  按照错误提示安装,尝试使用yum直接装,然而包管理器里面并没有发现这个东西,找到官网上直接下载编译安装

     CentOS 编译SVNdocx

wget https://curl.haxx.se/download/curl-7.50.3.tar.gztar zvxf curl-7.50.3.tar.gzcd curl-7.50.3./configure --enable-sharedmakemake install

  经过漫长的编译终于编译安装成功了
  
  继续尝试安装PHP,这回算是正常进行编译PHP了

Generating filesconfigure: creating ./config.statuscreating main/internal_functions.ccreating main/internal_functions_cli.c+--------------------------------------------------------------------+| License:                                                           || This software is subject to the PHP License, available in this     || distribution in the file LICENSE.  By continuing this installation || process, you are bound by the terms of this license agreement.     || If you do not agree with the terms of this license, you must abort || the installation process at this point.                            |+--------------------------------------------------------------------+Thank you for using PHP.config.status: creating php5.specconfig.status: creating main/build-defs.hconfig.status: creating scripts/phpizeconfig.status: creating scripts/man1/phpize.1config.status: creating scripts/php-configconfig.status: creating scripts/man1/php-config.1config.status: creating sapi/cli/php.1config.status: creating sapi/fpm/php-fpm.confconfig.status: creating sapi/fpm/init.d.php-fpmconfig.status: creating sapi/fpm/php-fpm.serviceconfig.status: creating sapi/fpm/php-fpm.8config.status: creating sapi/fpm/status.htmlconfig.status: creating sapi/cgi/php-cgi.1config.status: creating ext/phar/phar.1config.status: creating ext/phar/phar.phar.1config.status: creating main/php_config.hconfig.status: executing default commands

  经过漫长的编译,终于…..
  
  编译完成了,但是…

+-------------------------------------------+|    Manager for LNMP, Written by Licess    |+-------------------------------------------+|                            |+-------------------------------------------+Starting LNMP...Starting nginx...  doneStarting MySQL...... SUCCESS! Starting php-fpm Failed loading /usr/local/zend/ZendGuardLoader.so:  /usr/local/zend/ZendGuardLoader.so: cannot open shared object file: No such file or directory done======== upgrade php completed ======

似乎还是有些问题,不过问题不大,看起来像是某个扩展丢了,到这个目录查看下到底有没有这个东西

[root@rpi2 ~]# ls /usr/local/zend/                   ZendGuardLoader.so

  发现是有这个东西,真是神奇,通过搜索发现lnmp论坛上还真有人遇到过这个问题,帖子地址 ,作者说是系统dns的问题,应该是下载回来的东西损坏了,先不管,可以直接在php.ini里面注释掉这个,也或者直接去下载完整的重新放进去就可以了。
  
  后记
  
  重新从zend官方下载了32位的so文件放进去发现依然不行,尝试重新安装PHP的默认版本5.4.45,现在还在编译…
  
  更新
  
  经过一番波折终于搞定了,编译完PHP之后发现还是失败了,错误信息如下

+-------------------------------------------+|    Manager for LNMP, Written by Licess    |+-------------------------------------------+|                            |+-------------------------------------------+Starting LNMP...Starting nginx...  doneStarting MySQL..... SUCCESS! Starting php-fpm /etc/init.d/php-fpm:行57: /usr/local/php/sbin/php-fpm: 没有那个文件或目录 failed======== upgrade php failed ======upgrade php log: /root/upgrade_lnmp_php.logYou upload upgrade_lnmp_php.log to LNMP Forum for help.显示的是找不到php-fpm这个文件,于是我想查找下这个文件在哪$ whereis php-fpmphp-fpm: /usr/bin/php-fpm /usr/sbin/php-fpm /etc/php-fpm.conf /etc/php-fpm.d /usr/share/man/man8/php-fpm.8.gz通过查找发现确实不在那个目录下面,这个简单,直接从/usr/sbin下面把php-fpm复制过去就好了
$ cd /usr/local/php/$ lsetc  php-fpm$ sudo mkdir sbin$ sudo mv php-fpm sbin/$ lnmp restartError: You must be root to run this script![kbdancerrpi@rpi2 php]$ sudo lnmp restart+-------------------------------------------+|    Manager for LNMP, Written by Licess    |+-------------------------------------------+|                            |+-------------------------------------------+Stoping LNMP...Stoping nginx...  doneShutting down MySQL. SUCCESS! Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ?Starting LNMP...Starting nginx...  doneStarting MySQL..... SUCCESS! Starting php-fpm [01-Jan-1970 13:18:55] ERROR: failed to open error_log (/usr/local/php/var/log/php-fpm.log): No such file or directory (2)[01-Jan-1970 13:18:55] ERROR: failed to post process the configuration[01-Jan-1970 13:18:55] ERROR: FPM initialization failed failed

没错,继续报错,根据提示来

$ cd /usr/local/php/$ sudo mkdir var$ cd var/$ sudo mkdir log$ cd log/$ ls$ sudo touch php-fpm.log$ sudo lnmp restart+-------------------------------------------+|    Manager for LNMP, Written by Licess    |+-------------------------------------------+|                            |+-------------------------------------------+Stoping LNMP...Stoping nginx...  doneShutting down MySQL. SUCCESS! Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ?Starting LNMP...Starting nginx...  doneStarting MySQL..... SUCCESS! Starting php-fpm [01-Jan-1970 13:20:18] ERROR: Unable to create the PID file (/usr/local/php/var/run/php-fpm.pid).: No such file or directory (2)[01-Jan-1970 13:20:18] ERROR: FPM initialization failed failed

依然报错,继续

$ cd ..$ lslog$ sudo mkdir run$ sudo lnmp restart+-------------------------------------------+|    Manager for LNMP, Written by Licess    |+-------------------------------------------+|                            |+-------------------------------------------+Stoping LNMP...Stoping nginx...  doneShutting down MySQL. SUCCESS! Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ?Starting LNMP...Starting nginx...  doneStarting MySQL..... SUCCESS! Starting php-fpm  done

OK,终于搞定了,真是曲折啊,估计lnmp作者没有测试过lnmp跑在ARM上会不会出问题,希望能够改进…

以上就是CentOS 7 for ARM 安装一键Lnmp失败的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/189343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
5s强制恢复出厂设置在哪里(强制还原最简单的方法)
上一篇 2026年9月6日 14:21:51
uc浏览器如何进入阅读模式 uc浏览器进入阅读模式怎么设置
下一篇 2026年9月6日 14:26:45

相关推荐

  • Linux如何查看sudo执行的历史记录

    Linux如何查看sudo执行的历史记录Linux如何查看sudo执行的历史记录Linux如何查看sudo执行的历史记录Linux如何查看sudo执行的历史记录

    要追溯sudo执行的命令,需查看系统日志或配置sudo日志;在Ubuntu/Debian中查/var/log/auth.log,CentOS/RHEL中查/var/log/secure,或使用journalctl _COMM=sudo筛选;通过配置/etc/sudoers中的Defaults log…

    2026年9月21日 用户投稿
    300
  • CentOS安装Mysql8.0图文教程[通俗易懂]

    CentOS安装Mysql8.0图文教程[通俗易懂]CentOS安装Mysql8.0图文教程[通俗易懂]CentOS安装Mysql8.0图文教程[通俗易懂]CentOS安装Mysql8.0图文教程[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。 本文将为您提供一个详细的CentOS通过yum安装Mysql8.0的图文教程,并指导您如何配置和运行Mysql,使其能够被外部访问。 首先,我们需要从官网下载对应的rpm包,并复制下载链接。 接着,执行以下命令进行下载: # 先进入到local文件夹cd u…

    2026年9月21日 用户投稿
    100
  • Linux如何配置NAT实现端口映射

    Linux如何配置NAT实现端口映射Linux如何配置NAT实现端口映射Linux如何配置NAT实现端口映射Linux如何配置NAT实现端口映射

    首先启用IP转发,再通过iptables配置DNAT实现端口映射,将外部请求重定向到内网主机,如将公网2222端口映射至192.168.1.100的22端口;若需回包正确返回,还需配置MASQUERADE或SNAT规则;最后保存规则确保重启生效,并确认防火墙允许相应端口通信。 在Linux中配置NA…

    2026年9月20日 用户投稿
    000
  • Linux如何卸载软件并清理依赖包

    Linux如何卸载软件并清理依赖包Linux如何卸载软件并清理依赖包Linux如何卸载软件并清理依赖包Linux如何卸载软件并清理依赖包

    卸载软件并清理依赖可释放空间和保持系统整洁。Ubuntu/Debian使用sudo apt purge 软件名彻底卸载,sudo apt autoremove清理依赖;CentOS/RHEL/Fedora使用sudo dnf remove 软件名卸载,sudo dnf autoremove清理依赖;…

    2026年9月20日 用户投稿
    000
  • Linux如何解决rpm依赖关系错误

    Linux如何解决rpm依赖关系错误Linux如何解决rpm依赖关系错误Linux如何解决rpm依赖关系错误Linux如何解决rpm依赖关系错误

    使用YUM可自动解决RPM依赖,通过yum localinstall安装本地包或yum install自动处理依赖;2. 较新系统推荐使用DNF,命令为dnf install 包名.rpm,依赖解析更高效;3. 无法使用YUM/DNF时可手动处理,通过rpm -ivh查看缺失依赖,再下载并按序安装;…

    2026年9月20日 用户投稿
    000
  • 如何配置mysql多实例环境

    配置MySQL多实例需安装MySQL后创建独立的数据、日志和配置文件目录,分别初始化两个实例并记录临时密码,为每个实例编写独立my.cnf配置文件,使用mysqld_safe启动各实例,通过socket或端口连接并修改root密码,可选配置systemd服务实现开机自启与便捷管理。 配置 MySQL…

    2026年9月20日
    200
  • Linux怎么打包和构建自定义rpm包

    Linux怎么打包和构建自定义rpm包Linux怎么打包和构建自定义rpm包Linux怎么打包和构建自定义rpm包Linux怎么打包和构建自定义rpm包

    答案:创建自定义RPM包需先安装rpm-build和rpmdevtools,使用rpmdev-setuptree建立目录结构,编写SPEC文件定义软件信息,在SOURCES中放置源码归档,通过rpmbuild -ba构建RPM包,最终在RPMS目录生成可安装的RPM文件并测试安装。 打包和构建自定义…

    2026年9月20日 用户投稿
    000
  • Linux下mysql安装步骤有哪些

    答案:Linux下安装MySQL可使用APT或YUM/DNF包管理器。Ubuntu/Debian执行sudo apt update和install mysql-server;CentOS/RHEL先添加官方仓库,再yum install mysql-server;安装后启动服务并运行mysql_se…

    2026年9月20日
    000
  • Linux如何给用户分配磁盘配额

    答案:Linux通过quota工具为用户设置磁盘空间和文件数量限制。首先安装quota工具,编辑/etc/fstab添加usrquota和grpquota选项,重新挂载文件系统;运行quotacheck创建配额数据库,使用quotaon启用配额;通过edquota -u设置用户配额,包括块和inod…

    2026年9月20日
    000
  • huARdb:单细胞水平克隆型-转录组分析的人类抗原受体数据库

    前言 摘要 人类的适应性免疫系统是免疫反应的一个重要分支,负责识别和清除特定抗原。通过与特定抗原的结合,适应性免疫系统被激活,并能保存对目标抗原的长期免疫记忆。因此,具有高特异性的长期免疫记忆能够在后续抗原暴露中引发更强烈的反应。适应性免疫反应的激活需要T细胞或B细胞上的受体识别抗原,这些受体分别称…

    2026年9月20日
    000
  • 如何在Linux中进程冻结 Linux cgroup freezer使用

    Linux中使用cgroup freezer可精细冻结进程,需先挂载freezer子系统,创建cgroup目录,将进程PID写入tasks文件,再通过写FROZEN到freezer.state实现冻结,THAWED恢复,操作需root权限,注意v1与v2版本路径及控制方式差异。 Linux中要冻结进…

    2026年9月20日
    100
  • 在Linux中如何通过命令行安装Java JDK

    在Linux中安装Java JDK可通过包管理器或手动安装,推荐使用系统自带工具安装OpenJDK。对于Ubuntu/Debian系统,先更新软件包列表:sudo apt update,再搜索可用版本:apt search openjdk-*,然后安装指定版本如OpenJDK 17:sudo apt…

    2026年9月20日
    000
  • Linux怎么更新所有已安装的软件包

    Linux怎么更新所有已安装的软件包Linux怎么更新所有已安装的软件包Linux怎么更新所有已安装的软件包Linux怎么更新所有已安装的软件包

    答案:不同Linux发行版使用不同包管理器更新软件包。Ubuntu/Debian用sudo apt update && sudo apt upgrade -y;CentOS/RHEL/Fedora用dnf或yum update -y;openSUSE用zypper refresh和u…

    2026年9月20日 用户投稿
    200
  • Linux怎么修改root用户密码

    Linux怎么修改root用户密码Linux怎么修改root用户密码Linux怎么修改root用户密码Linux怎么修改root用户密码

    Linux修改root用户密码,通常我们直接用 passwd 命令就行。如果你已经以root身份登录,直接输入 passwd 回车,然后按提示输入新密码并确认即可。如果你是普通用户但拥有sudo权限,那么使用 sudo passwd root 就能完成这项操作。但如果是不幸忘记了root密码,那过程…

    2026年9月20日 用户投稿
    200
  • Linux怎么重新安装损坏的软件包

    Linux怎么重新安装损坏的软件包Linux怎么重新安装损坏的软件包Linux怎么重新安装损坏的软件包Linux怎么重新安装损坏的软件包

    根据发行版选择对应包管理器重新安装软件包可修复损坏问题。例如,Debian/Ubuntu使用“sudo apt install –reinstall 包名”并可运行“sudo apt –fix-broken install”修复依赖;CentOS 7及以前用“sudo yum…

    2026年9月13日 用户投稿
    100
  • Linux如何使用ACL设置精细权限

    Linux中ACL可实现更细粒度的文件权限控制,通过setfacl和getfacl命令设置和查看权限,需安装acl包并在支持ACL的文件系统上使用,权限掩码(mask)限制实际生效权限,默认ACL可实现继承,ACL优先级高于传统组权限但不覆盖文件所有者权限。 Linux 使用 ACL 可以更细致地控…

    2026年9月12日
    000
  • 【程序源代码】docker精选操作

    【程序源代码】docker精选操作【程序源代码】docker精选操作【程序源代码】docker精选操作【程序源代码】docker精选操作

    01 【总体介绍】 1、简介 Docker是一个开源的应用容器引擎,是一种轻量级的容器技术。Docker支持将软件编译成镜像,然后在镜像中配置各种软件,将其发布出去,其他用户可以直接使用这个镜像。运行中的镜像称为容器,容器的启动速度非常快。 2、核心概念 Docker主机(Host):安装了Dock…

    2026年9月12日 用户投稿
    100
  • Linux如何列出所有已安装的软件包

    不同Linux发行版使用不同包管理器查看已安装软件包。2. Debian/Ubuntu用apt list –installed或dpkg -l;CentOS/RHEL/Fedora用dnf list installed、yum list installed或rpm -qa;openSUS…

    2026年9月12日
    400
  • Linux如何遍历目录树tree命令使用方法

    Linux如何遍历目录树tree命令使用方法Linux如何遍历目录树tree命令使用方法Linux如何遍历目录树tree命令使用方法Linux如何遍历目录树tree命令使用方法

    tree命令用于以树状图展示目录结构,需安装:Ubuntu用sudo apt install tree,CentOS用sudo yum install tree,Fedora用sudo dnf install tree;基本用法为tree,可加-L限制层级、-d仅显示目录、-f显示完整路径、-a包含…

    2026年9月12日 用户投稿
    200
  • Linux怎么排查网络配置文件错误

    Linux怎么排查网络配置文件错误Linux怎么排查网络配置文件错误Linux怎么排查网络配置文件错误Linux怎么排查网络配置文件错误

    首先检查配置文件语法和路径是否正确,确认IP、子网掩码、网关、DNS及设备名无误,注意YAML格式缩进;接着重启网络服务如systemctl restart NetworkManager或netplan apply;然后用ip a、ip route、ping等命令验证网络状态;最后通过journal…

    2026年9月12日 用户投稿
    100

发表回复

登录后才能评论
关注微信