mac osx 上面部署Django項目 apache+mysql+mod_wsgi

來源:互聯網
上載者:User

標籤:

1、安裝Xcode command line tools

首先,編譯mysql和Homebrew需要用到Xcode command line tools,所以首先安裝command line tools;

如果安裝了Xcode,只需要“Preferences… > Downloads”,之後點擊Command Line Tools安裝按鈕;

如果沒有Xcode,去https://developer.apple.com/downloads,搜尋Command Line Tools 下載安裝

2、安裝Homebrew(後面需要用Homebrew安裝mod_wsgi),在命令列視窗輸入

ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

3、配置Apache

Apache預設安裝在Mac osx中,osx 10.10 安裝的apache版本是2.4,開啟終端輸入

sudo apachectl start

開啟瀏覽器輸入 http://localhost/,你能看到‘It Works’

3.1 啟用mod_php

在apache中啟用mod_php

cd /etc/apache2sudo vi httpd.conf

不要注釋這行(去掉前面的#號)

# LoadModule php5_module libexec/apache2/libphp5.so

拷貝php.ini.default到php.ini,拷貝後賦予php.ini寫入權限

cd /etc/sudo cp php.ini.default php.ini
sudo chmod +w php.ini
sudo vi php.ini

在php.ini檔案中,改變MySQL Unix socket(注意如果通過Homebrew安裝MariaDB的預設的是/tmp/mysql.sock)(應該有三處).

xxx.default_socket=/tmp/mysql.sock

測試apache配置ok,重啟apache

apachectl configtestsudo apachectl graceful

如果此時顯示servername問題,開啟/etc/apache2/httpd.conf, 找到ServerName,將其設為localhost

3.2  配置虛擬機器主機

我們將要在apache上配置虛擬機器主機,這將在你mac上提供一個簡單管理多個網站的架構。我通常把主目錄放在~/Sites/,

我們將為我們的網站在Sites下建立主目錄~/Sites/mysite.com,只有Django app網站的靜態內容放在~/Sites/mysite.com下,Django項目

放在~/Documents/mysite

cd /etc/apache2sudo vi httpd.conf

不注釋這行

#Include /private/etc/apache2/extra/httpd-vhosts.conf

測試Apache配置ok

apachectl configtest

這結果應該是

Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not existWarning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not existSyntax OK

上面所有都ok了,我們將要配置虛擬機器主機設定檔

cd /etc/apache2/extra/ sudo vi httpd-vhosts.conf 

用下面內容替換掉httpd-vhosts.conf檔案內容,下面是虛擬機器主機設定檔的一個好的模板

include /private/etc/apache2/extra/vhosts/localhost.confinclude /private/etc/apache2/extra/vhosts/dev.mysite.com.conf

對每個新的網站,都有一個對應的apache設定檔。我們的Django網站將要在http://dev.mysite.com, 我們將在Apache上虛擬機器主機檔案管理這個網站

如果我們想管理其他網站,僅僅需要增加下面行

include /private/etc/apache2/extra/vhosts/dev.mysite2.com.confinclude /private/etc/apache2/extra/vhosts/dev.mysite3.com.confinclude /private/etc/apache2/extra/vhosts/dev.mysite4.com.confinclude /private/etc/apache2/extra/vhosts/dev.mysite5.com.conf

為localhost建立虛擬機器主機設定檔

sudo mkdir -p /etc/apache2/extra/vhosts/cd /etc/apache2/extra/vhosts/sudo vi localhost.conf 

粘貼下面內容到localhost.conf,儲存

<VirtualHost *:80>    DocumentRoot "/Users/xx/Sites/localhost"    ServerName localhost    ErrorLog "/Users/xx/Sites/logs/localhost-error_log"    CustomLog "/Users/xx/Sites/logs/localhost-access_log" common    <Directory "/Users/xx/Sites/localhost">            Require all granted    </Directory></VirtualHost>

為dev.mysite.com建立虛擬機器主機檔案

cd /etc/apache2/extra/vhosts/sudo vi dev.mysite.com.conf 

粘貼下面內容到dev.mysite.com.conf, 儲存

<VirtualHost *:80>    DocumentRoot "/Users/xx/Sites/mysite.com"    ServerName dev.mysite.com    ErrorLog "/Users/xx/Sites/logs/mysite.com-error_log"    CustomLog "/Users/xx/Sites/logs/mysite.com-access_log" common    <Directory "/Users/xx/Sites/mysite.com">           Require all granted    </Directory></VirtualHost>

建立日誌和虛擬機器主機的根目錄

mkdir -p  ~/Sites/logs/mkdir -p  ~/Sites/localhost/mkdir -p  ~/Sites/mysite.com/

測試apache為ok

apachectl configtestSyntax OK

重啟apache

sudo apachectl graceful

最後在瀏覽器輸入http://dev.mysite.com,測試網站,在之前要,開啟/etc/hosts:

sudo vi /etc/hosts

增加行

 開啟終端,檢測設定檔

ping dev.mysite.com

結果應該是:

最好在~/Sites/mysite.com/下面增加一個index.html, 在瀏覽器輸入http://dev.mysite.com ,可以檢查一下記錄檔是否正常

3.3、安裝MySQL(MariaDB)

不具體說明了,參考官網提供安裝步驟https://mariadb.com/blog/installing-mariadb-10010-mac-os-x-homebrew

3.4、安裝phpMyAdmin

下載最新版本的phpMyAdmin,在下面目錄解壓縮

/Users/xx/Sites/localhost/phpmyadmin

在瀏覽器輸入http://localhost/phpmyadmin,登陸用root,密碼為上面資料庫設定的密碼,開啟Users標籤,選擇‘Add user’

建立一個使用者project密碼為project,選擇‘Create database with same name and grant all privileges’,然後‘Add user’

這樣,我們準備好了我們Django項目的資料庫。

5、安裝virtualenv

..........(明天更新)..........

mac osx 上面部署Django項目 apache+mysql+mod_wsgi

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.