Raumopol Webhosting Logo

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.

  1. 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()
    
  2. .htaccess:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.fcgi/$1 [QSA,L]
    

Raumopol Technologie