Pregunta

Estoy tratando de configurar el pitón mini-marco CherryPy con FastCGI (en realidad fcgid) en Apache. Estoy en un servidor compartido, por lo que no tienen acceso a httpd.conf, simplemente .htaccess. He seguido estos tutoriales en vano:

Quiero evitar errores 500 w / logs del Apache diciendo "Fin prematuro de los jefes de la escritura". He intentado todo (permisos / shebangs /-rutas completas / deamonized / no-daimonized). Sé que Apache se ejecuta correctamente mi .fcgi, porque soy capaz de imprimir en el registro de errores de pitón, pero eso es todo. Alguien por ahí ha instalado con éxito CherryPy o cualquier otro marco en un servidor compartido antes? Su ayuda sería muy apreciada. Gracias.

¿Fue útil?

Solución 3

El artículo Bluehost ha sido el mejor recurso, pero no leer cuidadosamente la parte de conseguir los últimos parches (el comienzo de la etapa 3). En el momento del artículo, e incluso ahora con CherryPy versión 3.1.2, no se puede hacer fcgi 'modo dinámico' (cuando se genera el proceso de Apache). aquí . El modo dinámico es básicamente esencial si usted está en un servidor compartido.

He comprobado el tronco (3.2.0rc1), y después de saltar a través de unos aros, tengo que trabajar. He seguido el paso 5, el método C en el artículo bluehost. Aquí era la materia en el principal de mi cherryd.fcgi:

if __name__ == '__main__':
    cherrypy.config.update({
        'server.socket_port': None,
        'server.socket_host': None,
        'server.socket_file': None
    })
    start( daemonize=False, fastcgi=True, imports=["hello"])

También, en cherrypy / proceso / servers.py, que tenía que cambiar la línea siguiente:

# from this
# if not hasattr(socket.socket, 'fromfd'):

# to this
if not hasattr(socket, 'fromfd'):

Por lo tanto, es posible conseguir que funcione, pero se siente tipo de hacky. Usted debe esperar a la versión final de la versión 3.2.0, o hacer lo que hice y echa un vistazo a Web.py . Yo era capaz de conseguir que funcione con mi servidor compartido con mucha facilidad (docs explican fastcgi / .htaccess también).

Otros consejos

+ Apache + Bluehost fastcgi + + cherrypy wsgi es por desgracia un montón de piezas. Me gustaría tener un año para escribir la guía definitiva para usted, pero por desgracia. Es posible hacerse una idea de la bastante larga lista de correo de hilo que dio lugar a esos enlaces que posteaste.

Una idea: asegúrese de que su archivo .fcgi tiene una referencia al ejecutable pitón correcto en la línea inicial:

  

#! / Usr / bin / python

Tenía que correr con Django fcgi en Bluehost y Apache utilizando el entorno pitón mal fue mi problema (trabajado desde el shell, pero no desde la web / Apache).

Aparte de eso, si se puede imprimir en el registro de errores a partir del código, se puede confirmar que el código se ejecuta correctamente, sin excepción alguna, al acceder a la página web? (No cuando se ejecuta desde la cáscara).

En el archivo de registro de su servidor web, que en realidad debería mostrar lo que la salida fue que confundió. ¿Seguro que está buscando en el registro de errores, así como el registro de acceso?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top