树莓派做服务器部署教程

aspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI)是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。

自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。

 树莓派做服务器部署教程_第1张图片

树莓派

一、树莓派装机

1.下载树莓派镜像

2.把镜像系统烧录SD卡

3.把烧录完毕的SD卡装入树莓派卡槽中即可

树莓派做服务器部署教程_第2张图片

镜像

注意:可能会出现SSH无法登录问题

由于树莓派默认没有打开sshd,所以我用HDMI连接上显示器,执行命令sudo raspi-config

找到ssh然后enable后重启就ok了

 树莓派做服务器部署教程_第3张图片

解决SSH无法登录1

 树莓派做服务器部署教程_第4张图片

解决SSH无法登录2

二、动态域名实现内网穿透

1.在新睿云购买自己喜欢的域名,便宜就行!注意要备案,否则有被封的风险。

2.有公网IP记得配置一条A记录

3.树莓派实现动态域名解析

3.1核心代码 

import urllib2

 def getIp():

     try:

         ip = visit("http://www.ip138.com/ip2city.asp")

     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(']')]

3.2下载alidns python SDK

3.3解压安装

sudo python setup.py install

3.4安装alidns python SDK

pip install aliyun-python-sdk-alidns

3.5第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

4.路由器端口映射,配置完成记得点击保存并且生效

树莓派做服务器部署教程_第5张图片

路由器保存映射

你可能感兴趣的:(树莓派做服务器部署教程)