[筆記] Apache2 設定不一樣

有些步驟不寫起來,老是忘記。

新開一台雲端server之後,首先更新 apt-get
sudo apt-get update
sudo apt-get upgrade

安裝 pip 套件,使用python來管理察看套件非常方便也好用。
sudo apt-get install python-pip

利用pip安裝 django
sudo pip install django

安裝apache
sudo apt-get install apache2

安裝wsgi,django銜接apache的方式。
sudo apt-get install libapache2-mod-wsgi

建立django project之後,修改當中的
projectpath/porject/settingsappname/wsgi.py
import os
import sys

sys.path.append(os.path.dirname(os.path.dirname(__file__)))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settingsappname.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

修改
settings.py

import os
PROJECT_DIR = os.path.dirname(os.path.dirname(__file__))


STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(PROJECT_DIR, STATIC_URL.strip("/"))


專案檔案配置
/examplepro/exampleprosettings.py
urls.py
wsgi.py
/app/templates/app*.html
/static/css
/js

各個app的html檔案放在各自app的templates當中的同名app資料夾中,引入的css或js或圖片則是放在各自app的static中同名的app資料夾當中,看似有點複雜,可是為了方便管理,還是乖乖來吧,檔案配置好之後,要記得在project路徑下面下指令
python manage.py collectstatic

所有各app引入的 static 檔案會自動蒐集到
/js/css
/examplepro/static/app
/examplepro/static/app

template/html當中的引入檔
<link rel="stylesheet" href="/static/app/css/style.css" type="text/css" media="all" />
<script type='text/javascript' src='/static/app/js/jquery-1.8.3.min.js'></script>

run apache 之後能抓到引入js了。



接下來,在win跟linux當中設定有點不一樣的部分了。

Linux
新增
/etc/apache2/sites-enabled/mysetting
檔案
路徑都直接key,沒有"雙引號
<virtualhost *:80>
    WSGIScriptAlias / /exampleproPATH/settingsappname/wsgi.py
    Alias /static /exampleproPATH/static
    Alias /media /exampleproPATH/media
</VirtualHost>

如果改port的話,記得修改
/etc/apache2/ports.conf

Windows
修改
C:\AppServ\Apache2.2\conf\httpd.conf
檔案
<virtualhost *:80>
    WSGIScriptAlias / "D:/exampleproPATH/settingsappname/wsgi.py"

    Alias /media "D:/exampleproPATH/settingsappname/media/"
    Alias /static "D:/exampleproPATH/settingsappname/static/"

    <directory "D:/exampleproPATH/">
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

一台Server的環境就差不多架設好了,安裝了python-pip即可按需求來安裝需要用的套件。
pip install packageNam

大部分windows的套件有可能會有衝突,可至Unofficial Windows Binaries for Python Extension Packages

張貼留言

0 留言