{"title":"Conas Django a úsáid le Apache agus mod_wsgi","version":"6.1","locale":"ga","docname":"howto/deployment/wsgi/modwsgi","url":"/ga/6.1/howto/deployment/wsgi/modwsgi/","canonical":"https://djangodocs.dev/ga/6.1/howto/deployment/wsgi/modwsgi/","summary":"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…","html":"<h1>Conas Django a úsáid le Apache agus <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code><a class=\"heading-anchor\" href=\"#how-to-use-django-with-apache-and-mod-wsgi\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Is bealach trialaithe é Django a imscaradh le <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a> agus <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/\">mod_wsgi</a> chun Django a chur i dtáirgeadh.</p>\n<p>mod_wsgi is modúl Apache é is féidir a óstáil ar aon iarratas Python <a class=\"reference external\" href=\"https://wsgi.readthedocs.io/en/latest/\">WSGI</a>, lena n-áirítear Django. Oibreoidh Django le haon leagan de Apache a thacaíonn mod_wsgi.</p>\n<p>Is é an <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/installation.html\">doiciméadú oifigiúil mod_wsgi</a> 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” _.</p>\n<section id=\"basic-configuration\">\n<h2>Cumraíocht bunúsach<a class=\"heading-anchor\" href=\"#basic-configuration\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Nuair a bheidh mod_wsgi suiteáilte agus gníomhachtaithe agat, cuir in eagar comhad <a class=\"reference external\" href=\"https://cwiki.apache.org/confluence/display/httpd/DistrosDefaultLayout\">httpd.conf</a> do fhreastalaí Apache agus cuir an méid seo a leanas leis.</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">WSGIScriptAlias</span><span class=\"w\"> </span>/<span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/mysite/wsgi.py</span>\n<span class=\"nb\">WSGIPythonHome</span><span class=\"w\"> </span><span class=\"sx\">/path/to/venv</span>\n<span class=\"nb\">WSGIPythonPath</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/mysite</span><span class=\"nt\">&gt;</span>\n<span class=\"nt\">&lt;Files</span><span class=\"w\"> </span><span class=\"s\">wsgi.py</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Files&gt;</span>\n<span class=\"nt\">&lt;/Directory&gt;</span>\n</code></pre></div>\n<p>Is é an chéad ghiotán sa líne WSGIScriptalias` an bunchosán URL ar mhaith leat freastal ar d'iarratas (<code class=\"docutils literal notranslate\"><span class=\"pre\">/</span></code> 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 (<code class=\"docutils literal notranslate\"><span class=\"pre\">mysite</span></code> 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.</p>\n<p>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 &lt;venv&gt;aint úsáide as <code class=\"docutils literal notranslate\"><span class=\"pre\">wsgipythonhome</span></code>. Féach an treoir timpeallachta fíorúil <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/\">mod_wsgi</a> le haghaidh tuilleadh sonraí.</p>\n<p>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 <code class=\"docutils literal notranslate\"><span class=\"pre\">allmhairiú</span> <span class=\"pre\">mysite</span></code>.</p>\n<p>Cinntíonn an píosa &lt;Directory&gt;```gur féidir le Apache rochtain a fháil ar do chomhad:file: wsgi.py.</p>\n<p>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&lt;/howto/deployment/wsgi/index&gt; leis an ábhar réamhshocraithe ba chóir duit a chur sa chomhad seo, agus cad eile is féidir leat a chur leis.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>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ú:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">environ</span><span class=\"o\">.</span><span class=\"n\">setdefault</span><span class=\"p\">(</span><span class=\"s2\">&quot;DJANGO_SETTINGS_MODULE&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;{{ project_name }}.settings&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>i wsgi.py`, chuig:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">environ</span><span class=\"p\">[</span><span class=\"s2\">&quot;DJANGO_SETTINGS_MODULE&quot;</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;{{ project_name }}.settings&quot;</span>\n</code></pre></div>\n<p>or by:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>ag baint úsáide as mod_wsgi daemon mod_wsgi &lt;daemon-mode&gt;`agus a chinntiú go ritheann gach suíomh ina phróiseas daemon féin.</p>\n</aside>\n<aside class=\"admonition-fixing-unicodeencodeerror-for-file-uploads admonition\">\n<p class=\"admonition-title\">Socrú <code class=\"docutils literal notranslate\"><span class=\"pre\">UnicodeEncodeError</span></code> le haghaidh uaslódála comhad</p>\n<p>Má fhaigheann tú <code class=\"docutils literal notranslate\"><span class=\"pre\">UnicodeEncodeError</span></code> 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:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"nb\">export</span><span class=\"w\"> </span><span class=\"nv\">LANG</span><span class=\"o\">=</span><span class=\"s1\">&#39;en_US.UTF-8&#39;</span>\n<span class=\"nb\">export</span><span class=\"w\"> </span><span class=\"nv\">LC_ALL</span><span class=\"o\">=</span><span class=\"s1\">&#39;en_US.UTF-8&#39;</span>\n</code></pre></div>\n<p>Suíomh coitianta chun an chumraíocht seo a chur ná <code class=\"docutils literal notranslate\"><span class=\"pre\">/etc/apache2/envvars</span></code>.</p>\n<p>De rogha air sin, más t:ref: ag baint úsáide as mod_wsgi daemon mod_wsgi `is &lt;daemon-mode&gt;féidir leat roghanna ``lang` agus <code class=\"docutils literal notranslate\"><span class=\"pre\">locale</span></code> a chur leis an treoir <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>WsgiDaemonProcess <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>:</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Text code\"><code>WSGIDaemonProcess example.com lang=&#39;en_US.UTF-8&#39; locale=&#39;en_US.UTF-8&#39;\n</code></pre></div>\n<p>Féach an ranna:ref: unicode-files den treoir tagartha Unicode le haghaidh sonraí.</p>\n</aside>\n</section>\n<section id=\"using-mod-wsgi-daemon-mode\">\n<span id=\"daemon-mode\"></span><h2>Ag baint úsáide as modh daemon <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code><a class=\"heading-anchor\" href=\"#using-mod-wsgi-daemon-mode\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>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 <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGidaemonProcess</span> <span class=\"pre\">``agus</span> <span class=\"pre\">`WSGIProcessGroup</span></code> 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 <code class=\"docutils literal notranslate\"><span class=\"pre\">wsgipythonpath</span></code> a úsáid; ina ionad sin ba chóir duit an rogha <code class=\"docutils literal notranslate\"><span class=\"pre\">python-path</span></code> a úsáid chun WsgidaemonProcess `, mar shampla:</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">WSGIDaemonProcess</span><span class=\"w\"> </span>example.com<span class=\"w\"> </span>python-home=/path/to/venv<span class=\"w\"> </span>python-path=/path/to/mysite.com\n<span class=\"nb\">WSGIProcessGroup</span><span class=\"w\"> </span>example.com\n</code></pre></div>\n<p>Más mian leat freastal ar do thionscadal i bhfo-eolaire (<code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/mysite</span></code> sa sampla seo), is féidir leat <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGiscriptalias</span></code> a chur leis an gcumraíocht thuas:</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">WSGIScriptAlias</span><span class=\"w\"> </span><span class=\"sx\">/mysite</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/mysite/wsgi.py</span><span class=\"w\"> </span>process-group=example.com\n</code></pre></div>\n<p>Féach an doiciméadú oifigiúil mod_wsgi le haghaidh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sonraí maidir le mód daemon a bhunú <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_.</p>\n</section>\n<section id=\"serving-files\">\n<span id=\"id1\"></span><h2>Comhad a sheirbheáil<a class=\"heading-anchor\" href=\"#serving-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ní fhreastalaíonn Django ar chomhaid féin; fágann sé an post sin do cibé freastalaí gréasáin a roghnaíonn tú.</p>\n<p>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:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference external\" href=\"https://nginx.org/en/\">Nginx</a></p></li>\n<li><p>Leagan scriostha de <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a></p></li>\n</ul>\n<p>Mura bhfuil aon rogha agat, áfach, ach comhaid meán a sheirbheáil ar an Apache <code class=\"docutils literal notranslate\"><span class=\"pre\">VirtualHost</span></code> 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.</p>\n<p>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 <code class=\"docutils literal notranslate\"><span class=\"pre\">/media/</span></code> mar chomhad statach. Freastalfar gach URL eile ag baint úsáide as mod_wsgi:</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/robots.txt</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/static/robots.txt</span>\n<span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/favicon.ico</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/static/favicon.ico</span>\n\n<span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/media/</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/media/</span>\n<span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/static/</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/static/</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/static</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Directory&gt;</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/media</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Directory&gt;</span>\n\n<span class=\"nb\">WSGIScriptAlias</span><span class=\"w\"> </span>/<span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/mysite/wsgi.py</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/mysite</span><span class=\"nt\">&gt;</span>\n<span class=\"nt\">&lt;Files</span><span class=\"w\"> </span><span class=\"s\">wsgi.py</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Files&gt;</span>\n<span class=\"nt\">&lt;/Directory&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"serving-the-admin-files\">\n<span id=\"id3\"></span><h2>Freastal ar na comhaid riaracháin<a class=\"heading-anchor\" href=\"#serving-the-admin-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>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.</p>\n<p>Tá na comhaid riaracháin ina gcónaí i (:source: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>django/contrib/admin/static/admin <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>) den dáileadh Django.</p>\n<p>Molaimid <strong>láidre</strong> ú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:</p>\n<ol class=\"arabic simple\">\n<li><p>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).</p></li>\n<li><p>Úsáid treoir <code class=\"docutils literal notranslate\"><span class=\"pre\">Alias</span></code>, mar a léirítear thuas, chun an URL iomchuí (b'fhéidir: socrú: STATIC_URL + <code class=\"docutils literal notranslate\"><span class=\"pre\">admin/</span></code>) a aithris chuig suíomh iarbhír na gcomhaid riaracháin.</p></li>\n<li><p>Cóipeáil na comhaid statacha riaracháin ionas go gcónaíonn siad laistigh de fhréamh doiciméad Apache.</p></li>\n</ol>\n</section>\n<section id=\"authenticating-against-django-s-user-database-from-apache\">\n<h2>Fíordheimhniú i gcoinne bunachar sonraí úsáideoirí Django ó Apache<a class=\"heading-anchor\" href=\"#authenticating-against-django-s-user-database-from-apache\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>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 &lt;/howto/deployment/wsgi/apache-auth&gt;.</p>\n</section>","rootId":"how-to-use-django-with-apache-and-mod-wsgi","toc":[{"title":"Cumraíocht bunúsach","anchor":"basic-configuration","children":[]},{"title":"Ag baint úsáide as modh daemon mod_wsgi","anchor":"using-mod-wsgi-daemon-mode","children":[]},{"title":"Comhad a sheirbheáil","anchor":"serving-files","children":[]},{"title":"Freastal ar na comhaid riaracháin","anchor":"serving-the-admin-files","children":[]},{"title":"Fíordheimhniú i gcoinne bunachar sonraí úsáideoirí Django ó Apache","anchor":"authenticating-against-django-s-user-database-from-apache","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"Treoracha conas","url":"/ga/6.1/howto/"},{"docname":"howto/deployment/index","title":"Conas Django a imscaradh","url":"/ga/6.1/howto/deployment/"},{"docname":"howto/deployment/wsgi/index","title":"Conas a imscaradh le WSGI","url":"/ga/6.1/howto/deployment/wsgi/"}],"prev":{"docname":"howto/deployment/wsgi/uwsgi","title":"Conas Django a úsáid le UWSgi","url":"/ga/6.1/howto/deployment/wsgi/uwsgi/"},"next":{"docname":"howto/deployment/wsgi/apache-auth","title":"Conas fíordheimhniú i gcoinne bunachar sonraí úsáideoirí Django ó Apache","url":"/ga/6.1/howto/deployment/wsgi/apache-auth/"},"formats":{"html":"/ga/6.1/howto/deployment/wsgi/modwsgi/","markdown":"/ga/6.1/howto/deployment/wsgi/modwsgi.md","json":"/ga/6.1/howto/deployment/wsgi/modwsgi.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/howto/deployment/wsgi/modwsgi.txt","official":"https://docs.djangoproject.com/ga/6.1/howto/deployment/wsgi/modwsgi/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}