Bagaimana untuk mengkonfigurasi nginx Laravel Octane dan WebSocket dalam Laradock

WBOY
Lepaskan: 2023-05-17 15:22:06
ke hadapan
1264 orang telah melayarinya

Penerangan sebelumnya

Selepas memasang Laravel Octane dalam laradock, swoole dimulakan dan konfigurasi sambungan akses port dalam nginx gagal, dengan mesej ralat daripada 502. Konfigurasi adalah seperti berikut:

location /octane {
    proxy_pass http://127.0.0.1:8080;}
Salin selepas log masuk

Sebab: Pelayan Swoole berjalan dalam bekas Workspace;

Penyelesaian

  • docker ps Lihat id bekas Ruang Kerja.

  • docker inspect 容器id, cari Networks dalam IPAddress.

  • Ubah suai fail konfigurasi nginx.


    map $http_upgrade $connection_upgrade {
     default upgrade;
     ''      close;}
    
    Salin selepas log masuk

    upstream ws {
     server 172.22.0.4:9502 weight=5 max_fails=3 fail_timeout=30s;}
    
    Salin selepas log masuk
    <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">Salin selepas log masuk</div></div>
  • Mulakan semula nginx.

Profil

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;}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi nginx Laravel Octane dan WebSocket dalam Laradock. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!