"Ubuntu, Apache2, python3, django, mod wsgi"-ны өөр хувилбарууд

Дусал нэвтэрхий толь-с
 
(Хэрэглэгчид дундын нэг хувилбар харагдахгүй)
18-р мөр: 18-р мөр:
 
<pre>
 
<pre>
 
cd /var/www/domain.com/web
 
cd /var/www/domain.com/web
 +
 +
# upload project or create new:
 
python3 manage.py startproject firstproject
 
python3 manage.py startproject firstproject
 
cd firstproject
 
cd firstproject
24-р мөр: 26-р мөр:
 
pip3 install django
 
pip3 install django
 
cd firstproject
 
cd firstproject
# optional:
+
 
 +
# If creating new:
 
python3 ./manage.py migrate
 
python3 ./manage.py migrate
 
python3 ./manage.py createsuperuser
 
python3 ./manage.py createsuperuser
33-р мөр: 36-р мөр:
 
== configure wsgi.py ==
 
== configure wsgi.py ==
  
 +
Заавал хийхгүй байсан ч болох байх.
 +
<pre>
 
import os
 
import os
 
import site
 
import site
 
import sys
 
import sys
  
site.addsitedir('/home/user/Django1.9/py3.5/lib/python3.5/site-packages')
+
site.addsitedir('/var/www/domain.com/web/firstprojenv/lib/python3.6/site-packages')
sys.path.append('/home/user/Django1.9/firstproject')
+
sys.path.append('/var/www/domain.com/web/firstproject')
sys.path.append('/home/user/Django1.9/firstproject/firstproject')
 
  
 +
</pre>
  
 
== Configure Apache ==
 
== Configure Apache ==
51-р мөр: 56-р мөр:
  
 
<pre>
 
<pre>
Alias /static /home/user/Django1.9/firstprocject/static
+
<VirtualHost *:80>
     <Directory /home/user/Django1.9/fistproject/static>
+
  ServerName domain.com
 +
 
 +
  WSGIDaemonProcess username user=username group=usergroup python-home=/usr python-path=/var/www/domain.com/web
 +
 
 +
  WSGIProcessGroup username
 +
  WSGIApplicationGroup %{GLOBAL}
 +
  WSGIScriptAlias / /var/www/domain.com/web/firstproject/wsgi.py process-group=username
 +
 
 +
 
 +
    Alias /static /var/www/domain.com/web/firstprocject/static
 +
     <Directory /var/www/domain.com/web/fistproject/static>
 
         Require all granted
 
         Require all granted
 
     </Directory>
 
     </Directory>
  
     <Directory /home/user/Django1.9/firstproject/>
+
     <Directory /var/www/domain.com/web/firstproject/>
 
         <Files wsgi.py>
 
         <Files wsgi.py>
 
             Require all granted
 
             Require all granted
 
         </Files>
 
         </Files>
 
     </Directory>
 
     </Directory>
 
+
</VirtualHost>
    WSGIDaemonProcess test python-path=/home/user/Django1.9/firstproject:/home/user/Django1.9/py3.5/lib/python3.5/site-packages
 
    WSGIProcessGroup test
 
    WSGIScriptAlias / /home/user/Django1.9/firstproject/firstproject/wsgi.py
 
 
</pre>
 
</pre>
  
71-р мөр: 83-р мөр:
  
 
<pre>
 
<pre>
sudo chown -R :www-data /path/to/firstproject
+
sudo chown -R username:usergroup /var/www/domain.com/web/firstproject
 
</pre>
 
</pre>
  

01:27, 1 Нэгдүгээр сар 2019-ий байдлаарх одоогийн засвар

[Ubuntu18.04 + Apache2.4 + Django2.1 + Python3.6 + wsgi + virtualenv]


Requirement package install

sudo apt-get update
sudo apt-get install python3-pip apache2 libapache2-mod-wsgi-py3
sudo pip3 install virtualenv virtualenvwrapper
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
pip3 install setuptools --upgrade


Configure a Python virtual enviroiment

cd /var/www/domain.com/web

# upload project or create new:
python3 manage.py startproject firstproject
cd firstproject
python3 -m venv firstprojenv
source firstprojenv/bin/activate
pip3 install django
cd firstproject

# If creating new:
python3 ./manage.py migrate
python3 ./manage.py createsuperuser
python3 ./manage.py collectstatic


configure wsgi.py

Заавал хийхгүй байсан ч болох байх.

import os
import site
import sys

site.addsitedir('/var/www/domain.com/web/firstprojenv/lib/python3.6/site-packages')
sys.path.append('/var/www/domain.com/web/firstproject')

Configure Apache

deactivate
vim /etc/apache2/sites-enabled/firstproject.conf
a2ensite firstproject
<VirtualHost *:80>
  ServerName domain.com

  WSGIDaemonProcess username user=username group=usergroup python-home=/usr python-path=/var/www/domain.com/web

  WSGIProcessGroup username
  WSGIApplicationGroup %{GLOBAL}
  WSGIScriptAlias / /var/www/domain.com/web/firstproject/wsgi.py process-group=username


    Alias /static /var/www/domain.com/web/firstprocject/static
    <Directory /var/www/domain.com/web/fistproject/static>
        Require all granted
    </Directory>

    <Directory /var/www/domain.com/web/firstproject/>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
</VirtualHost>


Change Owner

sudo chown -R username:usergroup /var/www/domain.com/web/firstproject


Apache restart

sudo service apache2 restart


Зарим хэрэгтэй хаяг

  1. Django Docs
  2. [1]
  3. [2]