سناریوی کامل راه اندازی لاراول با استفاده از داکر

۱۱ آبان ۱۳۹۸
Laravel With Docker ,Nginx and MySQL

در این آموزش قصد داریم با استفاده از داکر و ایمیج های رسمی یک پروژه لاراولی را اجرا کنیم و کاری را که با استفاده از نرم افزارهایی مثل lampp برای لینوکس یا wamp  برای ویندوز انجام میدهیم با استفاده از داکر در هر محیط و سروری انجام دهیم. در قسمت های قبلی تا حدودی با داکر آشنا شدیم و در این بخش قرار هست از دستورات داکر برای اجرا پروژه خود استفاده کنیم.

شما میتوانید به دلخواه خود هربخش این آموزش را تغییر دهید و از تکنولوژی مد نظر خودتان استفاده کنید. من در این بخش از MySQL 8 برای دیتابیس و نیز Nginx برای وب سرور استفاده میکنم.

خب ابتدا ایمیج های داکری مد نظر خودمان را با استفاده از دستورات زیر دانلود میکنیم:

 

اگر نسخه خاصی مد نظرتان هست میتوانید در جلوی نام هر ایمیج آن را بنویسید. ما آخرین نسخه هر کدام را و نیز ایمیج رسمی آن را دانلود میکنیم.

خب اکنون وارد مسیری میشویم که قرار هست پروژه خود را در آنجا قرار دهیم: من در این مسیر پروژه خودم را ایجاد میکنم:

داخل این پوشه هنوز فایل یا پوشه ای ایجاد نکرده ایم.

اولین کاری که انجام میدهیم ساخت یک پوشه برای تنطیمات Nginx و نیز ساخت یک پوشه برای تنظیمات PHP است.

همچنین به چند فایل دیگه نیاز داریم که باید آنها را هم ایجاد کنیم. یکی docker-compose.yaml که کانتینرهای مورد انتظار را برای ایجاد شدن در آن کانفیگ میکنیم. یک فایل .env برای نگه داشتن متغیرهای محلی استفاده میشود برای بالا بردن امنیت و راحتی کار و یک فایل nginx.conf برای نوشتن تنطیمات پایه nginx

تا اینجا پروژه ما شامل فایل ها و پوشه های خالی زیر است:

راه اندازی لاراول با استفاده از داکر بخش اول

راه اندازی لاراول با استفاده از داکر بخش اول – ساختار فایل ها و پوشه ها

خب ابتدا کد های زیر را که فایل پیش فرض تنظیمات Nginx است داخل فایل nginx.conf قرار دهید:

این فایل تنظیمات پیش فرض nginx است و تنها تغییری که در این فایل داده ام خط آخر آن به nginx  میگوییم که تمام Virtual host های مورد نیاز خودت را از مسیر

/etc/nginx/sites-enabled/*.conf که در درون کانتینر Nginx قرار دارد وقتی کانتینرت ساخته شد بخوان. تمام فایل هایی که با پسوند .conf در این مسیر قرار دارند.

حالا وارد پوشه nginx  میشویم.

یک فایل برای تنطیمات سایت خودمان در آن ایجاد میکنیم بنام مثلا site.conf

کد های زیر را در آن قرار میدهیم :

یک هاست مجازی برای بالا آوردن سایت خودمان ایجاد کردیم که هنوز کامل نیست و در ادامه به این فایل بر میگردیم و آن را کامل میکنیم. مسیر روت دسترسی همان مسیر قراردادن پروژه در کانتینر خواهد بود که در ادامه میبینید و server_name چون ما بر روی کامپیوتر شخصی در حال تست هستیم آن را برابر با لوکال هاست قرار میدهیم.

خب اکنون برمیگردیم به مسیر روت پروژه و فایل .env را مطابق زیر در آن ویرایش میکنیم:  تنها چیزی که تغییر میدهیم BASE_URL , APPLICATION است که آن را برابر با مسیر روت پروژه و نیز پوشه ای که قصد دارید پروژه لاراول خود را در آن قرار دهید است. من پروژه لاراول خودم را در ادامه در پوشه website قرار خواهم داد.

 

 

بسیاری از این پارامترها برای نصب پکیج های PHP استفاده میشوند به این صورت که شما در این فایل میگویید کدام یک از آنها نصب شود و کدام یک نصب نشود. مابقی پارامترها هم که مشخص هستند

خب حالا وارد پوشه php-fpm میشویم و فایلی بنام Dockerfile ایجاد کرده و سپس محتویات آن را مثل زیر تغییر میدهیم :

این فایل مسئول نصب PHP و پکیج های وابسته است. و در نهایت پورت را مشخص میکنید که بر روی چه پورتی برای مشاهده توسط وب سرورباز باشد.

دو فایل دیگر نیز در این پوشه ایجاد میکنیم و محتویات أنها را به ترتیب مثل زیر ویرایش میکنیم:

 

فایل opcache.ini

 

فایل xdebug.ini

 

خب الان یک نسخه از پروژه لاراولی خودتان را در پوشه website قرار دهید یا هر پوشه دلخواه. فقط در فایل .env باید مسیر را مشخص کنید.

و فایل site.conf را که در بالا ایجاد کرده بودیم و کامل نبود را مطابق زیر کامل میکنیم:

 

نکته ای که وجود دارد در این بخش قسمت fastcgi_pass php-fpm:9000 است که به کانتینر لاراولی که در بالا ساختیم و پورت آن که برابر با ۹۰۰۰ قرار دادیم اشاره دارد. اکنون دو دستور زیر را اجرا کنید و منتظر ساختن کانتینرها بمانید.

 

 

یک نسخه از این پروژه را در گیت لب قرار دادم تا دوستانی که مایل باشند آن را دانلود کنند.  خطاهای احتمالی خود را در همین بخش کامنت کنید تا هم به پخته تر شدن این آموزش کمک کند و نیز با خطاهای ممکن آشنا شویم.

لینک گیت هاب

0
برچسب ها :
نویسنده مطلب علی فلاحتی

بدون دیدگاه

لینک های مفید