나는 장고 웹 응용 프로그램을 이미 사용하고 있으며 인터넷을 통해이를 보이게하고 싶습니다. 장고를 단독으로 사용하는 것도 고려해 볼 것입니다. 왜냐하면이 프로토 타입은 제가 누군가에게 보여주고 싶은 프로토 타입 일 뿐이므로 보안은 지금 당장 우선 순위가 아닙니다. 그러나 이것이 불가능하기 때문에 (또는 최소한 나는 그것을 할 수 없었습니다) 아파치로 이동하고 있습니다.아파치와 장고 배포
문제는 튜토리얼이 많아서 각각 다른 작업을한다는 것입니다.
지금까지 내가 가지고 : 를 - 설치 아파치 (및 작품) - 설치 mod_wsgi에 (그리고 모듈은 아파치에로드) 를 - 내 장고 웹 응용 프로그램이에 있기 때문에/홈/참고 MyUser/www /에서 MyApp를/(또는 최소한 내가 manage.py 파일을 저장하고있는 곳이며 나머지 응용 프로그램은/home/myuser/www/myapp/myapp /에있다.) 나는 아파치 지점을 만들려고했다. 그래서 내가 만든 (집/참고 MyUser/www /에서 MyApp를/apache.conf에/web.wsgi 다음 내용 :import os, sys
sys.path.append('/home/myuser/www/myapp/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
가 BTW 나는 또한에서 새 프로젝트를 만들 때 장고가 자동으로 생성 WSGI가/홈/참고 MyUser .. /www/myapp/myapp/wsgi.py 어쩌면 나는이 하나를 사용해야합니다,하지만 난 지금까지 발견 튜토리얼 아무도이 파일을 언급하지 않는다 어떤 방법을, 그 내용은 다음과 같습니다
import os
# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks
# if running multiple sites in the same mod_wsgi process. To fix this, use
# mod_wsgi daemon mode with each site in its own daemon process, or use
# os.environ["DJANGO_SETTINGS_MODULE"] = "myapp.settings"
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")
# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
# Apply WSGI middleware here.
# from myapp.wsgi import MyAppApplication
# application = MyAppApplication(application)
마지막으로,/etc/apache2/sites-available/myapp 파일을 기본 템플릿을 템플릿으로 사용하여 다음과 같이 작성합니다.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /home/myuser/www/myapp/
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
AddHandler mod_python .py
PythonHandler mod_python.publisher | .py
PythonDebug On
</Directory>
<Directory /home/myuser/www/myapp/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /home/myuser/www/myapp/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/myuser/www/myapp/access.log combined
</VirtualHost>
내 노력이 설명되어 있지만 localhost로 이동할 때 기본 아파치 웹이 표시되며 '작동합니다!'라고 표시됩니다.
도움이 필요하십니까? 내가 뭘 놓치고 있니?