Прежде всего вам необходимо развернуть его на другом сервере, например apache
. Ниже я поделюсь с вами, как обычно, настройкой apache2 для развертывания проекта Python django.
Установка Apache:
Вам необходимо установить apache, если он еще не установлен. Здесь я показываю установку apache2 и некоторые другие установки, которые нам нужны.
sudo apt-get update
sudo apt-get install apache2
sudo a2enmod wsgi
sudo apt-get install python3-pip apache2 libapache2-mod-wsgi-py3
конфигурация файла 000-default.conf: Обычно apache2 находится в linux m по пути /etc/apache2/sites-available/000-default.conf
. И файл конфигурации может понравиться.
<VirtualHost *:80>
ServerName www.something.com
# this is the document root of your project
DocumentRoot /path/to/my-project
# The directory which you can access with base path EX: www.something.com/static/images/image.png
Alias /static /path/to/my-project/static
<Directory /path/to/my-project/static>
Require all granted
</Directory>
<Directory /path/to/my-project/my-project>
<Files wsgi.py>
Header set Access-Control-Allow-Origin "*"
Require all granted
</Files>
</Directory>
WSGIDaemonProcess my-project python-home=/path/to/my_env python-path=/path/to/my-project
WSGIProcessGroup my-project
WSGIScriptAlias / /path/to/my-project/my-project/wsgi.py
ErrorLog /path/to/my-project/logs/error.log
CustomLog /path/to/my-project/logs/access.log combined3
</VirtualHost>
Проект Django wsgi.py: Созданный там проект Django имеет wsgy.py
, и этот файл может выглядеть следующим образом.
python_home = '/path/to/my_env'
import sys
import site
sys.path.append('/path/to/my-project')
sys.path.append('/path/to/my_env/bin')
sys.path.append('/path/to/my_env/lib/python3.6/site-packages')
# Calculate path to site-packages directory.
python_version = '.'.join(map(str, sys.version_info[:2]))
site_packages = python_home + '/lib/python%s/site-packages' % python_version
# Add the site-packages directory.
site.addsitedir(site_packages)
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my-project.settings")
application = get_wsgi_application()
После этого вы можете запустить Apache2 Sever sudo service apache2 start
Также вам нужно дать разрешение вашей директории проекта sudo chmod -R 777 /path/to/my-project
Это базовая конфигурация apache2 с проектом python django. Надеюсь, это поможет настроить любой linux machine
с вашим python django project