前言:
因為需要在服務器下運行python腳本,所以需要搭建Django服務器。所以將自己的學習過程也記錄下來,方便日后查閱。
本文環境如下:
Ubuntu 16.04 python2.7
Apache2.4
Django1.8
正文:
下面是ubuntu上的部署詳細步驟:
1. 安裝 apache2 和 mod_wsgi
sudo apt-get install apache2 # 如果是Python 2 執行如下 sudo apt-get install libapache2-mod-wsgi # 如果是Python 3 執行如下
sudo apt-get install libapache2-mod-wsgi-py3
2. 確認安裝的apache2版本號
apachectl -v
結果如下:
root@ygh:/var/www/mysite# apachectl -v
Server version: Apache/2.4.18 (Ubuntu)
Server built: 2016-04-15T18:00:57
3. 測試apache
打開瀏覽器輸入,127.0.0.1

顯示Apache安裝成功。
4、如果沒有安裝Django環境,安裝過程如下:
如果是學習,可以選擇目前的 Django 1.8.x 來進行,是個穩定版本。
4.1. 用 pip 來安裝
4.1.1 需要先安裝pip
(1). ubuntu:
sudo apt-get install python-pip
(2). Fedora:
yum install python-pip
利用 pip 安裝 Django
(sudo) pip install Django 或者 (sudo) pip install Django==1.8.16 或者 pip install Django==1.10.3
我自己使用的命令是:pip install Django==1.8.16
終端上輸入 python ,點擊 Enter,進行 python 環境
>>> import django >>> django.VERSION (1, 8, 16, 'final', 0) >>> >>> django.get_version() '1.8.16'
如果運行后看到版本號,就證明安裝成功了
5.創建django工程
Apache下的項目一般會放在/var/www/下,如果你想自己修改目錄,需要修改配置文件,因為自己為了簡化操作,沒有修改。
cd /var/www/
sudo django-admin.py startproject mysite
一般使用 django-admin startproject mysite 也可以創建工程,看個人電腦的情況而定,兩個命令可以都試一下。
6. 測試django工程
cd mysite
采用8000端口,並在本地運行:
sudo python manage.py runserver 8000
瀏覽器測試

7.更改端口
因為需要將Apache和Django進行綁定,所以需要將端口更改為它們共有的。
sudo vi /etc/apache2/ports.conf
添加如下:
NamevirtualHost *:8888 Listen 8888
表示VirtualHost *:8888的虛擬主機監聽8888端口
7.1. 添加網站配置文件
sudo vi /etc/apache2/sites-available/mysite.conf
<VirtualHost *:8888> DocumentRoot /var/www/mysite/mysite <Directory /var/www/mysite/mysite> Order allow,deny Allow from all </Directory> WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py </VirtualHost>
8. 更改django工程
sudo vi /var/www/mysite/mysite/wsgi.py
添加如下:
import sys sys.path.append("/var/www/mysite/")
9. 配置生效
sudo a2ensite mysite.conf
有時候需要不使能配置
sudo a2dissite mysite.conf
然后需要 apache服務重啟
sudo service apache2 restart 或 sudo service apache2 reload
10. 登錄測試
127.0.0.1:8888

11. 創建app測試
cd /var/www/mysite/ python manage.py startapp blog sudo vi blog/views
插入如下代碼:
from django.shortcuts import render from django.http import HttpResponse # Create your views here. def index(request): return HttpResponse("hello ygh")
然后修改網絡地址文件
sudo vi mysite/urls.py
from django.conf.urls import url from django.contrib import admin from blog import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', views.index), ]
瀏覽器測試

這樣就將Django和Apache綁定,可以部署到服務器上了。
=====================================================
2017.3.21補充:
因為項目需要,在Apache的默認文件夾/var/www/不方便項目的遷移,要將其他文件下項目部署到服務器上,所以解決了取消默認文件夾的問題,解決方案如下:
首先進入配置文件:
gedit /etc/apache2/apache2.conf
然后修改如下內容:
<Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> 改為如下內容: <Directory /> Options Indexes FollowSymLinks AllowOverride None #Require all denied </Directory>
在其下添加如下內容:
<Directory /opt/deep_ocr/python/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
/opt/deep_ocr/python/是我自己的目錄,修改完成,這時可以指定/opt/deep_ocr/python/為你的項目目錄。
完成!
by still、
