Django部署至Apache的步驟(Ubuntu12.04下)
0x00 前言
在這裡先說一點人生的經驗 之前買了騰訊雲的伺服器(有學生認證的話只要1塊錢) 我明明在自己電腦上ubuntu虛擬機器用了一年多了 卻作死選了個Centos 還是最新版的(7.2) 於是出現了各種問題 網上的解決方案都很少 最後因為一些很扯的問題放棄了 重灌了一個ubuntu12.04的系統 感覺舒服 簡單 多了
人生的經驗:
* 關於Linux,個人使用的話版本可以儘量新(各種作死有保障,比如作死之前虛擬機器打個快照什麼的),而伺服器的話版本儘量選擇穩定 舊的 的,這樣的話出現各種問題的機率比較小,而且網上的解決方案也多一些。
0x01 部署步驟
- a.準備工作
- 首先建議大家先通過
sudo apt-get install python-pip
- 首先建議大家先通過
- b.安裝各種軟體
- mysql
sudo apt-get install mysql-server-core-5.5
- apache
sudo apt-get install apache2
安裝後請使用apachectl -v
來檢查版本號 2.4.x與2.2.x後續有一點區別 - django
sudo pip install Django==1.8
- mysql
- c.建立Django與Apache的連線
sudo apt-get install libapache2-mod-wsgi #Python2
sudo apt-get install libapache2-mod-wsgi-py3 #Python3
- 如果你是Python2使用者又恰巧不小心輸入了第二條命令,那麼不要怕,再輸入第一條命令就好啦,同樣的Python3也可以通過再輸入第二條命令來重置Apache的Python直譯器(這種說法不一定對,但是我相信你懂我意思!)!
- d.讓Apache找到Django
- 可以分為以下四步:
- 將Django工程放在/var/www/下;
- sudo vi /etc/apache2/sites-available/yoursite.conf 修改配置檔案;
- sudo a2ensite yoursite.conf 配置檔案生效;
- sudo service apache2 restart 重啟Apache。
- 然後新建一個網站的配置檔案
sudo vi /etc/apache2/sites-available/yoursite.conf
配置檔案的具體內容如下 `
ServerName www.yourdomain.com # 改為你自己的域名 # ServerAlias otherdomain.com # ServerAdmin [email protected] # 存放使用者上傳圖片等檔案的位置,注意去掉#號 #Alias /media/ /var/www/ProjectName/media/ # 靜態檔案(js/css/images) Alias /static/ /var/www/ProjectName/static/ # 允許通過網路獲取static的內容 <Directory /var/www/ProjectName/static/> Require all granted </Directory> # 最重要的!通過wsgi.py讓Apache識別這是一個Django工程,別漏掉前邊的 / WSGIScriptAlias / /var/www/ProjectName/ProjectName/wsgi.py # wsgi.py檔案的父級目錄,第一個ProjectName為Django工程目錄 # 第二個ProjectName為Django自建的與工程同名的目錄 <Directory /var/www/ProjectName/ProjectName/> <Files wsgi.py> Require all granted </Files> </Directory> </VirtualHost>`
需要注意的是 假如你的Apache版本為2.2.x 則將
Require all granted
改為Order deny,allow Allow from all
- 然後 執行
sudo a2ensite yoursite.conf
來使網站生效 - 也可以執行
sudo a2dissite yoursite.conf
來使網站失效 最後重啟Apache即可
sudo service apache2 restart
- 可以分為以下四步:
- e.修改Django的wsgi.py檔案
- 路徑
/var/www/ProjectName/ProjectName/wsgi.py
- 修改為以下內容:
```import os from os.path import join,dirname,abspath PROJECT_DIR = dirname(dirname(abspath(file)))
import sys sys.path.insert(0,PROJECT_DIR) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
from django.core.wsgi import get_wsgi_application application = get_wsgi_application()- 注意將"project.settings" 改為正確的名稱
再次重啟Apache
sudo service apache2 restart
- 路徑
0x02 疑難排查
注意疑難排查主要看日誌/var/log/apache2/error.log
與systemctl -xe
以下是一些常見問題的解決(都要通過看錯誤日誌得到):
相關推薦
Django部署至Apache的步驟(Ubuntu12.04下)
0x00 前言在這裡先說一點人生的經驗 之前買了騰訊雲的伺服器(有學生認證的話只要1塊錢) 我明明在自己電腦上ubuntu虛擬機器用了一年多了 卻作死選了個Centos 還是最新版的(7.2) 於是出現了各種問題 網上的解決方案都很少 最後因為一些很扯的問題放棄了 重灌了一個
ubuntu12.04下django安裝略談
首先你需要肯定你的機子上裝了python 現在ubuntu已經自帶,所以不必操心 當然你可以在你的機子下測試一下,只需在 terminal 下輸入 python 如果出現下面的介面就說明你機子已經裝了python Python 2.7.3 (default, Aug 1
Windows下 Django部署到Apache
沒想到部署起來會如此困難,花了一天的時間才部署成功 簡單總結以及記錄踩到的坑 最主要的問題就是mod_wsgi.so的相容性問題,mod_wsgi.so是編譯好的庫檔案,所以在對其直接下載使用時有很高的要求,需要Apache+python的版本契合。我下
Ubuntu12.04 下 GTK3.xx 的安裝、編譯和測試
start 程序 set rest gdb cal pkg 2.0 stop 用此方法成功在UBUNTU 12.04下安裝GTK 3.xxx。 一、安裝 1、安裝gcc/g++/gdb/make 等基本編程工具 $sudo apt-ge
Ubuntu12.04下安裝VirtualBox
deb文件 http 修改 nload .com 行修改 align 硬盤 size 一、安裝虛擬機VirtualBox VirtualBox下載地址:https://www.virtualbox.org/wiki/Linux_Downloads 本文下載該版本:virtu
ubuntu12.04下安裝Python3.5.2
.py http image clas ubuntu body eas conf inf 1 下載源碼包 (https://www.python.org/downloads/release/python-352/) 2 解壓Python-3.5.2.tar.xz 3 s
NS3在ubuntu12.04下eclipse中的編譯環境配置
1、新建並新增NS3原始碼工程,注意新增的原始碼路徑 2、配置編譯工具,使用waf工具注意在每個最小的目錄單元下面都有waf 和wscript兩個檔案(當然也可以沒有,那樣就在最外面的一層目錄下加入指定的要編譯的檔案的路徑)
Ubuntu12.04下使用Jlink Command燒寫u-boot到mini2440 nand flash
1.Ubuntu下安裝Jlink工具 到http://www.segger.com/cms/jlink-software.html下載Beta software version for Linux,選擇安裝包安裝即可。不同安裝包安裝方法各不相同,請自行谷歌,注意選擇32位
Ubuntu12.04下安裝搜狗輸入法
搜狗輸入法在Ubuntu12、14、16都可以去官網下載對應deb安裝包。 為了能安裝輸入法,建議安裝im-config(sudo apt-get install im-switch),不推薦使用ibus(現在ibus已經不好用了),然後開啟im-switch
[Python]DJango部署在Apache伺服器配置示例
1.Django安裝 1.1. 安裝python。 1.2. 設定環境變數,把python的路徑和python下邊的scripts路徑放在系統的path中。 1.3. 使用pip install
Django 部署到Apache上CSS消失的問題
在網上搜索到相關的解決方案,但是我搞不定,可能還沒到那麼高深的地步吧, 我自己研究了哈,做了兩個小小的改動,讓admin頁面有了CSS 第一步: 在apache2.conf中加了以下內容 <Location "/static/"> SetHandler
ubuntu12.04下編譯Linux tina 2.1/android經驗
用的是osboxes下的vdi。 編譯Linux 1. 不能在root使用者下操作 2. 執行 make kernel_menuconfig 報錯,需要 apt-get install zlib1g zlib1g-dev -yapt-get -y install libncu
Ubuntu12.04下安裝配置adb工具
由專案需要,現在需要在android下測試linux核心的Futex中的requeue漏洞。那麼首先要做的肯定是搭建測試 環境。網上看了一些部落格,發現很多都是照搬照抄,甚至將SUBSYSYTEM
Ubuntu12.04下OpenVPN安裝和客戶端配置
一、實驗環境: 1.物理拓撲: 目的:利用VPN Server,使Client01和Client02能夠互訪。 2.主機配置: 主機名 IP(Static) 系統
ubuntu12.04下的ssh與telnet安裝
ubuntu安裝telnet服務 1. sudo apt-get install xinetd telnetd sudo vi /etc/inetd.conf並加入以下一行,假如沒有發現這個檔案,自己新建立一個也是可以的哦,剛開始我也不知道,自己試了之後才知道的。
Ubuntu12.04下禁止U盤等裝置自動掛載和開啟
有時候需要禁止U盤等裝置的自動掛載,在Ubuntu12.04下方法: 進入系統終端,ctrl+alt+T或者gnome-terminal,禁止自動掛載: $ gsettings setorg.gnome.desktop.media-handling automount fa
ubuntu12.04下安裝cmake-3.0.1
對Cmake的說明 Cmake是一個跨平臺的程式編譯工具,說的簡單點,就是同樣的原始檔,在windows下使用cmake,選擇VS編譯器,就可以編譯出vs的工程,使用CDT就可以編譯出Eclipse的工程,使用一般的編譯器,還可以直接編譯出Make
Windows上Python3.6環境django部署到Apache伺服器
最近在部署一個django專案到Apache伺服器上遇到了不少問題現整理個完整流程 1.準備工作 python版本:python3.6.1 64位 django版本:django 1.11.2 Apa
Ubuntu12.04下resolv.conf重啟機器後失效的問題解決
自從升級了Ubuntu到12.04後,發現在/etc/resolv.conf下指定的DNS伺服器,一旦重啟了就又消失不起作用了,還要重新寫,很麻煩。在google上搜了一下,發現同樣的問題已經有人給出了原因和解決方案:1 /etc/resolv.conf 其實是一個Link
Eclipse中web專案部署至Tomcat步驟
3.在Servers檢視,Remove刪除剛剛釋出的專案: 4.開啟Tomcat伺服器配置項: 5.修改以下兩個配置項,Tomcat保持啟動狀態,否則Server Locations一欄變灰色,不可用: 6.配置lib輸出。 專案右鍵: 點選下一步,選中需要隨專案釋出到tomcat的包,完成確認操作。 7.