Heim PHP-Framework Laravel Teilen Sie die Nginx-Konfiguration von Laravel Octane und WebSocket in Laradock

Teilen Sie die Nginx-Konfiguration von Laravel Octane und WebSocket in Laradock

Feb 14, 2023 am 11:20 AM
laravel laradock

Dieser Artikel vermittelt Ihnen relevantes Wissen über Laravel und zeichnet hauptsächlich die Nginx-Konfiguration von Laravel Octane und WebSocket in Laradock auf. Ich hoffe, dass er für Sie hilfreich ist.

Teilen Sie die Nginx-Konfiguration von Laravel Octane und WebSocket in Laradock

Die Docker-Installation von Laradock und die Installation von Laravel Octane werden hier nicht im Detail beschrieben. docker 安装laradock,和Laravel Octane的安装这里就不过多赘述了。

前情描述

laradock中安装好Laravel Octane后swoole启动,在nginx中配置端口访问连接失败, 报错提示502,配置如下:

location /octane {
    proxy_pass http://127.0.0.1:8080;}
Nach dem Login kopieren

原因:Swoole服务器在Workspace容器中运行;Nginx服务器在Nginx容器中运行,需要找到Workspace的ip并在nginx中配置。

解决方法

  • docker ps 查看Workspace容器的id。

  • docker inspect 容器id,找到Networks中的IPAddress

  • Vorherige Beschreibung
  • Nach der Installation von Laravel Octane in laradock schlägt die Konfiguration der Portzugriffsverbindung in Nginx fehl und es wird die Fehlermeldung 502 angezeigt folgt:
map $http_upgrade $connection_upgrade {
 default upgrade;
 ''      close;}
Nach dem Login kopieren
  • Grund: Der Swoole-Server läuft im Workspace-Container; der Nginx-Server läuft im Nginx-Container. Sie müssen die Workspace-IP finden und in nginx konfigurieren.

  • Solution

      docker ps Sehen Sie sich die ID des Workspace-Containers an.

      docker inspect container id, finden Sie IPAddress in Netzwerke.

      🎜🎜🎜Ändern Sie die Nginx-Konfigurationsdatei. 🎜
    upstream ws {
     server 172.22.0.4:9502 weight=5 max_fails=3 fail_timeout=30s;}
    Nach dem Login kopieren
    location /ws {
     set $suffix "";
    
     if ($uri = /index.php) {
         set $suffix ?$query_string;
     }
    
     proxy_http_version 1.1;
     proxy_set_header Host $http_host;
     proxy_set_header Scheme $scheme;
     proxy_set_header SERVER_PORT $server_port;
     proxy_set_header REMOTE_ADDR $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection $connection_upgrade;
    
     proxy_pass http://ws$suffix;}
    Nach dem Login kopieren
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;}upstream ws {
        server 172.22.0.4:9502 weight=5 max_fails=3 fail_timeout=30s;}server {
    
        listen 80;
        listen [::]:80;
    
        server_name bbs.test;
        root /var/www/laravel/public;
        index index.php index.html index.htm;
    
        location / {
             try_files $uri $uri/ /index.php$is_args$args;
        }
    
        location ~ \.php$ {
            try_files $uri /index.php =404;
            fastcgi_pass php-upstream;
            fastcgi_index index.php;
            fastcgi_buffers 16 16k;
            fastcgi_buffer_size 32k;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            #fixes timeouts
            fastcgi_read_timeout 600;
            include fastcgi_params;
        }
    
        location ~ /\.ht {
            deny all;
        }
    
        location /.well-known/acme-challenge/ {
            root /var/www/letsencrypt/;
            log_not_found off;
        }
    
        location /ws {
            set $suffix "";
    
            if ($uri = /index.php) {
                set $suffix ?$query_string;
            }
    
            proxy_http_version 1.1;
            proxy_set_header Host $http_host;
            proxy_set_header Scheme $scheme;
            proxy_set_header SERVER_PORT $server_port;
            proxy_set_header REMOTE_ADDR $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
    
            proxy_pass http://ws$suffix;
        }
    
        error_log /var/log/nginx/laravel_error.log;
        access_log /var/log/nginx/laravel_access.log;}
    Nach dem Login kopieren
    🎜🎜🎜Starten Sie Nginx neu. 🎜🎜🎜🎜🎜Konfigurationsdatei🎜🎜rrreee🎜Empfohlenes Lernen: „🎜Laravel-Video-Tutorial🎜“🎜

    Das obige ist der detaillierte Inhalt vonTeilen Sie die Nginx-Konfiguration von Laravel Octane und WebSocket in Laradock. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    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

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Wie man Teamkollegen wiederbelebt
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    PHP vs. Flutter: Die beste Wahl für die mobile Entwicklung PHP vs. Flutter: Die beste Wahl für die mobile Entwicklung May 06, 2024 pm 10:45 PM

    PHP und Flutter sind beliebte Technologien für die mobile Entwicklung. Flutter zeichnet sich durch plattformübergreifende Funktionen, Leistung und Benutzeroberfläche aus und eignet sich für Anwendungen, die eine hohe Leistung, plattformübergreifende und benutzerdefinierte Benutzeroberfläche erfordern. PHP eignet sich für serverseitige Anwendungen mit geringerer Leistung und nicht plattformübergreifend.

    Wie verwende ich objektrelationales Mapping (ORM) in PHP, um Datenbankoperationen zu vereinfachen? Wie verwende ich objektrelationales Mapping (ORM) in PHP, um Datenbankoperationen zu vereinfachen? May 07, 2024 am 08:39 AM

    Datenbankoperationen in PHP werden durch ORM vereinfacht, das Objekte in relationalen Datenbanken abbildet. EloquentORM in Laravel ermöglicht Ihnen die Interaktion mit der Datenbank mithilfe einer objektorientierten Syntax. Sie können ORM verwenden, indem Sie Modellklassen definieren, Eloquent-Methoden verwenden oder in der Praxis ein Blog-System erstellen.

    Laravel – Handwerkerbefehle Laravel – Handwerkerbefehle Aug 27, 2024 am 10:51 AM

    Laravel – Artisan Commands – Laravel 5.7 bietet eine neue Möglichkeit, neue Befehle zu behandeln und zu testen. Es enthält eine neue Funktion zum Testen von Handwerkerbefehlen und die Demonstration wird unten erwähnt?

    Analyse der Vor- und Nachteile von PHP-Unit-Test-Tools Analyse der Vor- und Nachteile von PHP-Unit-Test-Tools May 06, 2024 pm 10:51 PM

    Analyse des PHP-Unit-Test-Tools: PHPUnit: Geeignet für große Projekte, bietet umfassende Funktionalität und ist einfach zu installieren, kann jedoch ausführlich und langsam sein. PHPUnitWrapper: geeignet für kleine Projekte, einfach zu verwenden, optimiert für Lumen/Laravel, verfügt jedoch über eingeschränkte Funktionalität, bietet keine Code-Coverage-Analyse und hat begrenzte Community-Unterstützung.

    Vergleich der neuesten Versionen von Laravel und CodeIgniter Vergleich der neuesten Versionen von Laravel und CodeIgniter Jun 05, 2024 pm 05:29 PM

    Die neuesten Versionen von Laravel 9 und CodeIgniter 4 bieten aktualisierte Funktionen und Verbesserungen. Laravel9 übernimmt die MVC-Architektur und bietet Funktionen wie Datenbankmigration, Authentifizierung und Template-Engine. CodeIgniter4 nutzt die HMVC-Architektur, um Routing, ORM und Caching bereitzustellen. In Bezug auf die Leistung sorgen das auf Dienstanbietern basierende Designmuster von Laravel9 und das leichte Framework von CodeIgniter4 für eine hervorragende Leistung. In praktischen Anwendungen eignet sich Laravel9 für komplexe Projekte, die Flexibilität und leistungsstarke Funktionen erfordern, während CodeIgniter4 für schnelle Entwicklung und kleine Anwendungen geeignet ist.

    Wie vergleichen sich die Datenverarbeitungsfunktionen in Laravel und CodeIgniter? Wie vergleichen sich die Datenverarbeitungsfunktionen in Laravel und CodeIgniter? Jun 01, 2024 pm 01:34 PM

    Vergleichen Sie die Datenverarbeitungsfunktionen von Laravel und CodeIgniter: ORM: Laravel verwendet EloquentORM, das eine relationale Klassen-Objekt-Zuordnung bereitstellt, während CodeIgniter ActiveRecord verwendet, um das Datenbankmodell als Unterklasse von PHP-Klassen darzustellen. Abfrage-Builder: Laravel verfügt über eine flexible verkettete Abfrage-API, während der Abfrage-Builder von CodeIgniter einfacher und Array-basiert ist. Datenvalidierung: Laravel bietet eine Validator-Klasse, die benutzerdefinierte Validierungsregeln unterstützt, während CodeIgniter über weniger integrierte Validierungsfunktionen verfügt und eine manuelle Codierung benutzerdefinierter Regeln erfordert. Praxisfall: Beispiel einer Benutzerregistrierung zeigt Lar

    PHP-Code-Unit-Tests und Integrationstests PHP-Code-Unit-Tests und Integrationstests May 07, 2024 am 08:00 AM

    Leitfaden zum Testen von PHP-Einheiten und -Integrationen Unit-Tests: Konzentrieren Sie sich auf eine einzelne Code- oder Funktionseinheit und verwenden Sie PHPUnit, um Testfallklassen zur Überprüfung zu erstellen. Integrationstests: Achten Sie darauf, wie mehrere Codeeinheiten zusammenarbeiten, und verwenden Sie die Methoden setUp() und TearDown() von PHPUnit, um die Testumgebung einzurichten und zu bereinigen. Praktischer Fall: Verwenden Sie PHPUnit, um Unit- und Integrationstests in Laravel-Anwendungen durchzuführen, einschließlich der Erstellung von Datenbanken, dem Starten von Servern und dem Schreiben von Testcode.

    Laravel vs CodeIgniter: Welches Framework ist besser für große Projekte? Laravel vs CodeIgniter: Welches Framework ist besser für große Projekte? Jun 04, 2024 am 09:09 AM

    Bei der Auswahl eines Frameworks für große Projekte haben Laravel und CodeIgniter jeweils ihre eigenen Vorteile. Laravel ist für Anwendungen auf Unternehmensebene konzipiert und bietet modularen Aufbau, Abhängigkeitsinjektion und einen leistungsstarken Funktionsumfang. CodeIgniter ist ein leichtes Framework, das sich eher für kleine bis mittelgroße Projekte eignet und Wert auf Geschwindigkeit und Benutzerfreundlichkeit legt. Für große Projekte mit komplexen Anforderungen und einer großen Anzahl von Benutzern sind die Leistung und Skalierbarkeit von Laravel besser geeignet. Für einfache Projekte oder Situationen mit begrenzten Ressourcen sind die leichten und schnellen Entwicklungsfunktionen von CodeIgniter idealer.

    See all articles