樹莓派搭建私人伺服器

2022-06-18 17:30:13 字數 3436 閱讀 8943

阿里雲伺服器又漲價了,感覺已經負擔不起了,但是又想擁有一台自己的私人伺服器。某天,突然發現了樹莓派,**便宜、高可用。心血來潮!!說搞就搞!!

首先當然是有一台樹莓派3代b型,****¥190 + 周邊 = ¥216 可以搞定(兩個半月的阿里雲ecs,還是蠻實惠的)

支援埠對映的路由器(基本現在市面上的路由器都支援埠對映),我用的是小公尺路由器

買乙個屬於自己的網域名稱,如:www.uthinks.com

具有公網ip的寬頻,我家使用的聯通20m寬頻,很幸運有乙個公網的ip。如果沒有公網ip,需要借助花生殼來做內網穿透,不僅麻煩還有流量限制。

解壓映象和win32diskimager(綠色版開啟即可使用),插入sd卡 –> 開啟win32diskimager –> 新增映象 –> 確認sd卡後點選燒寫即可

燒寫結束後,在windows下sd卡會顯示只有不到100m,不用擔心,因為這個分割槽只是linux 的boot分割槽,而其他內容作為linux 的檔案系統被掛載為ext4 檔案系統,windows 下識別不了而已

把燒好的sd卡直接插入樹莓派sd卡槽中,接上電源等待系統安裝完成

系統配置過程還是碰到很多坑,大家有什麼問題可以直接聯絡我,我會補充出來

ssh無法登陸的問題

由於樹莓派預設沒有開啟sshd,所以我用hdmi連線上顯示器,執行命令sudo raspi-config

找到ssh然後enable後重啟就ok了

家裡辦理的聯通寬頻有公網ip,決定好好利用,但是公網ip不固定,需要動態修改網域名稱解析。

在阿里雲上購買自己喜歡的網域名稱(抓緊時間備案,不然**會被封)

(如果有公網ip配置一條a記錄,如果你使用的是花生殼配置一條cname記錄

獲取自己的公網出口ip

import urllib2

def getip():

try:

ip = visit("")

except:

ip = "failed to get internet ip"

return ip

def visit(url):

req = urllib2.request(url)

opener = urllib2.urlopen(req)

result = opener.read()

return result[result.find('[') + 1: result.find(']')]

解壓安裝

sudo python setup.py install

安裝alidns python sdk

pip install aliyun-python-sdk-alidns

第1步獲取到自己的公網ip後,呼叫api設定dns解析

import json

from aliyunsdkalidns.request.v20150109 import updatedomainrecordrequest,describedomainrecordsrequest, \

describedomainrecordinforequest, adddomainrecordrequest

from aliyunsdkcore import client

# 更新網域名稱解析

def updatedns(accesskey, accesskeysecret, hostrecord, dnstype, dnsvalue, dnsrecordid, dnsttl, returnformat):

print hostrecord, dnstype, dnsvalue, dnsrecordid, dnsttl, returnformat

clt = client.acsclient(accesskey, accesskeysecret, 'cn-hangzhou')

request = updatedomainrecordrequest.updatedomainrecordrequest()

request.set_rr(hostrecord)

request.set_type(dnstype)

request.set_value(dnsvalue)

request.set_recordid(dnsrecordid)

request.set_ttl(dnsttl)

request.set_accept_format(returnformat)

result = clt.do_action(request)

return result

# 獲取當前的解析ip

def getdnsip(accesskey, accesskeysecret, dnsrecordid, returnformat):

clt = client.acsclient(accesskey, accesskeysecret, 'cn-hangzhou')

request = describedomainrecordinforequest.describedomainrecordinforequest()

request.set_accept_format(returnformat)

request.set_recordid(dnsrecordid)

result = clt.do_action(request)

result = json.jsondecoder().decode(result)

result = result['value']

return result

路由器埠對映,配置完成記得點選儲存並且生效

最後一步把動態解析指令碼配置到crontab中定時執行

/1 * /usr/bin/python /home/bill/basic/basictask.py

accesskey、accesskeysecret如何獲取

登入阿里雲控制台(

網域名稱解析recoreid如何獲取

# dns_domain 網域名稱 如uthinks.com

def check_records(dnsdomain):

clt = client.acsclient(accesskeyid, accesskeysecret, 'cn-hangzhou')

request = describedomainrecordsrequest.describedomainrecordsrequest()

request.set_domainname(dnsdomain)

request.set_accept_format('json')

result = clt.do_action(request)

print result

return result

返回值:

, ]}}

樹莓派搭建私人nas

最開始玩樹莓派也是想能夠搭建乙個私人nas,能夠做資料備份,其中各種折騰,我用的是一塊舊的硬碟加nextcloud實現的私人nas,現在記錄以下搭建的整個過程。1.安裝nextcloud nginx 首先需要安裝nginx nginx是web伺服器,我們安裝的nextcloud會掛載到nginx上面...

樹莓派搭建家庭伺服器

1 安裝 minidlna sudo apt get update 更新一下安裝源 sudo apt get install minidlna 安裝 minidlna 2 設定配置檔案 設定 etc minidlna.conf檔案,在檔案尾部新增如下內容 media dir a,samba dlna...

樹莓派搭建儲存伺服器

準備用樹莓派4做乙個儲存伺服器,原本是想用 omv5 的,但是發現磁碟掛載不上去,最後掛上去之後,docker 的執行好像又有問題,就拋棄 omv5 了,純粹作為乙個儲存伺服器用了 因為我有個需求,就是同步我在平板上對電子書記錄的筆記,現在用的是 wps offic 的同步,充了個會員,發現同步基本...