IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Serveur php en tant que service


Sujet :

Linux

  1. #1
    Membre régulier Avatar de Squalthor
    Homme Profil pro
    Autodidacte
    Inscrit en
    Juillet 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Juillet 2006
    Messages : 176
    Points : 103
    Points
    103
    Par défaut Serveur php en tant que service
    Bonsoir / bonjour,

    Etant en train de coder un serveur php pour gérer les websocket je me retrouve en permanence en train de relancer le scrit.

    Aujourd'hui la connexion en console s'est coupée et n'ayant pas trop de connaissance sur la gestion des script en tâche de fond j'ai relancé le serveur pour pouvoir relancer le script.

    Du coup je me demandais, de toutes manière j'en aurais besoin pour la mise en production, s'il n'était pas possible de pouvoir utiliser ce script comme un service (stop | restart) avec un lancement au démarrage du serveur.

    Sauriez-vous soit m'aider soit m'aiguiller ?

    Je vous remercie.
    Cordialement, Squal.

  2. #2
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    bien sur il faut faire un démon :

    voici un lien pour exemple:

    http://www.unixgarden.com/index.php/...-un-demon-unix

  3. #3
    Membre régulier Avatar de Squalthor
    Homme Profil pro
    Autodidacte
    Inscrit en
    Juillet 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Juillet 2006
    Messages : 176
    Points : 103
    Points
    103
    Par défaut
    Bonjour Ludo40190,

    C'est exactement ce que je recherchais, j'ai passé quelques heures de recherches sans tomber sur ce tuto.

    Je te remercie.

    Cordialement, Squal.

  4. #4
    Membre régulier Avatar de Squalthor
    Homme Profil pro
    Autodidacte
    Inscrit en
    Juillet 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Juillet 2006
    Messages : 176
    Points : 103
    Points
    103
    Par défaut
    Bonjour,

    Après analyse des tutos (des car Ludo40190) a modifié le premier lien par celui actuellement présent) j'avoue sècher...

    J'ai pas compris et j'ai du mal, c'est pas faute d'avoir tenté...

    En fait j'ai codé un script php, pour gérer les websockets, que je lance avec la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php -q /chemin/du/script/serveur.php
    qui lui même contient l'appel à la classe principale du serveur.
    Apparement, l'astuce serait de créer un programme indépendant (daemon) qui va tourner en boucle afin d'analyser l'état du pid, le relancer s'il se coupe, permettre de le relancer service "service" restart, le stopper (service "service" stop ou encore le lancer (service "service" start).

    Le tutoriel actuellement en lien dans le message de Ludo est pas mal, je ne peux pas dire le contraire, mais j'ai du mal à le comprendre...

    Je partais du principe que le démon me permettrais uniquement de lancer le serveur au lancement du serveur, au final il peut faire bien mieux que ça si j'ai bien compris.

    Je ne sais déjà même pas quel fichier écrire, y a-t-il moyen de faire plus simple ?
    Ce que j'ai trouvé sur la toile ne m'en dis malheureusement pas plus.

    Vous serait-il possible de m'éclairer ?
    Merci.

    Cordialement, Squal.

  5. #5
    Membre régulier Avatar de Squalthor
    Homme Profil pro
    Autodidacte
    Inscrit en
    Juillet 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Juillet 2006
    Messages : 176
    Points : 103
    Points
    103
    Par défaut
    Bonjour,

    J'ai trouvé, grâce à cette source !

    Une fois modifié il se comporte "presque" comme un démon. Le plus beau c'est que (peut-être grâce à Debian) il se relance automatiquement au démarrage du serveur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #! /bin/sh
    ### BEGIN INIT INFO
    # Provides:          Appelation_du_demon
    # Required-Start:    $remote_fs $syslog
    # Required-Stop:     $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Example initscript
    # Description:       This file should be used to construct scripts to be
    #
    SCRIPT="/usr/bin/nohup php -q /chemin/vers/script.php"
     
    case "$1" in
    start)  echo "STARTING $SCRIPT"
            $SCRIPT &
            ;;
    stop)   echo "STOP $SCRIPT"
            pid=`/bin/ps -ef | /usr/bin/awk '($8~"php" && $3==1){printf " "$2}'`
     
            if [ -n "$pid" ]; then
                /bin/kill $pid
            fi
            ;;
    restart)   echo "Restarting $SCRIPT"
            $0 stop
            $0 start
            ;;
    *)      echo "Usage: $0 {start|stop|restart}"
            exit 2
            ;;
    esac
    exit 0
    Au cas où ça servirait à quelqu'un...
    Je tente de le perfectionner, si vous avez des commentaires, n'hésitez pas.
    Cordialement, Squal

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 643
    Points : 43 635
    Points
    43 635
    Par défaut script php en démon
    L'exemple de création de démon est prévu pour du code C, pas avec du code php.

    On on peut toujours en C appeler system() mais cela ne peut-il pas poser de prob?

  7. #7
    Membre régulier Avatar de Squalthor
    Homme Profil pro
    Autodidacte
    Inscrit en
    Juillet 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Juillet 2006
    Messages : 176
    Points : 103
    Points
    103
    Par défaut
    Bonjour Chrtophe,

    C'est effectivement un exemple pour du code C, c'est pourquoi j'ai axé mes recherches sur un démon permettant d'exécuter un script php.

    Après je dois avouer que j'en sais pas plus, mais pour le moment mon serveur php n'a aucun problème, après ça reste à voir dans le temps et en production.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compilation et installation de PHP en tant que module Apache
    Par sebeni dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 26/06/2009, 07h33
  2. lancer un script en tant que services windows
    Par fredo2009 dans le forum Langage
    Réponses: 5
    Dernier message: 09/02/2006, 16h03
  3. [Windows] [Zope] Zope en tant que service
    Par santhony dans le forum Zope
    Réponses: 3
    Dernier message: 09/11/2004, 19h48
  4. Postmaster en tant que service NT
    Par krimson dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 16/04/2004, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo