当前位置: 欣欣网 > 码农

如何搭建一台永久运行的个人服务器?

2024-06-11码农

扫码关注 后端架构师 」,选择 星标 公众号

重磅干货,第一时间送达!

责编:架构君 | 来源:Linux就该这样学

链接: segmentfault.com/a/1190000021143144

上一篇好文:

正文

大家好,我是后端架构师。

一、前言

由于本人在这段时候,看到了一个叫做树莓派的东东,初步了解之后觉得很有意思,于是想把整个过程记录下来。

二、树莓派是什么?

Raspberry Pi(中文名为 树莓派 ,简写为RPi,(或者RasPi / RPI) 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。自问世以来,受众多计算机发烧友和创客的追捧,曾经一「派」难求。别看其外表「娇小」,内「心」却很强大,视频、音频等功能通通皆有,可谓是 麻雀虽小,五脏俱全。

1.用我的话理解

用我的话理解就是树莓派就是一台主机,你可以外接显示器,键盘鼠标,u盘等等外设,因为它体积很小,而且又有很多串口和外接的口,可以直接调用很多底层硬件。

2.市面上的型号

市面上大多是 3代B+型 ,淘宝一搜树莓派一大堆都是,价钱纯主板(不要任何外设)在230+左右,有点小贵,超过我的预算,所以我继续寻找廉价的,终于让我发现了一款100+的树莓派。

3.树莓派zero w

树莓派zero w是一款mini的树莓派,体质只有3b+的1/3。实际到手后,你会发现它真的超级小,超级可爱。以下是我的实物图,你可以看看大小到底有多mini。

你可以看到,最上面是一根普通的黑色签字笔,接下来是一个即插即用型的外接wifi网卡,然后是一个USB读卡器,最底下的就是我们今天的主角zero w。它真的超级小,有木有。 真的是完美的诠释了那句「麻雀虽小,五脏俱全」的话。

zero w这款树莓派的主要参数如下:

  • BCM2835处理器,1GHz主频,512MB RAM

  • BCM43438 WiFi / BT芯片

  • micro-USB电源接口

  • micro-USB OTG接口

  • miniHDMI端口

  • 复合视频和重置扩展接口

  • 脆弱的CSI摄像头接口

  • micro-SD卡座,存放操作系统

  • 40-pin GPIO扩展接口

  • 尺寸:65mm*30mm

  • 你别看它的cpu只有1核,内存只有512MB,就觉得它可能什么都做不了,但是实际上它的性能还是很好的,用于跑一个网站真的是小case。

    4.更多树莓派

    关于更多树莓派型号或者使用教程你可以去树莓派实验室这个网站,上面有丰富的资源。

    三、树莓派zero w安装系统

    1.准备

    你可能提前需要准备的东西如下:

  • 16GB or 32GB 的SanDisk内存卡(注意是以前那种放在手机上,很小的哦)

  • 一根最普通不过的usb安卓数据线(not type-c)

  • u盘格式化工具(推荐使用 SDFormatter)

  • 系统烧写工具(Win32DiskImager)

  • 树莓派系统(可以去官网下载)

  • 我使用的是 Raspbian Stretch Lite 这个系统镜像,这个系统是官方制作的,lite是无桌面版的,只有黑漆漆的控制台,优点是体积小,省性能和内存。

    名字带有desktop的是有桌面ui的,对不熟悉liunx系统的朋友可能更友好,但是体积很大,占用的性能也会更高。

    2.第一步下载系统镜像

    下载好你需要的系统镜像后,如下图

    一开始只有一个zip的压缩包,大小大概360MB左右,你需要把它解压,得到上图的文件夹

    然后进入文件夹可以看到一个img的镜像,大小为1.7GB左右

    ps:这个官方的Raspbian镜像,如果是其他第三方的镜像,可能下载后的压缩包解压后不是img镜像,这种情况请另行百度解决

    3.使用Win32DiskImager往内存卡中写入镜像

    把内存卡插入读卡器后,插入电脑。打开Win32DiskImager软件后,选择img镜像,设备选择你的U盘,然后点击写入就可以了,写入完成后会弹出成功的提示框。

    ps: 我上图没有选择设备,因为的没插入读卡器,仅仅是示范而已

    4.修改boot分区的文件

    先别急着拔出读卡器,此时,我们电脑可以看到u盘中只有一个名为boot的分区,大小可能只有40MB左右,不要着急,因为window不识别内存卡中liunx系统的其他分区。

    4.1新建ssh文件

    因为我们的zero w有一个mini hdmi的接口,但是我不需要屏幕,所以需要使用ssh连接到zero w中的系统,所以需要在第一次开机就能开启ssh功能。我们进入boot分区内,然后 新建 一个名为 ssh 的文件, 注意不要后缀名!!!!也不要往里面写任何东西!!

    4.2新建wpa_supplicant.conf文件

    因为ssh连接是需要ip地址的,所以我们需要将zero w在第一次开机自动连接wifi,使其和我们的电脑处于一个局域网,这样我们才可以通过ssh连接到zero w的系统。同样的在boot分区内,新建一个名为wpa_supplicant.conf的文件,然后往里面写入如下内容后保存:

    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    network={
    ssid="你的wifi名字"
    psk="你的wifi密码"
    }

    5.组装我们的最小主机并连接

    取出读卡器中的内存卡,然后插入到zero w中,使用一根usb安卓数据线连接电源(5V1A)即可。等待几分钟,期间我们的zero w的指示灯会一直闪烁,很正常,等待指示灯常亮的时候,我们去路由器上,查看一下树莓派的ip地址。

    可以看到我们zero w的ip为192.168.0.104,然后使用ssh连接工具(推荐使用putty)连接树莓派,初始账户为pi,密码是raspberry。

    连接成功,如上图所示。这样我们的系统就正确无误的安装好了。

    ps: 如果是手机开启热点当做一个路由器的话,咱们手机下载一个名叫android terminal的app,然后输入 ip neigh 指令,就可以查到连接到手机的设备的ip信息了。

    6.优化咱们树莓派的系统

    6.1修改源

    因为国外的源,咱们在国内的连接过去网速很慢,所以我们需要修改为国内的源,我修改的是中科大的源。

    6.1.1修改sources.list文件

    sudo nano /etc/apt/sources.list 
    --注释其他内容,添加以下:
    deb http://mirrors.ustc.edu.cn/raspbian/raspbian/raspbian stretch main contrib non-free rpi

    6.1.2修改raspi.list文件

    sudo nano /etc/apt/sources.list.d/raspi.list
    --注释其他内容,添加以下:
    deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch main ui

    6.1.3执行更新

    sudo apt-get update
    sudo apt-get upgrade

    6.2修改时区

    sudo dpkg-reconfigure tzdata

    找到亚洲Asia,然后选择shanghai就可以了。另外,搜索公众号Linux中文社区后台回复「私房菜」,获取一份惊喜礼包。

    6.3开机自启ssh

    第一种:

    sudo raspi-config

    进入选择找到interfacing option选择,然后找到ssh,按回车使能enable就可以了

    第二种:在终端命令行中启动SSH服务后,如果系统重启或关机后启动,SSH服务默认是关闭的,依然需要手动启动,为了方便可以设置SSH服务开机自动启动,打开/etc/rc.local文件,在语句exit 0之前加入: /etc/init.d/ssh start

    建议都试试,反之我的是可以了。

    7.安装nginx

    #安装
    sudo apt-get install nginx
    #启动
    sudo /etc/init.d/nginx start
    #重启
    sudo /etc/init.d/nginx restart
    #停止
    sudo /etc/init.d/nginx stop

    打开浏览器访问192.168.0.104(你的树莓派ip地址),可以看到nginx的页面,说明安装好了。我这边上传了我的博客,如下图

    可以正常的看到页面了,但是这样只能在内网(局域网中)看到,我想让所有人都可以访问怎么办?

    8.内网穿透

    内网穿透,意思就是将内网(本地)的web应用通过nat穿透到公网上,从而让别人可以访问到。

    内网穿透目前主要由ngrok和frp两种,都非常好用,国内ngrok免费的有ittun、sunny和natapp,这三个都是免费的,前面两个可以自定义域名,后面的需要vip版本才可以自定义域名。

    我这三种都试过,我发现sunny的arm版本的ngrok客户端在我的树莓派运行不了,ittun的和natpp的ngrok都可以,由于需要自定义域名,我使用的是ittun的ngrok_arm版本的

    使用方法这三者官网都有详细说明,大家自行查看。

    这是正常运行时的截图:

    因为需要ngrok在后台运行,所以我用的是screen会话使其可以在后台运行。但是开启自启,还没有实现,万一断电或者断网了,我必须手动去运行一下ngrok,这是目前没有解决的痛点。

    9.更多

    树莓派不仅仅只是可以用于运行一个网站,还有很多很多的功能等待你的开发,可以多去看看树莓派实验室里面,很多大神都写了很多实用的教程。

    我的zero w状态信息如下:

    在上面开启了一个nginx和ngrok服务,内存剩余还有250MB,还是很舒服的,cpu温度也不算高,运行两天了,基本在37-39之间。

    你还有什么想要补充的吗?

    最后给大家推荐一个ChatGPT 4.0国内网站,是我们团队一直在使用的,我们对接是OpenAI官网的账号,给大家打造了一个一模一样ChatGPT,很多粉丝朋友现在也都通过我拿这种号,价格不贵,关键还有售后。

    一句话说明:用官方一半价格的钱,一句话说明:用跟官方 ChatGPT4.0 一模一样功能,无需魔法,无视封号,不必担心次数不够。

    最大优势:可实现会话隔离!突破限制:官方限制每个账号三小时可使用40次4.0本网站可实现次数上限之后,手动切换下一个未使用的账号【相当于一个4.0帐号,同享受一百个账号轮换使用权限】

    最后,再次推荐下我们的AI星

    为了跟上AI时代我干了一件事儿,我创建了一个知识星球社群:ChartGPT与副业。想带着大家一起探索 ChatGPT和新的AI时代

    有很多小伙伴搞不定ChatGPT账号,于是我们决定,凡是这三天之内加入ChatPGT的小伙伴,我们直接送一个正常可用的永久ChatGPT独立账户。

    不光是增长速度最快,我们的星球品质也绝对经得起考验,短短一个月时间,我们的课程团队发布了 8个专栏、18个副业项目

    简单说下这个星球能给大家提供什么:

    1、不断分享如何使用ChatGPT来完成各种任务,让你更高效地使用ChatGPT,以及副业思考、变现思路、创业案例、落地案例分享。

    2、分享ChatGPT的使用方法、最新资讯、商业价值。

    3、探讨未来关于ChatGPT的机遇,共同成长。

    4、帮助大家解决ChatGPT遇到的问题。

    5、 提供一整年的售后服务,一起搞副业

    星球福利:

    1、加入星球4天后,就送ChatGPT独立账号。

    2、邀请你加入ChatGPT会员交流群。

    3、赠送一份完整的ChatGPT手册和66个ChatGPT副业赚钱手册。

    其它福利还在筹划中... 不过,我给你大家保证,加入星球后,收获的价值会远远大于今天加入的门票费用 !

    本星球第一期原价 399 ,目前属于试运营,早鸟价 149 ,每超过50人涨价10元,星球马上要来一波大的涨价,如果你还在犹豫,可能最后就要以 更高价格加入了 。。

    早就是优势。 建议大家尽早以便宜的价格加入!

    欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️

    在 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!

    PS:如果觉得我的分享不错,欢迎大家随手点赞、转发、在看。

    最后给读者整理了一份BAT大厂面试真题,需要的可扫码加微信备注:「面试」获取。

    版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

    END

    最近面试BAT,整理一份面试资料【Java面试BAT通关手册】,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。在这里,我为大家准备了一份2021年最新最全BAT等大厂Java面试经验总结。

    别找了,想获取史上最全的Java大厂面试题学习资料

    扫下方二维码回复面试就好了

    历史好文:

    扫码关注后端架构师」,选择星标公众号

    重磅干货,第一时间送达

    ,你在看吗?