So bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite

Guanhui
Freigeben: 2023-03-01 15:48:02
nach vorne
2547 Leute haben es durchsucht

So bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite

PHP-Webseite, sicherer Betrieb, Nginx-Konfiguration und Hot-Neustart

Vorwort

Zuvor habe ich Kunden beim Aufbau einer automatisierten AB-Site basierend auf GeoIP2 geholfen (Nginx Geoip2 verwaltet den Zugriff aus verschiedenen Ländern (oder Städten)) ), wollte der Kunde kürzlich die AB-Stationsumschaltung manuell über das Verwaltungsterminal steuern
So bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite

Es wird nicht empfohlen, System-, Exec- und andere Funktionen zum Ausführen von Shell-Befehlen zu verwenden

  • Erfordert komplexe Vorgänge zur Privilegieneskalation
  • Diese Funktionen sind in allgemeinen Projekten verboten
  • Als qualifizierter Phper ist die Aktivierung strengstens untersagt, es sei denn, es liegen besondere Umstände vor einige sicherheitsrelevante Funktionen im Projekt Funktion

Lösungsidee

  1. includeFragmentkonfiguration in der Nginx-vhost-Konfigurationsdatei
  2. Wenn das Backend die AB-Site wechselt, führen Sie im ersten Schritt der Änderung der PHP-Logik die Fragmentkonfiguration ein
  3. Nginx Reload
    • Die erste Lösung: Kleine Projekte verwenden crontab, um regelmäßig nginx -s reload auszuführen (verwendet mit worker_shutdown_timeout)
    • Die zweite Option (empfohlen): Nach der Änderung muss die Markierung neu geladen werden (Datei oder DB oder Cache), und der Timer fragt über das Python-Skript ab, ob ein Neuladen erforderlich ist, um nginx -s auszuführen neu laden

Option 1

1. Erstellen Sie eine Fragmentkonfigurationsdatei

Erstellen Sie eine unabhängige Fragment-Nginx-Konfigurationsdatei, z. B. So bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite.conf, dann in nginx vhostinclude

So bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite.conf

root /www/wwwroot/ahost;
Nach dem Login kopieren

2 . Site-Konfigurationsdatei includeKonfigurationsdatei So bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite.conf

site.conf

server {
        listen       80;
        server_name  0.0.0.0;
        index index.html;
        include /www/wwwroot/abhost/So bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite.conf;
    }
Nach dem Login kopieren

Vorgang in HintergrundlogikSo bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite.conf

if($data['site_set'] == AbHostSiteEnum::Ahost) {
    //开启A站
    $ahostPath = AbHostSiteEnum::AhostPath;
    file_put_contents('./So bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite.conf',"root {$ahostPath};");}else {
    //开启B站
    $bhostPath = AbHostSiteEnum::BhostPath;
    file_put_contents('./So bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite.conf',"root {$bhostPath};");}
Nach dem Login kopieren

4. Legen Sie worker_shutdown_timeout in der globalen Nginx-Konfiguration fest

Nginx kann nicht innerhalb von 30 Sekunden reibungslos beendet werden, daher muss der Prozess geschlossen werden

nginx.conf

...worker_shutdown_timeout  30;
Nach dem Login kopieren

5. Führen Sie Nginx regelmäßig aus. Hot-Neustart

crontab -e

*/5 * * * * nginx -s reload
Nach dem Login kopieren

Empfohlenes Tutorial: „PHP

Das obige ist der detaillierte Inhalt vonSo bedienen Sie die Nginx-Konfiguration auf der PHP-Webseite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!