Heim > PHP-Framework > Laravel > Hauptteil

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

藏色散人
Freigeben: 2023-02-22 19:58:41
nach vorne
1611 Leute haben es durchsucht

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!

    Verwandte Etiketten:
    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