Erstellen eines Projektverzeichnisses mkdir php Erstellen Sie die folgende Projektstruktur
├── Readme.md ├── docker-compose.yml ├── Skript ├── Dienstleistungen │ ├── MariaDB │ │ └── Docker-Datei │ ├── nginx │ │ ├── Docker-Datei │ │ ├── conf.d │ │ │ └── default.conf │ │ └── nginx.conf │ ├── php │ │ └── Docker-Datei │ └── Redis │ └── Docker-Datei └── Seiten ├── index.html └── index.php 8 Verzeichnisse, 10 Dateien Bearbeiten Sie die Docker-Compose-Datei Version: "3" Leistungen: php: Erstellen: ./services/php Anzahl der Anschlüsse: # - "9001:9000" Containername: lnmp-php Neustart: immer Bände: - ./sites:/www Netzwerke: lnmp_net: IPv4-Adresse: 101.11.11.10 nginx: Erstellen: ./services/nginx Häfen: - „81:80“ - „444:443“ Containername: lnmp-nginx Neustart: immer Bände: - ./sites:/www - ./services/nginx/nginx.conf:/etc/nginx/nginx.conf - ./services/nginx/conf.d:/etc/nginx/conf.d:rw Netzwerke: lnmp_net: IPv4-Adresse: 101.11.11.11 Netzwerke: lnmp_net: Treiber: Brücke ipam: Konfiguration: - Subnetz: 101.11.11.0/20 Bearbeiten Sie die Datei services/nginx VON nginx:1.17.0-alpine # Aktualisieren Sie die Installationsquelle RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories # Stellen Sie die Zeitzone auf Shanghai ein. RUN apk update && apk add --upgrade \ && apk fügt tzdata hinzu \ && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asien/Shanghai" > /etc/Zeitzone \ && apk del tzdata Dienste/PHP-Datei bearbeiten VON php:7.3.6-fpm-alpine3.9 # Aktualisieren Sie die Installationsquelle RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories # Stellen Sie die Zeitzone auf Shanghai ein. RUN apk update && apk add --no-cache tzdata autoconf gcc g++ make zlib-dev curl-dev\ && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asien/Shanghai" > /etc/Zeitzone \ && apk del tzdata \ && docker-php-ext-install mysqli pdo_mysql opcache \ && pecl installiere grpc protobuf xdebug yaf yar swoole \ && Docker-PHP-Ext-Aktivieren von xdebug yaf yar swoole grpc protobuf Unsere lnmp-Umgebung ist im Wesentlichen wie oben aufgebaut. Jetzt konfigurieren wir die PHP-Analyse. Ändern Sie services/nginx/nginx.conf, Sie können es entsprechend Ihren Anforderungen ändern. Benutzer nginx; Arbeiterprozesse automatisch; Fehlerprotokoll /var/log/nginx/error.log warnen; pid /var/run/nginx.pid; Ereignisse { Arbeiterverbindungen 1024; } http { /etc/nginx/mime.types einschließen; Standardtyp Anwendung/Oktett-Stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; Zugriffsprotokoll /var/log/nginx/access.log Haupt; sendfile an; #tcp_nopush ein; KeepAlive-Timeout 65; #gzip ein; schließen Sie /etc/nginx/conf.d/*.conf ein; } Ändern Sie die Dateien im Verzeichnis services/nginx/conf.d Dieses Verzeichnis enthält die Konfigurationsdatei für jedes Projekt, in der je nach Bedarf einzelne oder mehrere Dienste konfiguriert werden können. Server { hören Sie 80; Servername localhost; #Zeichensatz koi8-r; #access_log /var/log/nginx/host.access.log main; #root /usr/share/nginx/html; Wurzel /www; index.php index.html index.htm; #Fehlerseite 404 /404.html; # Server-Fehlerseiten auf die statische Seite /50x.html umleiten # Fehlerseite 500 502 503 504 /50x.html; Standort = /50x.html { root /usr/share/nginx/html; } # Proxy für die PHP-Skripte an Apache, das auf 127.0.0.1:80 lauscht # #Standort ~ \.php$ { # Proxy-Passwort http://127.0.0.1; #} # Übergeben Sie die PHP-Skripte an den FastCGI-Server, der auf 127.0.0.1:9000 lauscht. # Standort ~ \.php$ { #Wurzel-HTML; fastcgi_pass 101.11.11.10:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $Dokumentstammsatz$fastcgi_script_name; fastcgi_params einschließen; } # Zugriff auf .htaccess-Dateien verweigern, wenn das Apache-Dokumentenstammverzeichnis # stimmt mit nginx überein # #Standort ~ /\.ht { # alles ablehnen; #} } Starten des Dienstes cd php && docker-compose up --build -d Die Ausführungszeit der obigen Schritte variiert je nach Netzwerkgeschwindigkeit und Docker-Konfiguration. Da einige Erweiterungen in PHP kompiliert sind, können Sie sie auch nach Ihren eigenen Bedürfnissen löschen. Besuchen Sie http://127.0.0.1:81 über den Browser. Wenn Sie die Ausgabeinformationen von phpinfo sehen, herzlichen Glückwunsch, Ihre lnmp-Umgebung wurde bereitgestellt. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: So implementieren Sie eine Array-Lazy-Evaluation-Bibliothek in JavaScript
>>: Eine kurze Diskussion zur MySQL-Indexoptimierungsanalyse
Vor Kurzem hat das Unternehmen die Anforderung ge...
Bereitstellungsumgebung: Installationsversion Red...
Inhaltsverzeichnis 1. Anweisungen zum Starten und...
Ich habe einige Werte grob aufgelistet, um die Di...
In den vorherigen Abschnitten haben wir Aspekte zu...
Vorwort Eine Anforderung, die ich zuvor zur Verei...
Standardmäßig wird PHP unter CentOS 7 als Apache ...
1. Linux unter VMware Workstation: 1. Quelle aktu...
erreichen Dieser Effekt lässt sich mit CSS nur sc...
Inhaltsverzeichnis 1. Filtern Sie eindeutige Wert...
Installation und Konfiguration von MySQL im ZIP-F...
Inhaltsverzeichnis Gängige Array-Methoden concat(...
Inhaltsverzeichnis Vue-Monitoreigenschaften Was i...
Icon-Icon-Verarbeitungslösung Das Ziel dieses Dat...
Inhaltsverzeichnis 1. Die Rolle der Nginx-Prozess...