Maison  >  Article  >  cadre php  >  Partagez la configuration nginx de Laravel Octane et WebSocket dans Laradock

Partagez la configuration nginx de Laravel Octane et WebSocket dans Laradock

藏色散人
藏色散人avant
2023-02-14 11:20:291524parcourir

Cet article vous apporte des connaissances pertinentes sur Laravel, enregistrant principalement la configuration nginx de Laravel Octane et WebSocket dans Laradock. Pour ceux qui sont intéressés, jetez un œil ci-dessous, j'espère que cela vous sera utile.

Partagez la configuration nginx de Laravel Octane et WebSocket dans Laradock

l'installation docker de laradock, et l'installation de Laravel Octane ne seront pas décrites en détail ici. docker 安装laradock,和Laravel Octane的安装这里就不过多赘述了。

前情描述

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

location /octane {
    proxy_pass http://127.0.0.1:8080;}

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

解决方法

  • docker ps 查看Workspace容器的id。

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

  • Description précédente
  • Après l'installation de Laravel Octane dans laradock, swoole démarre. La configuration de la connexion d'accès au port dans nginx échoue et le message d'erreur 502 est signalé. La configuration est la suivante. suit :
map $http_upgrade $connection_upgrade {
 default upgrade;
 ''      close;}
  • Raison : Le serveur Swoole s'exécute dans le conteneur Workspace ; le serveur Nginx s'exécute dans le conteneur Nginx. Vous devez trouver l'adresse IP de l'espace de travail et la configurer dans nginx.

  • Solution

      docker ps Affichez l'identifiant du conteneur Workspace.

      docker inspecte l'identifiant du conteneur, recherchez IPAddress dans Réseaux.

      🎜🎜🎜Modifier le fichier de configuration nginx. 🎜
    upstream ws {
     server 172.22.0.4:9502 weight=5 max_fails=3 fail_timeout=30s;}
    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;}
    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;}
    🎜🎜🎜Redémarrez nginx. 🎜🎜🎜🎜🎜Fichier de configuration🎜🎜rrreee🎜Apprentissage recommandé : "🎜tutoriel vidéo laravel🎜"🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer