树莓派搭建python环境服务器

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

配置python环境

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

1 ~:wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
2 ~:tar -zxvf setuptools-19.6.tar.gz
3 ~:cd setuptools-19.6.tar.gz
4 ~:python3 setup.py build
5 ~: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保存退出
*******************注意*****************
出现如下界面代表你安装成功

树莓派 python移植 树莓派搭建python环境_服务器

 



作者:bananaTan