So konfigurieren Sie Nginx von Laravel Octane und WebSocket in Laradock

WBOY
Freigeben: 2023-05-17 15:22:06
nach vorne
1288 Leute haben es durchsucht

Vorherige Beschreibung

Nach der Installation von Laravel Octane in laradock beginnt swoole mit der Konfiguration des Portzugriffs Verbindung in Nginx schlägt fehl, Fehlermeldung 502, Konfiguration ist wie folgt: 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

  • 修改nginx配置文件。


    map $http_upgrade $connection_upgrade {
     default upgrade;
     ''      close;}
    
    Nach dem Login kopieren

    upstream ws {
     server 172.22.0.4:9502 weight=5 max_fails=3 fail_timeout=30s;}
    
    Nach dem Login kopieren
    <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">location /ws { set $suffix &quot;&quot;; 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;}</pre><div class="contentsignin">Nach dem Login kopieren</div></div>
    map $http_upgrade $connection_upgrade {
        default upgrade;
        &#39;&#39;      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
    Ursache: Swoole-Server läuft im Workspace-Container; Nginx-Server läuft im Nginx-Container, Sie müssen die IP von Workspace finden und Nginx-Konfiguration.
  • Lösung
    • docker ps Sehen Sie sich die ID des Workspace-Containers an.

      #🎜🎜##🎜🎜#Docker prüft Container-ID, finden Sie IPAddress in Netzwerke. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Nginx-Konfigurationsdatei ändern. #🎜🎜##🎜🎜#
      #🎜🎜#rrreee#🎜🎜##🎜🎜#rrreeerrreee#🎜🎜##🎜🎜##🎜🎜#Starten Sie Nginx neu. #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#Profil #🎜🎜##🎜🎜#rrreee

    Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie Nginx 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:yisu.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