樹莓派搭建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保存退出
*******************注意*****************
出現如下界面代表你安裝成功

作者:bananaTan
鏈接:https://www.jianshu.com/p/d966632320cf
來源:簡書