从零开始用树莓派搭建服务器,拥有一个属于自己的网站

前言


本人也是完全零基础萌新,此教程是我根据CSDN上其他大佬的博客和自己摸索研究出来的,期间踩了挺多的坑,浪费了很多时间,把这些经验分享出来,希望能帮助到你,本文参考了CSDN上copcin大佬博客,链接会放在文章底部

我的网站是from0to1.top  去看看我的网站   去我的网站上查看本文章

如果你觉得搭环境太麻烦,不想自己搭,我们有搭好环境的docker镜像,支持arm、x86架构下载即用,可以赞助支持一下吗?(提供售后技术支持,赠送docker详细笔记、wordpress数据库清理插件)

前往我的网站购买


1、准备事项


首先你需要一台树莓派电脑(云服务器或其他电脑也可以),zerow,zero2w,树莓派4b,树莓派400之类的,由于溢价严重,我只能选择价格相对便宜一点的树莓派400,我在某宝买的价格是620
在选的时候一定要选单主机,防止被坑(套装加了点官方配件价格直线上升)你还要去买一根树莓派官网的原装供电线(5V3A)的,一张闪雷的TF卡当做硬盘(杂牌会让你的服务器变得很不稳定哦)我选择的是128g,大小看个人预算,一块可以接HDMI的屏幕(我选择的是200多的七寸屏幕,作为服务器的话无需1080p)一个读卡器(3.0会让你烧录系统更快)选择的不是树莓派400的话,你还需要购买外壳和风扇,不然温度会变得很高,还有一根 Micro-HDMI 转 HDMI(400 用)或者一根 Mini-HDMI 转 HDMI(Zero 2 W 及 Zero W 用)还有一只有线键盘(必须要有线)到这里,服务器硬件已经准备完毕了


2、操作系统的安装


安装前,我们需要准备的软件有:balenaEtcher下载链接 ,打开链接选择文件名称为balenaEtcher-Portable-1.18.6.exe下载运行即可(大小为132.9 MB,本文有时效性,如更改请自行判断)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第1张图片
然后下载Ubuntu server镜像,下载链接,打开连接后下滑到Ubuntu server下载页面,树莓派400或者4b点Download 64-bit
其他型号的选择Download 32-bit
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第2张图片
下载完后先进行解压,解压后文件是.img就为正常
f7be159cf9a34904ac372c2029c1f395.png
运行刚刚下载的balenaEtcher,选择从文件烧录
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第3张图片
选择刚刚解压的img系统映像文件,然后点击打开
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第4张图片
把你购买的TF卡插入读卡器然后连接电脑,
点击选择目标磁盘,找到你的TF卡(这一步要谨慎操作!否则其他盘会被格式化!)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第5张图片
选定后点击现在烧录
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第6张图片
等待烧录成功(有概率烧录失败,此时选择重新烧录一次,一直失败就得换卡了)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第7张图片
这个界面为成功,可以拔出你的TF卡,插到树莓派上了
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第8张图片


3、ssh连接和联网初始化


把树莓派接上电源和屏幕等待,此时不要进行任何输入,第一次出现ubuntu login:时不要输入,输入也会提示密码错误,过一会满屏都是代码最底下显示up多少second时先回车一次,ubuntu login会弹出来,此时再进行登录,先输入一次ubuntu回车(这是账号),Password后面再输入ubuntu(这是初始密码密码,不会显示你输入多少个盲打就行了)
current password:(此时再输入一次ubuntu)
new password:(这是让你设置新密码)
ret new password:(确认你的密码)
下次登录时输入ubuntu和你自己设置的密码就能登录了
如果最底下出现ubuntu@ubuntu:~$ _
恭喜你登录成功了!
然后输入以下代码(命令一条一条输)

sudo -i
nano /etc/netplan/50-cloud-init.yaml


通过nano编辑器打开这个文件后在最下面添加以下代码,一定要注意缩进!非常严格!
WIFI名和密码填真实的,否则会连接不上,注意大小写

    wifis:
      wlan0:
        dhcp4: true
        optional: true
        access-points:
          "wifi名称":
             password:
           "wifi密码":

输入完成后,一定要仔细检查
可对比图片缩进

从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第9张图片

然后同时按下ctrl+x保存,按y确认,再回车一次返回终端
然后输入以下代码,输一行回车一次

systemctl enable wpa_supplicant
systemctl start wpa_supplicant
netplan generate
systemctl daemon-reload
netplan apply

执行后如果有报错,确认代码没出错,就需要回上一步设置WIFI密码检查你的缩进和符号
稍微等待几秒,如果在热点或者路由器下发现了树莓派,恭喜你!这时候你的树莓派就初始化完成了啦!可以关闭显示器了

4、ssh连接树莓派

SSH,是一种远程连接协议。我们这里使用 SSH,一方面是为了节省显示器的电费(比树莓派贵多了),还有一方面是为了方便设置树莓派(比如换源)
下载链接,打开链接下载64-bit x86
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第10张图片
安装过程就带过了,一路确定就行
打开你的路由或者热点设置界面,找到树莓派的IP地址,名称为ubuntu
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第11张图片
打开PuTTY输入树莓派的IP地址,然后点击open
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第12张图片
点击Accept(有概率弹不出来,遇到这个问题只能重装系统解决)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第13张图片
输入ubuntu回车后输入你的密码(所有输入密码操作都是不显示的)出现下图界面就成功了,恭喜你,完成了关键的一步(Accept弹不出来,我又要重刷系统和写配置)


5、换源


等会我们会下载很多软件,软件都需要从国外的软件源下载。由于国外的服务器非常慢,所以我们要换成国内源
国内源与国外源的软件一模一样,所以不需要担心换了源之后软件无法下载
PuTTY输入以下命令(一行回车一次):

sudo -i
nano /etc/apt/sources.list

把文件里的每一行前面都加上#注释掉(按下方向键向下移动光标,已经加过的不用了)然后去这个链接拿清华源(请确认你的Ubuntu版本和清华源上的版本是一样的,不一样会无法下载!)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第14张图片

清华源链接
选择你的版本复制后在PuTTY右键粘贴到刚才打开的配置文件就行了
这样就成功把Ubuntu中的软件源换到了国内的清华源,同时按ctrl+x保存,按y确认后回车一次
然后输入一下代码更新软件源:

sudo apt-get update && apt-get upgrade

出现Do you want to continue?[Y/n]时输入y回车,然后等待更新完成
当你的 PuTTY 出现这个界面,按下 Tab 再回车(一般情况遇到都先Tab在回车)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第15张图片
当你的Ubuntu重新出现这个,恭喜你换源成功!
2ad563b778c9464abae71a75319ae17f.png
 

6、服务器LNMP安装


安装LNMP环境

安装nginx


先安装依赖

sudo apt install -y gcc zlib1g-dev libpcre3 libpcre3-dev openssl libssl-dev

等待安装完成
然后输入

sudo apt install -y nginx

输入命令启动nginx

sudo service nginx start

使用在同一个局域网下的设备用浏览器访问树莓派的IP,如果看到下图界面就代表成功了(云服务器要去安全组放行入方向的80端口)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第16张图片

安装mysql数据库

sudo apt install -y mysql-server

安装PHP

这里我是安装PHP8.1版本,如果你想安装不同的版本只需要把8.1换成其他版本就行(如果是arm架构的话你的镜像里面PHP版本暂时最高只有7.4,请将这条命令里的8.1改为7.4再使用)

sudo apt-get install php8.1-cli php8.1-dev php8.1-fpm php8.1-cgi php8.1-mysql php8.1-gd php8.1-curl php8.1-memcache

如果执行失败报错找不到软件

sudo apt-get install -y language-pack-en-base
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update

此时如果还是报错执行代码

apt install software-properties-common
apt update

然后再安装PHP

配置nginx支持PHP

sudo nano /etc/nginx/sites-enabled/default

在这里添加index.php
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第17张图片
然后解开下图这几条的注释
注意划线标记的地方PHP后面改成你自己的版本号,我这里用的是8.1
图片左下角回扩不要忘记解除注释
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第18张图片
Ctrl+x按y回车保存就行
输入命令检查是否有误,然后重启

nginx -t
sudo service nginx restart

接下来创建一个PHP探针测试一下

touch /var/www/html/test.php
echo "" >> /var/www/html/test.php

使用局域网内的其他机器访问树莓派的IP192.168.133.8/test.php
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第19张图片
出现这个界面,恭喜你!服务器已经架设完毕了,内网穿透后便可访问到你,不过我们还要部署WordPress,继续加油吧!

7、部署WordPress

输入命令进入到nginx的目录下

cd /var/www

获取WordPress安装包(你看到这篇文章的时候可能这个就不是最新版了,输入链接在官网复制.tar.gz的下载链接)下载WordPress
右键点击.tar.gz
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第20张图片
右键点击复制链接

然后复制链接

从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第21张图片
输入命令wget空格后面粘贴你复制的链接就行(换成你复制的链接)

wget https://cn.wordpress.org/latest-zh_CN.tar.gz

下载完成后在当前目录输入以下命令
tar -zxvf 空格后面跟着你下载的WordPress压缩包名称

tar -zxvf latest-zh_CN.tar.gz
ls

此时解压完成后就出现WordPress文件夹了
为了避免以后遇到权限不足,我们现在给他权限,很多教程都是将文件访问权限改成了777但是这样会很危险,我们使用另一种方法
输入以下命令查看所有的用户组

ps -aux

找到nginx的用户组(在我这里是www-data)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第22张图片
记下这个用户组的名字后,输入命令

cd /var/www
ls -l

可以看到现在WordPress用户组是1006
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第23张图片
接下来进行更改(如果你的nginx用户组不是www-data请将这段代码里的两个更换成你服务器上的用户组)

sudo chown -R www-data:www-data /var/www/wordpress

执行完成后再次输入ls -l此时会发现用户组已经更改为www-data了

从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第24张图片

 8、nginx重定向网站目录

现在去访问你的树莓派IP还是php探针的页面
我们需要让nginx重新定向网站目录到WordPress
输入命令

sudo nano /etc/nginx/sites-enabled/default

打开这个文件后,将目录中的html改为wordpress如下图
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第25张图片
同时按Ctrl+x然后按y回车退出
输入命令重启nginx服务器

sudo service nginx restart

重启完成后再次访问树莓派的IP地址如果出现如下图,那么更改目录已经成功了,接下来只差安装
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第26张图片
点击现在就开始会要求你填写数据库连接信息我们现在就去创建一个数据库,让WordPress能连接到

9、创建数据库


输入命令以root权限登录MySQL数据库

mysql -u root -p

让你输密码直接回车就行
接下来我们需要创建一个用户来管理WordPress的数据库
把单引号里的123456换成你自己要设置的密码

create user 'wordpressuser' @'%' identified by '123456';

MySQL里的命令结尾一定要带上;
否则会卡住需要按ctrl+c退出
创建了用户,我们还需要创建一个数据库给WordPress用
输入命令创建一个叫WordPress的数据库

CREATE DATABASE wordpressdb;

接下来,将WordPress db的所有权限给WordPress user管理
输入命令

grant all on wordpressdb.* to wordpressuser@'%';

到这里就授权完成了输入quit退出mysql
输入命令重启MySQL数据库

service mysql restart

或 /etc/init.d/mysql restart
这个时候再次回到浏览器刚刚访问的树莓派IP地址
输入你刚才创建的数据库名和用户名
你输入你创建的密码
数据库主机不改
表前缀不改
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第27张图片
点击提交(有点不稳定,经常连接不上,多次重试无效后去更改数据库用户的密码再来大概率就能连接上)
更改数据库用户密码的命令(单引号里面的username换成你设置的数据库用户名New password换成你要更改的密码)

ALTER USER 'user_name'@'%' IDENTIFIED BY 'new_password';

一般改完第二次尝试连接就好了

完成这一步后,回到网页点击运行安装程序

按下后出现这个界面为正常,恭喜你就快成功了!
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第28张图片
接下来填写这些进行设置,密码推荐设置强密码保证安全,填写完检查邮箱不要出错
确认完后,点击安装WordPress如下图

从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第29张图片
如果弹出这个界面,代表你已经安装成功喽
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第30张图片
点击登录输入你刚才创建的账号密码就可以进入后台啦

一切正常马上就可以看到这个界面,这里就是你的WordPress后台
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第31张图片

 (只能下载和上传2M大小文件的,想要上传更大的主题和插件,需要更改nginx和PHP的配置,推荐去csdn搜索解除php上传大小限制和nginx413)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第32张图片
是不是以为到这里就结束了啦?
现在这个网站只有和你在一个局域网内的人才能访问到,你难道不想公开出去让任何地方的人都能访问你的网站吗?
这个时候我们就要安装内网穿透了

10、安装内网穿透

什么是内网穿透?
内网穿透是一种将局域网里的端口发布到公网访问的一种技术
网络有分内网和公网,内网指的就是树莓派所在局域网,内网的内容只有连接上你的局域网才能访问。公网它指的是对每一位用户开放的网站,可以从任何地方访问。让自己的树莓派进入外网有3个方法:购买公网 IP4、使用IPV6与内网穿透。第一种方法我们可以排除,因为买不到,第二种以后会再写博客教(我的站点from0to1.top现在就是用的IPV6),那我们现在就用内网穿透了,内网穿透的好处是内网穿透服务器不在境内你的域名就可以不用备案,而且内网穿透还是免费的!

(坏处是如果和你使用同一个内网穿透服务器的人,拿他的网站干了点坏事,可能导致你的域名一起被封!!!)

这里我们要使用的内网穿透工具是sunny-ngrok,因为这一家可以免费自定义域名
(现在不推荐了,访问慢,免费隧道无法使用了,推荐使用飞鸽内网穿透,不用实名!使用方法与这个区别不大,你看我的博客与飞鸽官方教程,大概就能明白)
飞鸽内网穿透
先去注册一个账号从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第33张图片

需要实名认证一下,会收你一点费用,跟着他的实名步骤做就行
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第34张图片
实名后点隧道管理——开通隧道,鼠标拉到最下面选择美国Ngrok免费服务器
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第35张图片
点立刻购买——确定,隧道协议--选http(以后我会教你申请ssl证书更改nginx配置使用https)隧道名称--用来区分多个隧道的(可以就填美国服务器)
前置域名--http://captain.5gzvip.91tunnel.com这个域名里的captain就是前置域名
本地端口--127.0.0.1:80前面是你本地ip,:号后面填你要映射的端口这里不用改
http验证用户名和http验证密码不要填,点确定添加就行
然后来到隧道管理复制你刚刚购买的隧道ID(红色涂抹的地方)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第36张图片
接下来我们要下载客户端安装倒树莓派上客户端下载选择适合你服务器的版本(我的是树莓派400,所以选择arm 64)(使用云服务器的,请去查看你服务器的版本选择适合的)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第37张图片
老样子右键你要下载的版本复制链接,然后去终端输入命令(wget空格后面跟你刚刚复制的链接,压缩包名称不一样就改成你那里的)
从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第38张图片

sudo -i
cd /opt
wget https://www.ngrok.cc/sunny/linux_arm64.zip?v=2.1
mv 'linux_arm.zip?v=2.1' linux_arm.zip
apt install unzip
unzip linux_arm.zip
ls
cd linux_arm64
screen -s sunny
./sunny clientid 你购买的隧道id[/precode]


先提权,cd到opt,下载压缩包,mv重命名压缩包,下载一个unzip,使用unzip解压,ls看一眼压缩包解压后的名称,cd进入这个文件夹,第九行新建一个screen后台程序(一定要-S小写不生效),第十行输入你的隧道ID启动内网穿透
启动成功后复制红圈这里的网址去浏览器访问,出现WordPress界面就代表成功了

从零开始用树莓派搭建服务器,拥有一个属于自己的网站_第39张图片

结束语


到这里本文差不多就结束了,以后我可能会教购买域名使用免费的DNS服务解析,配置SSL证书使用https访问你的站点,使用IPV6访问网站以及分享其他经验(不过写博客真的好累啊!感谢那些大佬的博客,不然我也无法学会这些,希望你也能传递下去,和我一样分享你的经验,帮助到其他人)
第一次写博客,如有发现错误,欢迎评论指正

我的站点是from0to1.top

去看看我的网站

如果你觉得搭环境太麻烦,不想自己搭,我们有搭好环境的docker镜像,支持arm、x86架构下载即用,可以赞助支持一下吗?(提供售后技术支持,赠送docker详细笔记、wordpress数据库清理插件)    前往我的网站查看购买

如果觉得本文对你帮助很大的话,可以赞助一下吗?(服务器维护也是要钱的啊)

前往赞助

本文参考了CSDN上copcin大佬的博客copcin大佬的博客

你可能感兴趣的:(服务器,服务器,运维,linux,经验分享,笔记)