---
title: "Conas Django a úsáid le Apache agus mod_wsgi"
version: 5.2
locale: ga
source: https://docs.djangoproject.com/ga/5.2/howto/deployment/wsgi/modwsgi/
canonical: https://djangodocs.dev/ga/5.2/howto/deployment/wsgi/modwsgi/
---
# Conas Django a úsáid le Apache agus `mod_wsgi`

Is bealach trialaithe é Django a imscaradh le [Apache](https://httpd.apache.org/) agus [mod\_wsgi](https://modwsgi.readthedocs.io/en/develop/) chun Django a chur i dtáirgeadh.

mod\_wsgi is modúl Apache é is féidir a óstáil ar aon iarratas Python [WSGI](https://wsgi.readthedocs.io/en/latest/), 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](https://modwsgi.readthedocs.io/) 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úsach

Nuair a bheidh mod\_wsgi suiteáilte agus gníomhachtaithe agat, cuir in eagar comhad [httpd.conf](https://cwiki.apache.org/confluence/display/httpd/DistrosDefaultLayout) 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](https://modwsgi.readthedocs.io/en/develop/) 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.

> **Warning**
>
> Má reáchtáiltear suíomhanna iolracha Django i bpróiseas mod\_wsgi amháin, úsáidfidh gach ceann acu socruithe cibé acu a tharlaíonn a rith ar dtús. Is féidir é seo a réiteach trí athrú:
>
> ```
> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")
> ```
>
> i wsgi.py\`, chuig:
>
> ```
> os.environ["DJANGO_SETTINGS_MODULE"] = "{{ project_name }}.settings"
> ```
>
> or by:ref: ag baint úsáide as mod\_wsgi daemon mod\_wsgi \<daemon-mode\>\`agus a chinntiú go ritheann gach suíomh ina phróiseas daemon féin.

> **Socrú UnicodeEncodeError le haghaidh uaslódála comhad**
>
> Má fhaigheann tú `UnicodeEncodeError` agus comhaid á uaslódáil nó ag scríobh le hainmneacha comhaid nó ábhar ina bhfuil carachtair neamh-ASCII, déan cinnte go bhfuil Apache cumraithe chun tacú le hionchódú UTF-8:
>
> ```shell
> export LANG='en_US.UTF-8'
> export LC_ALL='en_US.UTF-8'
> ```
>
> Suíomh coitianta chun an chumraíocht seo a chur ná `/etc/apache2/envvars`.
>
> De rogha air sin, más t:ref: ag baint úsáide as mod\_wsgi daemon mod\_wsgi \`is \<daemon-mode\>féidir leat roghanna \`\`lang\` agus `locale` a chur leis an treoir WsgiDaemonProcess :
>
> ```text
> WSGIDaemonProcess example.com lang='en_US.UTF-8' locale='en_US.UTF-8'
> ```
>
> Féach an ranna:ref: unicode-files den treoir tagartha Unicode le haghaidh sonraí.

## Ag baint úsáide as modh daemon `mod_wsgi`

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áil

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:

- [Nginx](https://nginx.org/en/)
- Leagan scriostha de [Apache](https://httpd.apache.org/)

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áin

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 ó Apache

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\>.
