Conas Django a úsáid le Apache agus mod_wsgiLink to this heading

Is bealach trialaithe é Django a imscaradh le Apache agus mod_wsgi chun Django a chur i dtáirgeadh.

mod_wsgi is modúl Apache é is féidir a óstáil ar aon iarratas Python WSGI, lena n-áirítear Django. Oibreoidh Django le haon leagan de Apache a thacaíonn mod_wsgi.

Is é an doiciméadú oifigiúil mod_wsgi do fhoinse le haghaidh na sonraí go léir faoi conas mod_wsgi a úsáid. Is dócha go mbeidh tú ag iarraidh tús a chur leis an “doiciméadú suiteála agus cumraíochta” _.

Cumraíocht bunúsachLink to this heading

Nuair a bheidh mod_wsgi suiteáilte agus gníomhachtaithe agat, cuir in eagar comhad httpd.conf do fhreastalaí Apache agus cuir an méid seo a leanas leis.

Apache
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonHome /path/to/venv
WSGIPythonPath /path/to/mysite.com

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

Is é an chéad ghiotán sa líne WSGIScriptalias` an bunchosán URL ar mhaith leat freastal ar d'iarratas (/ léiríonn an url fréimhe), agus is é an dara ceann suíomh “comhad WSGI” - féach thíos - ar do chóras, de ghnáth taobh istigh de do phacáiste tionscadail (mysite sa sampla seo). Insíonn sé seo le Apache aon iarratas faoi bhun an URL tugtha ag baint úsáide as an bhfeidhmchlár WSGI atá sainmhínithe sa chomhad sin.

Má shuiteálann tú spleáchas Python do thionscadail taobh istigh de a:mod: timpeallacht fhíorúil, cuir an cosán leis ag b <venv>aint úsáide as wsgipythonhome. Féach an treoir timpeallachta fíorúil mod_wsgi le haghaidh tuilleadh sonraí.

Cinntíonn an líne WSgipythonPath` go bhfuil do phacáiste tionscadail ar fáil le hallmhairiú ar an gcosán Python; i bhfocail eile, go n-oibríonn allmhairiú mysite.

Cinntíonn an píosa <Directory>```gur féidir le Apache rochtain a fháil ar do chomhad:file: wsgi.py.

Ansin beidh orainn a chinntiú go bhfuil sé seo: file: wsgi.py le réad feidhmchláir WSGI ann. Maidir le leagan Django 1.4, beidh ceann cruthaithe ag: djadmin: startproject duit; ar shlí eile, beidh ort é a chruthú. Féach na:doc: Doiciméadú forbhreathnaithe WSGI maidir</howto/deployment/wsgi/index> leis an ábhar réamhshocraithe ba chóir duit a chur sa chomhad seo, agus cad eile is féidir leat a chur leis.

Ag baint úsáide as modh daemon mod_wsgiLink to this heading

Is é “mód Daemon” an modh a mholtar chun mod_wsgi a reáchtáil (ar ardáin neamh-Windows). Chun an grúpa próiseas daemon riachtanach a chruthú agus an sampla Django a tharmligean chun rith ann, beidh ort treoracha WSGidaemonProcess ``agus `WSGIProcessGroup cuí a chur leis. Athrú eile atá ag teastáil ar an gcumraíocht thuas má úsáideann tú modh daemon ná nach féidir leat wsgipythonpath a úsáid; ina ionad sin ba chóir duit an rogha python-path a úsáid chun WsgidaemonProcess `, mar shampla:

Apache
WSGIDaemonProcess example.com python-home=/path/to/venv python-path=/path/to/mysite.com
WSGIProcessGroup example.com

Más mian leat freastal ar do thionscadal i bhfo-eolaire (https://example.com/mysite sa sampla seo), is féidir leat WSGiscriptalias a chur leis an gcumraíocht thuas:

Apache
WSGIScriptAlias /mysite /path/to/mysite.com/mysite/wsgi.py process-group=example.com

Féach an doiciméadú oifigiúil mod_wsgi le haghaidh `sonraí maidir le mód daemon a bhunú `_.

Comhad a sheirbheáilLink to this heading

Ní fhreastalaíonn Django ar chomhaid féin; fágann sé an post sin do cibé freastalaí gréasáin a roghnaíonn tú.

Molaimid freastalaí gréasáin ar leithligh a úsáid - ie, ceann nach bhfuil Django á rith freisin - chun freastalaí ar na meáin a sheirbheáil. Seo roinnt roghanna maithe:

Mura bhfuil aon rogha agat, áfach, ach comhaid meán a sheirbheáil ar an Apache VirtualHost céanna le Django, is féidir leat Apache a chur ar bun chun roinnt URLanna a sheirbheáil mar mheáin statacha, agus cuid eile ag baint úsáide as an comhéadan mod_wsgi chuig Django.

Socraíonn an sampla seo Django ag fréamh an láithreáin, ach freastalaíonn sé ar robots.txt`, favicon.ico', agus aon rud sa spás URL `/static/`` agus /media/ mar chomhad statach. Freastalfar gach URL eile ag baint úsáide as mod_wsgi:

Apache
Alias /robots.txt /path/to/mysite.com/static/robots.txt
Alias /favicon.ico /path/to/mysite.com/static/favicon.ico

Alias /media/ /path/to/mysite.com/media/
Alias /static/ /path/to/mysite.com/static/

<Directory /path/to/mysite.com/static>
Require all granted
</Directory>

<Directory /path/to/mysite.com/media>
Require all granted
</Directory>

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

Freastal ar na comhaid riaracháinLink to this heading

Nuair a bhíonn: MOD: django.contrib.staticfiles in:setting: INSTALLED_APPS, freastalaíonn freastalaí forbartha Django go huathoibríoch ar chomhaid statacha an aip riaracháin (agus aon aipeanna suiteáilte eile). Ní hé seo an cás áfach nuair a úsáideann tú aon socrú freastalaí eile. Tá tú freagrach as Apache a bhunú, nó cibé freastalaí gréasáin atá á úsáid agat, chun freastal ar na comhaid riaracháin.

Tá na comhaid riaracháin ina gcónaí i (:source: `django/contrib/admin/static/admin `) den dáileadh Django.

Molaimid láidre úsáid: mod: django.contrib.staticfiles chun na comhaid riaracháin a láimhseáil (in éineacht le freastalaí gréasáin mar a leagtar amach sa chuid roimhe seo; ciallaíonn sé seo an t-ordú bainistíochta: djadmin: collectstatic a úsáid chun na comhaid statacha a bhailiú in:setting: STATIC_ROOT, agus ansin do fhreastalaí gréasáin a chumrú chun socrú: STATIC_ROOT: STATIC_URL), ach seo trí chur chuige eile:

  1. Cruthaigh nasc siombalach leis na comhaid statacha riaracháin ó laistigh de fhréamh do dhoiciméad (d'fhéadfadh go mbeadh +FollowSymlinks` ag teastáil air seo i do chumraíocht Apache).

  2. Úsáid treoir Alias, mar a léirítear thuas, chun an URL iomchuí (b'fhéidir: socrú: STATIC_URL + admin/) a aithris chuig suíomh iarbhír na gcomhaid riaracháin.

  3. Cóipeáil na comhaid statacha riaracháin ionas go gcónaíonn siad laistigh de fhréamh doiciméad Apache.

Fíordheimhniú i gcoinne bunachar sonraí úsáideoirí Django ó ApacheLink to this heading

Soláthraíonn Django láimhseálaí chun ligean Apache úsáideoirí a fhíordheimhniú go díreach i gcoinne cúltaca fíordheimhnithe Django. Féach na:doc: doiciméadú fíordheimhnithe mod_wsgi </howto/deployment/wsgi/apache-auth>.