Recientemente he buceado en Ansible para uno de mis servidores, y pareció muy interesante y ahorro de tiempo. Estoy corriendo Ubuntu server dedicado y han configurado número de aplicaciones web escrito en Python y un par en PHP.
Para Python estoy usando uwsgi como el HTTP de la puerta de enlace. He escrito en scripts de shell para inicio/reinicio un par de procesos con el fin de ejecutar la instancia de una aplicación web específica.
Lo que tengo que hacer cada vez es, conectar ssh y vaya a la aplicación específica y ejecutar la secuencia de comandos.

LO QUE NECESITO

He estado tratando de encontrar una manera de escribir Ansible playbook a hacer todo lo que mi ordenador personal con una línea de comando, pero no tengo ni idea de cómo hacerlo. He nt encontrado una muy explicativo (para un principiante) documentación o la ayuda en internet.

PREGUNTA

¿Cómo puedo reiniciar Nginx con Ansible playbook?
¿Cómo puedo eliminar un proceso por el proceso de identificación?

OriginalEl autor Rai Ehtisham | 2013-11-24

1 Comentario

  1. 13

    Usted incluso no necesita un libro de jugadas para hacer esto :

    • Reiniciar nginx :

    ansible your_host -m service -a 'name=nginx state=restarted'

    (ver el módulo de servicio)

    • Matar un proceso mediante el proceso de identificación de

    ansible your_host -m command -a 'kill -TERM your_pid'

    (ajuste de la señal, y el uso pkill/killall si usted necesita para que coincida con un nombre; ver módulo de comando)

    Sin embargo, yo no diría que ansible brilla si solo lo estás usando para comandos ad-hoc.

    Si usted necesita un tutorial para empezar con playbooks, hay una aquí.

    Ahora si usted puede poner estos (el nombre oficial de servicio, comandos, etc.. son módulos) en un libro de jugadas (vamos a llamar a la playbook.yml), usted puede :

    - hosts: webappserver
      tasks:
        - name: Stops whatever
          command: kill -TERM your_pid
          notify:
            - Restart nginx
    
        - name: Another task
          command: echo "Do whatever you want to"
    
      handlers:
        - name: Restart nginx
          service: name=nginx state=restarted

    Crear un archivo de inventario (hosts) que contiene :

    # webappserver should resolve !
    webappserver

    Invocar con :

    ansible playbook.yml -i hosts

    y debería funcionar.

    Todo esto es muy básico y se puede captar fácilmente la lectura de los documentos o algún tutorial por ahí.

    No estoy hablando acerca de los comandos ad-hoc. Al reiniciar un proyecto de ejemplo, mi script de shell mata el proceso por el id y, a continuación, se inicia el proceso de nuevo y borra todos los registros generados por la aplicación. Necesito saber si es posible hacerlo en un libro de jugadas para evitar que la secuencia de comandos de shell cada vez que quiero reiniciar la instancia, al iniciar sesión en el servidor mediante ssh y bla bla bla.
    Sí. Los comandos que he mencionado, se puede poner en un libro de jugadas. Ver editado respuesta.
    Thx por la ayuda, va a volver a usted en esto en un par de horas
    trabajó como un encanto
    Bueno ! Buena suerte con Ansible, es genial !

    OriginalEl autor leucos

Dejar respuesta

Please enter your comment!
Please enter your name here