"Enter"a basıp içeriğe geçin

Swoole uygulamasini Docker ile ayaga kaldirma.

Swoole’u Nginx ile birleştirmek ve Docker üzerinde çalıştırmak için aşağıdaki adımları takip edebilirsiniz. Bu örnek, basit bir Laravel uygulamasını içermektedir. Dilerseniz bu adımları kendi projenize uygun şekilde uyarlayabilirsiniz.

  1. Laravel ve Swoole Kurulumu: Önce Laravel projesi oluşturun ve Swoole’ü ekleyin:
   composer create-project --prefer-dist laravel/laravel example
   cd example
   composer require swooletw/laravel-swoole
  1. Dockerfile Oluşturma: Proje kök dizinine bir Dockerfile oluşturun:
   FROM php:8.0

   WORKDIR /var/www/html

   RUN apt-get update && apt-get install -y \
       libzip-dev \
       zip \
       && docker-php-ext-install zip

   COPY . .

   RUN composer install

   EXPOSE 1215
   CMD ["php", "artisan", "swoole:http", "start"]
  1. docker-compose.yml Oluşturma: Proje kök dizinine bir docker-compose.yml dosyası ekleyin:
   version: '3'

   services:
     app:
       build:
         context: .
       ports:
         - "8000:1215"

Bu dosya, Nginx’i şu anda içermiyor çünkü Swoole, HTTP sunucu olarak çalışırken Nginx gibi bir reverse proxy’ye ihtiyaç duymayabilir.

  1. Nginx Konfigürasyonu: Proje kök dizinine bir nginx.conf dosyası ekleyin:
   server {
       listen 80;
       server_name example.com;
       root /var/www/html/public;

       location / {
           try_files $uri /index.php?$query_string;
       }

       location ~ \.php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass app:1215; # Swoole portu
           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
           include fastcgi_params;
       }

       error_log /var/log/nginx/error.log;
       access_log /var/log/nginx/access.log;
   }
  1. docker-compose.yml Güncelleme: docker-compose.yml dosyasını güncelleyerek Nginx servisini ekleyin:
   version: '3'

   services:
     app:
       build:
         context: .
       ports:
         - "1215:1215"

     nginx:
       image: nginx:latest
       ports:
         - "80:80"
       volumes:
         - ./nginx.conf:/etc/nginx/conf.d/default.conf
         - ./example:/var/www/html
       depends_on:
         - app
  1. Uygulamayı Çalıştırma: Terminalde proje dizininde şu komutları çalıştırarak Docker container’larını başlatın:
   docker-compose build
   docker-compose up -d

Artık uygulamanız http://example.com üzerinden erişilebilir.

Bu örnek, Swoole’u Docker içinde çalıştırmak ve Nginx ile birleştirmek için temel bir başlangıçtır. Projelerinizin gereksinimlerine göre bu konfigürasyonu özelleştirebilirsiniz.

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir