Informationsportal: News, Fragen & Antworten und Hilfe
Pylon-FCGI-Template
Folgende Dateien sind nötig, um Pylon-Applikationen bei Raumopol zu starten:
WICHTIG: Alle Dateien immer im ASCII-Modus hochladen. Falls Sie in logs/apache-error.log eine Fehlermeldung der Form "suexec failure: could not open log file" sehen, überprüfen Sie bitte die Einstellungen Ihres FTP-Programms. Dieser Fehler deutet meistens darauf hin, dass die Zeilenumbrüche im Windows-Format vorliegen.
- app.fcgi: (Bitte daran denken, dass diese Datei für den Besitzer ausführbar sein muss!)
#!/usr/local/bin/python -u import sys, os INI = 'development.ini' filename = os.path.join(os.getcwd(), __file__) \ if not os.path.isabs(__file__) \ else __file__ path = os.path.join(os.getcwd(), os.path.split(__file__)[0]) # Switch to the directory of your project. (Optional.) os.chdir(path) # Redirect stdout and stderr sys.stdout = file('fcgi.log', 'a') sys.stderr = sys.stdout # Watch for changes to this file and kill the server # so that the next request will start it anew import pyinotify as p wm = p.WatchManager() mask = p.IN_MODIFY class Handler(p.ProcessEvent): def process_IN_MODIFY(self, event): os.chdir(path) sys.stdout = file('fcgi.log', 'a') print "killing process: %s" % os.getpid() sys.stdout.flush() import signal os.kill(os.getpid(), signal.SIGKILL) notifier = p.ThreadedNotifier(wm, Handler()) notifier.start() wdd = wm.add_watch(filename, mask) # load the app and start the server from paste.deploy import loadapp try: wsgi_app = loadapp('config:%s' % (os.path.join(path, INI))) except: import traceback traceback.print_exc(file=sys.stdout) sys.stdout.flush() from flup.server.fcgi import WSGIServer WSGIServer(wsgi_app, debug=True).run()
- .htaccess:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.fcgi/$1 [QSA,L]