


Organisieren und fassen Sie die Berechtigungsaufteilung von Nginx, PHP-FPM, MySQL usw. zusammen.
In diesem Artikel geht es um die Grundkenntnisse von PHP und um ein detailliertes Verständnis der Benutzerberechtigungen von Nginx, PHP-FPM und MySQL. Ich hoffe, dass er für alle hilfreich ist!
Normalerweise umfassen die Server, auf denen wir Webanwendungen ausführen, Linux-Distributionen wie CentOS, Ubuntu, Debian usw. Zu diesem Zeitpunkt ist die Berechtigungskontrolle von Nginx, PHP, MySQL und anderen Anwendungen, die zur Bildung der Dienstarchitektur erforderlich sind, sehr wichtig. Jeder Dienst hat unterschiedliche Berechtigungsanforderungen für das Codeverzeichnis nicht in der Lage sein, zu lesen, zu schreiben oder auszuführen. Eine Senkung der Berechtigungsanforderungen birgt das Risiko, gehackt und geändert zu werden. Hier fassen wir die Berechtigungsaufteilung von Diensten wie Nginx, PHP-FPM und MySQL zusammen.
1. Webserver-Nginx-Berechtigungen
Das Betriebssystem von PHP wird normalerweise mit Nginx kombiniert, um LNMP zu bilden, oder mit Apache, um eine LAMP-Architektur zu bilden. Hier wird Nginx als Beispiel verwendet, um die Berechtigungen zu beschreiben, die zum Ausführen des Nginx-Dienstes erforderlich sind.
Wir wissen, dass Nginx selbst die PHP-Syntax nicht analysieren kann, daher analysiert Nginx statische Dateien (wie HTML usw.) direkt und gibt Ergebnisse zurück. Bei PHP-Dateien überträgt Nginx diese jedoch zur Verarbeitung an den PHP-Interpreter php-fpm . Geben Sie nach Abschluss die Antwort an den Client-Browser zurück .
Daher müssen wir die für Nginx- und PHP-Dienste erforderlichen Berechtigungen im code-Verzeichnis vereinheitlichen.
① Wenn der Root-Benutzer einheitlich verwendet wird, können allgemeine Gastkonten nicht auf die Anwendung zugreifen. Wenn Nginx für die Ausführung als Root konfiguriert ist, besteht ein großes Sicherheitsrisiko Führen Sie alle Vorgänge am System aus.
② Wenn alle Codeverzeichnisberechtigungen auf rwxrwxrwx gesetzt sind, besteht die versteckte Gefahr, dass Benutzer das Codeverzeichnis direkt über den Browser ändern können.
Der beste Weg ist also, sie einer neuen Benutzergruppe zuzuordnen und der Benutzergruppe die erforderlichen Berechtigungen zum Ausführen von Nginx und PHP zuzuweisen, um eine Berechtigungsverzeichnisverwaltung für Webanwendungen zu erreichen. Normalerweise nennen viele Teams diese Benutzergruppe www, und der www-Benutzer verwaltet einheitlich die Codeverzeichnisberechtigungen.
Wir können sehen, dass die in der Nginx-Konfigurationsdateinginix.conf
unterteilten Ausführungsberechtigungen unter dem www-Benutzer konfiguriert sind, sodass der untergeordnete Nginx-Prozess auch vom www-Benutzer ausgeführt wird, der über ausgeführt werden kann ps aux |. grep nginx
zum Anzeigen: nginix.conf
里面划分的运行权限就是配置到了www用户下,因此Nginx的子进程也是由www用户执行,可以通过ps aux | grep nginx
来查看:
可以看到nginx的主进程是root,其余子进程均是www的用户
nginx.conf的配置:
二、php的权限配置
同样的,php的运行方式也是由主进程root运行,在子进程池(pool)里面配置由www用户执行,具体配置在php根目录下的<span style="color: rgb(192, 0, 0);">etcphp-fpm.conf</span>
下,添加两行:
user = www group = www
即可,同样用ps aux | grep php
可以查看进程使用的用户身份:
三、MySQL服务的权限配置
通过ps aux | grep mysql
Sie können sehen, dass der Hauptprozess von Nginx Root ist und die anderen Unterprozesse alle Benutzer von www
Zweitens PHP-Berechtigungskonfiguration
In ähnlicher Weise wird PHP auch vom Hauptprozessstamm ausgeführt und im untergeordneten Prozesspool (Pool) für die Ausführung durch den www-Benutzer konfiguriert. Die spezifische Konfiguration befindet sich unter </p>etcphp-fpm. conf<p>
im PHP-Stammverzeichnis hinzufügen:
user www www;
ps grep php
verwenden, um die vom Prozess verwendete Benutzeridentität anzuzeigen:
user = www group = www
drwxr-xr-x 就是755
Das obige ist der detaillierte Inhalt vonOrganisieren und fassen Sie die Berechtigungsaufteilung von Nginx, PHP-FPM, MySQL usw. zusammen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

PHP ist eine serverseitige Skriptsprache, die für dynamische Webentwicklung und serverseitige Anwendungen verwendet wird. 1.PHP ist eine interpretierte Sprache, die keine Zusammenstellung erfordert und für die schnelle Entwicklung geeignet ist. 2. PHP -Code ist in HTML eingebettet, wodurch es einfach ist, Webseiten zu entwickeln. 3. PHP verarbeitet die serverseitige Logik, generiert die HTML-Ausgabe und unterstützt Benutzerinteraktion und Datenverarbeitung. 4. PHP kann mit der Datenbank interagieren, die Einreichung von Prozessformularen und serverseitige Aufgaben ausführen.

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Zu den Kernvorteilen von PHP gehören einfacher Lernen, starke Unterstützung für Webentwicklung, reiche Bibliotheken und Rahmenbedingungen, hohe Leistung und Skalierbarkeit, plattformübergreifende Kompatibilität und Kosteneffizienz. 1) leicht zu erlernen und zu bedienen, geeignet für Anfänger; 2) gute Integration in Webserver und unterstützt mehrere Datenbanken. 3) leistungsstarke Frameworks wie Laravel; 4) hohe Leistung kann durch Optimierung erzielt werden; 5) mehrere Betriebssysteme unterstützen; 6) Open Source, um die Entwicklungskosten zu senken.
