首先,您需要将它部署到其他服务器上,如
apache
. 下面我将分享如何像往常一样配置apache2来部署PythonDjango项目。
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的path
/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服务器
sudo service apache2 start
您还需要授予项目目录的权限
sudo chmod -R 777 /path/to/my-project
这是apache2与Pythondjango项目的基本配置。希望这将有助于配置任何
linux machine
和你的
python django project