美文网首页程序员
树莓派搭建python环境服务器

树莓派搭建python环境服务器

作者: bananaTan | 来源:发表于2018-01-23 18:00 被阅读0次

    材料准备:

    树莓派3B,USB接头5V/1.5A,安卓数据线,HDMI转接线,键盘,8G以上优质SD卡,显示器(可有可无)VGA转接线(可有可无),一台正常使用的电脑(远程)。
    *******有显示器的最好接显示器*******

    下载镜像

    官网下载树莓派镜像:RASPBIAN STRETCH LITE 镜像下载

    ******下载 RASPBIAN STRETCH LITE镜像******
    RASPBIAN STRETCH LITE镜像是一个没有界面的镜像。
    树莓派cpu和内存本来就很有限,不要浪费资源在桌面上。
    ******下载 RASPBIAN STRETCH LITE镜像******

    烧制镜像

    烧制镜像:树莓派3 从到手到开机
    **********需要ssh远程请注意**********
    在烧制完成后在镜像SDcard里面添加一个ssh的文件夹。
    因为现在树莓pi系统默认是关闭了ssh连接的22号端口的,添加一个名字为ssh文件夹会自动打开。
    **********需要ssh远程请注意**********

    设置网络

    有网线的直接接网线,没有网线的要设置Wi-Fi:树莓派设置Wi-Fi
    *******************注意*****************
    在设置网络后,通过命令ifconfig -a查看当前树莓派的ip地址
    *******************注意*****************
    树莓派3 播放音乐(网络音乐)(附加甜品/可有可无)

    ssh远程登录树莓派(Mac用户)

    启动终端输入:
    ssh pi@192.168.1.107( ssh pi@树莓派的ip )
    提示输入密码,默认密码为:raspberry
    *******************提示*****************
    密码正确后会有一串英文提示说:不确定你连接的服务器就是你的目标服务器。是否还要继续连接。(选择yes)这串提示需要你了解ssh远程连接的原理。有一种黑客攻击技术叫中间人攻击
    *******************提示*****************
    *******************注意*****************
    当你重新刷了系统要远程控制树莓派的时候会出现ssh密钥错误的问题。那么你需要到存放ssh密钥的地方把之前的ssh密钥删除才能连接上。
    存放在Mac这个路径下:/Users/typ/.ssh
    *******************注意*****************


    树莓派搭建python环境服务器

    服务器结构大致为:django+uwsgi+nginx+python+sqlite

    配置python环境

    系统本身自带了python2.7和python3.5。在这里我们搭建python3.5的环境。所以需要安装pip3,在安装pip3之前需要setuptools支持。
    安装setuptools如下命令:

    ~:wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
    ~:tar -zxvf setuptools-19.6.tar.gz
    ~:cd setuptools-19.6.tar.gz
    ~:python3 setup.py build
    ~:python3 setup.py install
    

    后安装pip

    wget --no-check-certificate  https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
    tar -zxvf pip-8.0.2.tar.gz
    cd pip-8.0.2
    python3 setup.py build
    python3 setup.py install
    

    *******************注意*****************
    我门下载的路径需要注意,你当前在什么路径下,那么wget下载的软件包就在哪里。这里要注意一点,在我们没有指定安装路径的时候,系统会默认安装在 /usr/local 里面。
    *******************注意*****************
    sudo pip3 install --upgrade pip 更新pip3

    安装django

    sudo pip3 install django

    安装uwsgi

    sudo pip3 install uwsgi
    *******************注意*****************
    在安装uwsgi的时候你可能会报一个这样的错。

    plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory
     #include <Python.h>
    

    原因是缺少 python-dev这个库,输入如下命令安装:
    sudo apt-get install python3-dev
    *******************注意*****************

    安装nginx

    sudo apt-get install nginx


    测试uwsgi

    新建一个test.py文件如下命令:
    sudo nano test.py
    编辑如下内容:

    # test.py
    def application(env, start_response):
        start_response('200 OK', [('Content-Type','text/html')])
        return [b"Hello World"]
    

    输入如下命令:
    uwsgi --http :8000 --wsgi-file test.py
    在浏览器输入地址,格式如下:
    http://树莓派的ip地址:8000
    eg: http://192.168.1.107:8000
    如果出现Hello World就代表成功了。

    *******************提示*****************
    关闭uwsgi包括关闭服务器都是方法:control + c
    *******************提示*****************

    测试django

    创建django项目
    django-admin.py startproject helloworld
    在helloworld目录下创建应用,比如blog:
    python3 manage.py startapp blog
    进入项目
    cd helloworld
    *******************目录文件介绍*****************
    manage.py:
    一个命令行工具,通过它可以调用Django shell和数据库等。键入python manage.py -h,查看它的相关功能。

    init.py:
    让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。这是一个空文件,一般你不需要修改它。

    settings.py:
    项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。

    urls.py:
    django项目的URL设置。 可视其为你的django网站的目录, 负责把URL模式映射到应用程序。

    wsgi.py:
    服务器网关接口(Python Web Server Gateway Interface),web服务器和web服务程序或者框架之间的一种简单而通用的接口。
    *******************目录文件介绍*****************

    测试django
    python3 manage.py runserver 192.168.1.107:8000
    *******************注意*****************
    你可能会出现如下提示:

    You have unapplied migrations; your app may not work properly until they are applied.
    Run 'python manage.py migrate' to apply them.
    

    执行:python3 manage.py migrate
    然后你会发现在上一层的helloworld目录下面多了一个文件dg.sqlite3

    然后重新启动服务执行:
    python3 manage.py runserver 192.168.1.107:8000
    运行成功显示如下信息

    System check identified no issues (0 silenced).
    December 21, 2014 - 08:56:00
    Django version 1.7.1, using settings 'my_blog.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
    

    还没有结束

    你可能会出现这个提示:
    Invalid HTTP_HOST header: '192.168.1.107:8000'. You may need to add '192.168.1.107' to ALLOWED_HOSTS
    解决方法如下:
    cd到helloworld目录文件下找到settings.py文件并打开。
    sudo nano settings.py
    找到ALLOWED_HOSTS = ['']
    在这里请求的host添加* 改为如下:
    ALLOWED_HOSTS = ['*']

    control+x保存退出
    *******************注意*****************
    出现如下界面代表你安装成功


    屏幕快照 2018-01-23 下午5.15.58.png

    相关文章

      网友评论

        本文标题:树莓派搭建python环境服务器

        本文链接:https://www.haomeiwen.com/subject/tedsaxtx.html