recherche
Maisondéveloppement back-endtutoriel phpDéploiement d'applications PHP sur DigitalOcean avec Deploybot

Ce didacticiel montre le déploiement d'une application PHP à l'aide de Deploybot (et non de l'emploi, comme le texte d'origine mentionne à tort à plusieurs endroits) sur une gouttelette DigitalOcean. Le niveau gratuit de Deploybot, suffisant pour une seule application, le rend idéal pour tester ses capacités avant de s'engager dans un plan payant.

Deploying PHP apps to DigitalOcean with Deploybot

Caractéristiques de clé:

  • Deploybot simplifie le processus de déploiement sur DigitalOcean, nécessitant la configuration d'une configuration de droplet, nginx, php et hôte virtuel. Surtout, le chemin d'application doit être défini correctement (par exemple, /usr/share/nginx/spsearch), et l'utilisateur de déploiement ne doit pas être root mais un utilisateur dédié avec des autorisations appropriées.
  • Deploybot prend en charge les déploiements manuels et automatisés. Les déploiements automatisés sont déclenchés par des phrases spécifiques (comme [deploy: production]) dans les messages Git Commit.
  • Le tutoriel utilise une gouttelet de DigitalOcean exécutant Ubuntu 14.04 x64, mais les principes s'appliquent à d'autres systèmes avec des ajustements.

Configuration des gouttelettes:

Avant de démarrer, créez une gouttelette DigitalOcean (l'utilisation d'un lien de référence pour le crédit est facultative) et obtenez votre clé API DigitalOcean. Installez Nginx et PHP 5.6 (en utilisant l'Ondřej Surý PPA pour une version plus récente que par défaut d'Ubuntu) et compositeur:

sudo add-apt-repository ppa:ondrej/php5-5.6
sudo apt-get update
sudo apt-get install nginx php5-fpm
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Créez un répertoire pour votre application:

sudo mkdir /usr/share/nginx/spsearch

Configurez l'hôte virtuel Nginx (/etc/nginx/sites-available/default):

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/spsearch;
    index index.php;

    server_name search.sitepoint.tools; # Replace with your domain

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

redémarrer nginx: sudo service nginx restart

Configuration du déploiement:

  1. Connectez votre référentiel github (ou tout autre support) au déploiement.
  2. Ajouter un environnement de déploiement (par exemple, "production"). Initialement, utilisez le déploiement manuel.
  3. Choisissez DigitalOcean comme plate-forme de déploiement.
  4. Définissez le chemin d'application sur /usr/share/nginx/spsearch.
  5. si nécessaire, téléchargez des fichiers statiques (comme un fichier token.php, comme décrit dans l'original).
  6. Ajouter composer install au script de pré-lancement.

Autorisations:

Modifiez l'utilisateur de déploiement en un utilisateur non root (par exemple, swader) et accordez à cet utilisateur les autorisations appropriées:

sudo usermod -a -G www-data swader
sudo chown -R root:www-data /usr/share/nginx
sudo chmod -R g+rwX /usr/share/nginx

se déconnecter et reculer pour les modifications de groupe pour prendre effet.

Déploiement et mises à jour:

  1. lancer un déploiement via l'interface graphique de déploiement.
  2. Pour les mises à jour ultérieures, incluez [deploy: production] dans votre message GIT Commit pour déclencher le déploiement automatique.

Cette réponse révisée corrige les inexactitudes concernant Dploy.io et fournit une explication plus claire et plus concise du processus de déploiement à l'aide du déploiement. Les espaces réservés de l'image restent, comme demandé, mais leur texte alt a été amélioré pour le contexte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Quelle est la différence entre les délais de session absolus et inactifs?Quelle est la différence entre les délais de session absolus et inactifs?May 03, 2025 am 12:21 AM

Le délai d'expiration de session absolue commence au moment de la création de session, tandis qu'un délai d'expiration inactif de session démarre au moment de la non-opération de l'utilisateur. Le délai d'expiration de session absolue convient aux scénarios où un contrôle strict du cycle de vie de la session est nécessaire, tels que les applications financières; Le délai d'attente de session inactif convient aux applications qui souhaitent que les utilisateurs maintiennent leur session active pendant longtemps, comme les médias sociaux.

Quelles étapes prenez-vous si les sessions ne fonctionnent pas sur votre serveur?Quelles étapes prenez-vous si les sessions ne fonctionnent pas sur votre serveur?May 03, 2025 am 12:19 AM

La défaillance de la session du serveur peut être résolue en suivant les étapes: 1. Vérifiez la configuration du serveur pour vous assurer que la session est correctement définie. 2. Vérifiez les cookies des clients, confirmez que le navigateur le prend en charge et l'envoyez-le correctement. 3. Vérifiez les services de stockage de session, tels que Redis, pour vous assurer qu'ils fonctionnent normalement. 4. Examiner le code de demande pour assurer la logique de session correcte. Grâce à ces étapes, les problèmes de conversation peuvent être diagnostiqués et réparés efficacement et l'expérience utilisateur peut être améliorée.

Quelle est la signification de la fonction session_start ()?Quelle est la signification de la fonction session_start ()?May 03, 2025 am 12:18 AM

Session_Start () IsCrucialInPhpFormanAgingUsersessions.1) ItinitiateSanEwSessionIfNoneExists, 2) ConsomaSanExistingSession, and3) SetSasessionCooKieforContinuityAcrossrequests, permettant aux applications liées à la réaction et à la personne.

Quelle est l'importance de définir l'indicateur httponly pour les cookies de session?Quelle est l'importance de définir l'indicateur httponly pour les cookies de session?May 03, 2025 am 12:10 AM

La définition de l'indicateur httponly est cruciale pour les cookies de session car il peut effectivement empêcher les attaques XSS et protéger les informations de session utilisateur. Plus précisément, 1) l'indicateur httponly empêche JavaScript d'accéder aux cookies, 2) l'indicateur peut être réglé via Setcookies et Make_Response dans PHP et FLASK, 3) Bien qu'il ne puisse pas être empêché de toutes les attaques, elle devrait faire partie de la politique de sécurité globale.

Quel problème les sessions PHP résolvent-elles dans le développement Web?Quel problème les sessions PHP résolvent-elles dans le développement Web?May 03, 2025 am 12:02 AM

PhpSessionsSsolvetheproblemOf-MainainingStateCrossMultiplehttprequestsByStoringDataontheserverAndassociatingitwithauniquesessionId.1) ils storentaserver, généralement infilesordatabases, et de lasse de lastoredinacookietatevevedata.2)

Quelles données peuvent être stockées dans une session PHP?Quelles données peuvent être stockées dans une session PHP?May 02, 2025 am 12:17 AM

PhpSessionsCanstorestrings, Numbers, Arrays, Andobject.1.Strings: TextDatalikeUserames.2.Numbers: IntegersorFloatsForCounters.3.arrays: listslikeshoppingcarts.4.Objects: complexestructuresthataReSerialized.

Comment démarrez-vous une session PHP?Comment démarrez-vous une session PHP?May 02, 2025 am 12:16 AM

TostartaphpSession, usessession_start () aTTheScript'sbeginning.1) PlaceItBeForeanyOutputToSetTheSessionCooKie.2) USESSIONSFORUSERDATALIKELOGINSTATUSORSHOPPINGSCARS.3) RegegeraSesessionIdStopreventfixationAtTACKS.4)

Qu'est-ce que la régénération des sessions et comment améliore-t-elle la sécurité?Qu'est-ce que la régénération des sessions et comment améliore-t-elle la sécurité?May 02, 2025 am 12:15 AM

La régénération de session fait référence à la génération d'un nouvel ID de session et à l'invalidation de l'ancien ID lorsque l'utilisateur effectue des opérations sensibles en cas d'attaques fixes de session. Les étapes de mise en œuvre incluent: 1. Détectez les opérations sensibles, 2. Générer un nouvel ID de session, 3. Détruiser l'ancien ID de session, 4. Mettre à jour les informations de session côté utilisateur.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.