树莓派搭建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..tar.gz
cd pip-8.0.
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::: 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保存退出
*******************注意*****************
出现如下界面代表你安装成功

作者:bananaTan
链接:https://www.jianshu.com/p/d966632320cf
来源:简书

最新文章

  1. php 远程图片本地化
  2. Python格式化字符串~转
  3. 开源共享一个训练好的中文词向量(语料是维基百科的内容,大概1G多一点)
  4. Sass for循环中编译%时报错解决方案
  5. C# AttributeUsage的使用浅析
  6. 【转】【Android】开源项目汇总-备用
  7. ios 8.4 Xcode6.4 设置LaunchImage图片
  8. JS 原型继承的几种方法
  9. IOS中控制器的重要方法使用
  10. Action 和 Func
  11. SignalTap II逻辑分析仪的使用
  12. IOS 表视图(UITableVIew)的使用方法(2)名单的分段显示
  13. CCFadeOut ,CCFadeIn 不能使用的原因
  14. /bin/sh 与 /bin/bash 的区别
  15. 报文段、协议、MAC地址
  16. 内存管理-buddy[代码]
  17. 【读书笔记】iOS-正则表达式
  18. hfrk2410_a1.1开发板移植linux-2.6.32.27--网卡篇(cs8900)
  19. flask框架get post方式
  20. bat根据星期启动程序

热门文章

  1. [Cqoi2016]K远点对 K-Dtree
  2. centos7安装pure-ftpd
  3. 2019 第二届 科成安洵杯 官方WriteUp -17网安
  4. bzoj 3585 mex - 线段树 - 分块 - 莫队算法
  5. 多浏览器书签同步插件EverSync
  6. 冰多多团队-第六次Scrum会议
  7. linux下使用clamav排查病毒
  8. 转载【MySQL】MySQL5.X常用日志配置及5.7和5.6主从复制的区别
  9. Eclipse安装代码反编译插件Enhanced Class Decompiler
  10. ubuntu16 修改gitlab root密码