1. 程式人生 > >Django部署至Apache的步驟(Ubuntu12.04下)

Django部署至Apache的步驟(Ubuntu12.04下)


0x00 前言

在這裡先說一點人生的經驗 之前買了騰訊雲的伺服器(有學生認證的話只要1塊錢) 我明明在自己電腦上ubuntu虛擬機器用了一年多了 卻作死選了個Centos 還是最新版的(7.2) 於是出現了各種問題 網上的解決方案都很少 最後因為一些很扯的問題放棄了 重灌了一個ubuntu12.04的系統 感覺舒服 簡單 多了

人生的經驗:

* 關於Linux,個人使用的話版本可以儘量新(各種作死有保障,比如作死之前虛擬機器打個快照什麼的),而伺服器的話版本儘量選擇穩定 舊的 的,這樣的話出現各種問題的機率比較小,而且網上的解決方案也多一些。

0x01 部署步驟

  • a.準備工作
    • 首先建議大家先通過sudo apt-get install python-pip
      來安裝pip,這是一個專門管理Python包的軟體,我覺得相當於一個更細化的apt吧
  • 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
  • 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.logsystemctl -xe

以下是一些常見問題的解決(都要通過看錯誤日誌得到):

相關推薦

Django部署Apache步驟(Ubuntu12.04)

0x00 前言在這裡先說一點人生的經驗 之前買了騰訊雲的伺服器(有學生認證的話只要1塊錢) 我明明在自己電腦上ubuntu虛擬機器用了一年多了 卻作死選了個Centos 還是最新版的(7.2) 於是出現了各種問題 網上的解決方案都很少 最後因為一些很扯的問題放棄了 重灌了一個

ubuntu12.04django安裝略談

首先你需要肯定你的機子上裝了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.04eclipse中的編譯環境配置

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.04OpenVPN安裝和客戶端配置

一、實驗環境: 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.04resolv.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.