文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

(一)专题介绍:移动端安卓手机改造成linux服务器&linux服务器中安装软件、部署前后端分离项目实战

2023-09-08 15:27

关注

快捷目录


总体概述: 本篇文章隶属于“手机改造服务器 部署前后端分离项目”系列专栏,该专栏将分多个板块,每个板块独立成篇 来详细记录:手机(安卓)改造成个人服务器(Linux)、Linux中安装软件、配置开发环境、部署JAVA+VUE+MySQL5.7前后端分离项目,以及内网穿透实现外网访问等全过程。具体内容见各篇介绍。
~
本文目的:本文旨在分享如何实现将一部手机改造成linux服务器,改造后的Linux中软件的安装,以及 整个过程中碰到的问题和解决方案,重点关注点在于记录实现过程中踩到的坑。所以大家可以根据自己的情况,选择性阅读本专栏的各篇文章及内容。


写前小插曲:
相信大家平时一般都是通过购买服务器、域名来做点事情,不出意外 俺之前也是zai样子搞,但是想想每次都得掏钱买服务器才能搞事情,我就肉疼万分哈哈哈。其实我之前就一直有想法将自己的手机整成一个Linux服务器,体验一把不用掏钱就能拥有一台自己的服务器,然后在上面尽情造作的快感比如在上面部署个项目啊什么的。你不妨跟我一起想一下这个场景:有一台属于自己的个人服务器随身携带着,时不时的远程连接上操作一番是不是贼爽,重点是既提升了Linux技能,又掌握了Linux平台下安装软件、开发与部署项目等等,是不是想想就很nice!

咳咳,言归正题,想法归想法但光想也没鸟用。身为一名普通打工仔,平时一直忙于给老板打工从不敢摸鱼,生怕老板的宝马变青桔 hahaha…所以抽不出身来落地实现这个想法。这不最近挤啊挤终于海绵里挤出了一丢丢时间,一不小心就将我的手机改造成了一台Linux服务器(Debian Linux)。对,你没听错,这不是在做梦,是真的实现并体验了一番!当然了,至于怎么整成Linux不是本文的重点内容,本文重点在于记录一下移动端手机改造成Linux服务器后,Linux中安装软件过程中踩到的各种坑,同时总结整理出正确可行的方法,分享出自己的心得,希望能帮助到更多有同样需求的朋友少走弯路,快速实现目的,从而腾出更多的时间来做自己喜欢的事情,比如喝着java享受生活。


本栏目专题涉及到的关键词主要有:Linux 、Java、MySQL、Nginx、Redis等,但对于它们及相关的技术在此就不作介绍了,姑且认为读者已具备并掌握相应技术,本文的主角是Linux与MySQL。

Linux: 我们都知道Linux是一套免费使用和自由传播的类Unix操作系统,因此有许多分支发行版及衍生版本。Linux支持多用户、多任务、多线程和多CPU,在安全、稳定、性能等诸多方面都有优势,多用作服务器操作系統,想必大家在实际工作开发中都亲身接触感受过它的魅力吧。
作为 Linux界的第一个发行版,Debian是活跃开发中最古老,最稳定的 GNU/Linux 发行版之一,同时也是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。因其优良的稳定性及灵活扩展性,使得它在很多方面都是一个理想的环境:桌面、服务器、测试、开发… 所以本专题所有文章中提到的Linux均指的是Debian Linux。

MySQL: MySQL是一款非常优秀的关系型数据库,因为其速度、可靠性和适应性而备受关注,很多大型网站都是用Mysql作为数据存储,本文将较为详细的记录安卓手机Debian Linux上安装mysql5.7的艰难历险记。

1.安卓手机改造成linux系统实现方案

对于Linux系统的使用,我们常见的做法是按需付费购买一定配置的服务器,或是通过虚拟机安装、当然只要足够任性还可以直接购买一台硬件服务器等等。不过这些基本都是PC端体验的,如果购买服务器就要花钱才能拥有而且还得持续花钱哈哈哈(不然到期了什么都没了);如果选择安装虚拟机然后在虚拟机上安装Linux,相信时间长了你就会慢慢嚼着这种方式体验不爽(实体机得一直开机着、启动慢、虚拟机占用内存大、使用过程中可能会卡顿等一系列问题)。因此,喜欢折腾的我开始踏上了研究探索新的体验方式之路-----“将手机改造成Linux服务器”,所以才有了大家看到的这篇文章。在整个实现过程中收获颇多,也学习到了很多相关的知识,所以决定出一个系列专题,分篇分享自己的所思所得。

目前手机端体验Linux大致有两种实现思路:

2.改造后的手机Linux中软件的安装

手机改造成Linux系统后,我们便可以进入Linux系统上手体验了…期待的搓手手。以AidLux为例,可以直接在手机端进入到Linux系统进行操作,也可以通过AidLux提供的文件浏览器功能,在PC端浏览器输入手机ip:8000端口访问,或者采用传统方式通过XShell等远程工具连接到Linux。进入Linux系统之后就可以在里面安装软件、配置环境之类的从而为部署网站部署项目等做好准备工作。

Linux系统中安装软件的方法有好几种,但是从本质上来讲大致有三种类型: 通过Linux系统的包管理工具安装(如yum,apt等,具体取决于Linux发行版类型)、通过二进制包安装、通过源码编译安装。

温馨提示:
最后特别要强调的一点是:
在Linux中安装软件时,不管使用哪种方式去安装,一定要下载与你的linux系统CPU架构匹配的安装包!这句话很重要,后面还会再次提到并进行详细解释,虽然没必要圈起来,而且考试也不会考hahaha,但是相信读完这篇文章后你就会彻底明白有多重要。

本人当时就是因为这个问题在安装MySQL5.7时踩了不少坑浪费了不少宝贵的时间。但话说回来任何事情都有两面性,虽然失败的感觉很让人受挫,但是这个过程中可以收获很多意想不到的知识与技能,可以很好的积累经验正所谓吃一堑长一智!接下来我将围绕这个问题展开,详细跟大伙儿唠唠我的踩坑历险记。。。。

3.手机Linux中安装MySQL5.7踩坑实录

在安装软件这件事上,其实AidLux做的挺到位的,因为AidLux作为一款智能物联网(AIoT)应用开发和部署平台,提供了具有统一交互体验的跨平台图形化界面的完整linux系统,使安装了AidLux的设备可为用户同时提供Android和Linux运行环境,所以我们在此Linux中安装软件可以像在安卓系统上一样 通过应用中心或命令行的形式安装运行海量Linux软件、编程语言及框架等,也可以根据自己的需求自行安装指定版本的软件。

当时在安装JDK等其他软件时都没啥毛病,后来在安装MySQL时,本来可以直接通过AidLux提供的命令或应用中心下载安装,但不幸的是AidLux中提供的mysql其实是mysql的一个分支:MariaDB。考虑到我项目中经常使用的数据库是MySQL5.7,虽然这两个是兼容的应该影响不大,但是偏偏这个时候我强迫症老毛病又犯了,就想安装个MySQL5.7你说气人不hahaha,,,,但是很遗憾的发现oracle官方提供的安装包都是amd的(未提供arm/aarch64的任何形式的安装包),所以只好下载了amd64的包,而且主要是 当时对这个问题认识还比较模糊,所以并没有意识到问题的严重性没有想到会给自己带来这么多麻烦…吐舌头,以至于接下来我各种能尝试的方法都试遍了,能参考的博客什么的都翻了个底朝天恁是死活装不成功。不管是apt,apt-get,rpm,dpkg等之类的命令大法,还是二进制安装包,不管是下载deb包,rpm包通过命令自动安装,还是下载deb包,rpm包的各个deb/rpm文件手动顺序安装,不是在安装过程中提示Unable to locate package(根据网上说法换了各种源都没解决,又安装了其他工具命令等等之类的方法结果统统都无济于事),就是执行中途各种报错,最让人崩溃的是前几步都成功了到关键的最后一步给你报错(气的差点当场去世)!中间的无数次报错经历我就不列举了。

最后在一个论坛里找见了一种解决办法,说是通过命令sudo dpkg --add-architecture amd64即可,尝试后的确原来的报错不见了可是新一轮的问题又来了:提示缺少依赖,恐怖的地方在于这种依赖简直就是黑洞式依赖,层层多级依赖(后来我想大概因为本身是arm64架构的,现在添加了amd64,虽然安装包支持了但是系统上没有任何amd64的底层lib库文件),直接让人安装到怀疑人生,差点就要将电脑大卸八块了!!!

你以为坎坷这就结束了?NoNoNo折磨还没完呢,请耐心 听我说谢谢你 啊呸说错了,是耐心听我继续放哈哈哈,话说最后的最后,山穷水尽疑无路,以为柳暗花明又一村,我琢磨着既然安装方式都不行,那我能不能找到一个二进制免安装版的捏(前面讲到过),于是找啊找啊找网上找到了二进制免安装的,心里开始暗自欣喜并告诉吉几马桑要成功了准备拥抱世界吧!结果,,谁知正当我配置好mysql的配置文件my.cnf之后 自信的敲下./mysqld --initialize --user=mysqluser…命令进行数据库初始化操作时:又报错提示:Illegal instruction,尼玛什么鬼,,, ,,笑容渐渐消失!经过又一轮百度之后,找到原因大概是非法的指令,不支持。按照网上说法,用mysql_install_db命令替换mysqld再次执行初始化时,提示: -bash: mysqld: command not found,嗯?又给劳资出了新花样?没关系换个姿势再来,于是又一顿百度:说是Linux系统会将全部用户的命令都会放在 usr/bin/ 目录下,所以系统会默认查找/usr/bin/目录下的命令,而MySQL的命令没有出现在该目录下,所以就会出现 -bash: mysql: command not found,通过拷贝或建立软链接就可以解决。经历了这么多次的挑战,我赶脚自己似乎已初具福尔摩斯秘法开始怀疑可行度了,但还是照做了,运行完ln -s /usr/local/mysql/mysql-5.7-linux/bin/mysql_install_db /usr/bin之后,忐忑的再次执行了初始化命令,呵呵果不其然又是可恶的提示:Illegal instruction!!!!!

这下你们是不是开始思考我是否还活着哈哈哈。放心,作为一名程序员,遇到bug是我们的荣幸,没有强大的内心和顽强的毅力怎么能征服bug呢,怎么能实现改造世界的梦想呢hahaha吹的有点过了,不过有首歌唱的是真好:心若在梦就在,只不过是从头再来!不经一番寒彻骨,怎得梅花扑鼻香是吧,我相信只有我们想不到的没有做不到的。

功夫不负有心人,终于在尝遍了各种方法之后,我深刻的重新又认识了一次操作系统所依赖的处理器架构,立马去了解学习了指令集、处理器架构等方面的知识。了解后可谓豁然开朗,找到了问题根源并成功解决了问题,现在回过头来看,其实问题很简单就是架构不匹配不支持!

4.手机Linux中安装软件的正确方法

在Linux中安装软件时,不管使用何种安装方式,一定要在安装前先查看确认自己Linux系统的cpu架构类型,然后下载与你的linux系统内核架构相匹配的安装包。

大多数情况下,搭建服务器的目的就是来部署上线我们的项目,以提供给用户去使用,提供服务给目标用户。所以下面给出本专题的所有计划内容:Linux服务器中部署前后端分离项目全流程。大家可以结合自身需求选择阅读本专题的系列文章。

1. 前提准备(安装必要软件,搭建环境):

2. 前后端分离项目的详细部署过程:


以上就是今天要说的全部内容,为了能尽可能的表达清楚,帮助大家更好的理解,这篇文章也是花了我将近一周的时间,不为别的,就为了将自己踩过的坑、遇到的重点问题及解决方案等记录并分享出来,从而帮助在同条路上走来的伙伴们及时止步,吸取一些经验避免再次入坑。

从下一篇开始,将正式分享改造后的安卓Linux服务器中进行 JDK 、MySQL5.7、Redis、Nginx等软件的安装和环境配置,以及前后端项目的打包、部署到手机Debian Linux系统中等等。内容持续更新中,欢迎大家的阅读,希望大家多支持哦!有不对的地方欢迎指正,我们一起奋斗一起进步吧。

来源地址:https://blog.csdn.net/qq_40875195/article/details/129139502

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯