لاراول والت
- معرفی
- نصب و راه اندازی
- سایت های سرویس دهی
- اشتراک گذاری سایت ها
- متغیرهای محیط خاص سایت
- خدمات پروکسی
- درایورهای نوکر سفارشی
- سایر دستورات نوکر
- فهرست ها و فایل های نوکر
معرفی
Laravel Valet
یک محیط توسعه برای مینیمالیست های macOS است. Laravel Valet مک شما را
طوری پیکربندی میکند که همیشه
Nginx را
در پسزمینه اجرا کند. سپس، با استفاده از
DnsMasq
، Valet تمام درخواستهای موجود در
*.test
دامنه را پراکسی میکند تا به سایتهای نصب شده در دستگاه محلی شما اشاره
کند.
به عبارت دیگر، Valet یک محیط توسعه سریع لاراول است که از 7 مگابایت رم استفاده می کند. Valet جایگزین کاملی برای Sail یا Homestead نیست ، اما اگر میخواهید اصول اولیه انعطافپذیری داشته باشید، سرعت فوقالعاده را ترجیح میدهید، یا روی دستگاهی با مقدار RAM محدود کار میکنید، یک جایگزین عالی ارائه میکند.
خارج از جعبه، پشتیبانی Valet شامل، اما محدود به موارد زیر نیست:
با این حال، می توانید Valet را با درایورهای سفارشی خود گسترش دهید .
نصب و راه اندازی
Valet به macOS و Homebrew نیاز دارد . قبل از نصب، باید مطمئن شوید که هیچ برنامه دیگری مانند Apache یا Nginx به پورت 80 دستگاه محلی شما متصل نیست.
برای شروع، ابتدا باید با استفاده از
update
دستور زیر مطمئن شوید که Homebrew به روز است:
brew update
در مرحله بعد، برای نصب PHP باید از Homebrew استفاده کنید:
brew install php
پس از نصب PHP، آماده نصب مدیریت بسته Composer
هستید
. علاوه بر این، باید مطمئن شوید که
~/.composer/vendor/bin
دایرکتوری در "PATH" سیستم شما قرار دارد. پس از نصب Composer، می توانید
Laravel Valet را به عنوان بسته جهانی Composer نصب کنید:
composer global require laravel/valet
در نهایت، می توانید دستور Valet را اجرا کنید
install
. با این کار Valet و DnsMasq پیکربندی و نصب می شود. علاوه بر این، شیاطین
Valet وابسته به پیکربندی میشوند تا هنگام راهاندازی سیستم شما راهاندازی شوند:
valet install
پس از نصب Valet،
*.test
با استفاده از دستوری مانند ping هر دامنه را در ترمینال خود پینگ کنید
ping foobar.test
. اگر Valet به درستی نصب شده باشد، باید ببینید که این دامنه در پاسخ
میدهد
127.0.0.1
.
هر بار که دستگاه شما بوت می شود، Valet به طور خودکار خدمات مورد نیاز خود را شروع می کند.
نسخه های پی اچ پی
Valet به شما امکان می دهد نسخه های PHP را با استفاده از
valet use php@version
دستور تغییر دهید. Valet نسخه PHP مشخص شده را از طریق Homebrew نصب می کند
اگر قبلاً نصب نشده باشد:
valet use php@7.2 valet use php
همچنین می توانید یک
.valetphprc
فایل در ریشه پروژه خود ایجاد کنید. فایل
.valetphprc
باید حاوی نسخه PHP باشد که سایت باید از آن استفاده کند:
php@7.2
پس از ایجاد این فایل، می توانید به سادگی
valet use
دستور را اجرا کنید و با خواندن فایل، این دستور نسخه PHP ترجیحی سایت را
مشخص می کند.
Valet فقط یک نسخه PHP را در یک زمان ارائه می دهد، حتی اگر چندین نسخه PHP را نصب کرده باشید.
پایگاه داده
اگر برنامه شما به پایگاه داده نیاز دارد، DBngin را
بررسی کنید
، که یک ابزار مدیریت پایگاه داده رایگان و همه کاره که شامل MySQL،
PostgreSQL و Redis است، ارائه میکند. پس از نصب DBngin، می توانید با
127.0.0.1
استفاده از
root
نام کاربری و یک رشته خالی برای رمز عبور به پایگاه داده خود متصل شوید.
تنظیم مجدد نصب
اگر در اجرای صحیح نصب Valet خود با مشکل مواجه هستید، اجرای
composer global require laravel/valet
دستور به دنبال آن
valet install
نصب شما را بازنشانی می کند و می تواند مشکلات مختلفی را حل کند. در موارد
نادر، ممکن است نیاز به "تنظیم مجدد" Valet با اجرای
valet uninstall --force
و به دنبال آن باشد
valet install
.
ارتقاء Valet
می توانید نصب Valet خود را با اجرای
composer global require laravel/valet
دستور در ترمینال خود به روز کنید. پس از ارتقاء، اجرای این دستور خوب است
valet install
تا Valet بتواند در صورت لزوم، فایل های پیکربندی شما را ارتقا دهد.
سایت های سرویس دهی
پس از نصب Valet، آماده شروع سرویس دهی به برنامه های لاراول خود هستید.
Valet دو دستور را برای کمک به شما در ارائه برنامه های کاربردی ارائه می دهد:
park
و
link
.
دستور
park
_
دستور
park
یک دایرکتوری را در دستگاه شما ثبت می کند که حاوی برنامه های کاربردی شما
است. هنگامی که دایرکتوری با Valet "پارک شده" شد، همه دایرکتوری های موجود در آن دایرکتوری در مرورگر وب شما در
آدرس زیر قابل دسترسی خواهند بود
http://<directory-name>.test
:
cd ~/Sites valet park
این تمام چیزی است که در آن وجود دارد. اکنون، هر برنامهای که در فهرست
«پارکشده» خود ایجاد میکنید، بهطور خودکار با استفاده از کنوانسیون ارائه میشود
http://<directory-name>.test
. بنابراین، اگر دایرکتوری پارک شده شما حاوی دایرکتوری به نام "laravel"
باشد، برنامه در آن دایرکتوری در دسترس خواهد بود
http://laravel.test
. علاوه بر این، Valet به طور خودکار به شما اجازه می دهد تا با استفاده از
زیر دامنه های wildcard ( ) به سایت دسترسی داشته باشید
http://foo.laravel.test
.
دستور
link
_
این
link
دستور همچنین می تواند برای سرویس دادن به برنامه های لاراول شما استفاده
شود. اگر بخواهید یک سایت را در یک دایرکتوری و نه کل دایرکتوری را ارائه دهید، این دستور مفید است:
cd ~/Sites/laravel valet link
هنگامی که یک برنامه با استفاده از دستور به Valet پیوند داده شد
link
، می توانید با استفاده از نام دایرکتوری آن به برنامه دسترسی پیدا کنید.
بنابراین، سایتی که در مثال بالا پیوند داده شده است، ممکن است در دسترسی باشد
http://laravel.test
. علاوه بر این، Valet به طور خودکار به شما امکان می دهد با استفاده از زیر
دامنه های wildcard ( ) به سایت دسترسی داشته باشید
http://foo.laravel.test
.
اگر میخواهید برنامه را با نام میزبان دیگری ارائه کنید، میتوانید نام
میزبان را به
link
دستور ارسال کنید. به عنوان مثال، می توانید دستور زیر را برای در دسترس
قرار دادن یک برنامه در آدرس زیر اجرا کنید
http://application.test
:
cd ~/Sites/laravel valet link application
البته، میتوانید با استفاده از
link
دستور زیر، برنامهها را در زیر دامنهها نیز ارائه دهید:
valet link api.application
شما می توانید این
links
دستور را برای نمایش لیستی از همه دایرکتوری های پیوند شده خود اجرا کنید:
valet links
این
unlink
دستور ممکن است برای از بین بردن پیوند نمادین یک سایت استفاده شود:
cd ~/Sites/laravel valet unlink
ایمن سازی سایت ها با TLS
به طور پیش فرض، Valet سایت ها را از طریق HTTP ارائه می دهد. با این حال،
اگر می خواهید یک سایت را با استفاده از HTTP/2 از طریق TLS رمزگذاری شده ارائه کنید، می توانید از
secure
دستور استفاده کنید. به عنوان مثال، اگر سایت شما توسط Valet در دامنه ارائه
می شود
laravel.test
، باید دستور زیر را برای ایمن سازی آن اجرا کنید:
valet secure laravel
برای "ناامن" کردن یک سایت و بازگشت به سرویس دادن به ترافیک آن از طریق
HTTP ساده، از
unsecure
دستور استفاده کنید. مانند
secure
دستور، این دستور نام میزبانی را میپذیرد که میخواهید ایمن نکنید:
valet unsecure laravel
ارائه یک سایت پیش فرض
گاهی اوقات، ممکن است بخواهید
404
هنگام بازدید از یک
test
دامنه ناشناخته، Valet را برای سرویس دادن به یک سایت "پیشفرض" به جای a
پیکربندی کنید. برای انجام این کار، میتوانید
default
گزینهای را به فایل پیکربندی خود اضافه کنید
~/.config/valet/config.json
که حاوی مسیری به سایت است که باید به عنوان سایت پیشفرض شما عمل کند:
"default": "/Users/Sally/Sites/example-site",
نسخه های پی اچ پی در هر سایت
به طور پیش فرض، Valet از نصب جهانی PHP شما برای ارائه خدمات به سایت های
شما استفاده می کند. با این حال، اگر نیاز به پشتیبانی از چندین نسخه PHP در سایتهای مختلف دارید، میتوانید از
این
isolate
دستور برای تعیین نسخه PHP که یک سایت خاص باید استفاده کند استفاده کنید.
این
isolate
فرمان Valet را برای استفاده از نسخه PHP مشخص شده برای سایتی که در فهرست
کاری فعلی شما قرار دارد، پیکربندی می کند:
cd ~/Sites/example-site valet isolate php@8.0
اگر نام سایت شما با نام دایرکتوری حاوی آن مطابقت ندارد، می توانید نام
سایت را با استفاده از
--site
گزینه زیر مشخص کنید:
valet isolate php@8.0 --site="site-name"
برای راحتی، می توانید از دستورات
valet php
،
composer
و
which-php
برای فراخوانی پروکسی به CLI یا ابزار مناسب PHP بر اساس نسخه PHP پیکربندی
شده سایت استفاده کنید:
valet phpvalet composervalet which-php
می توانید
isolated
دستور نمایش لیستی از تمام سایت های ایزوله شده و نسخه های PHP آنها را اجرا
کنید:
valet isolated
برای برگرداندن یک سایت به نسخه PHP نصب شده جهانی Valet، می توانید
unisolate
دستور را از دایرکتوری ریشه سایت فراخوانی کنید:
valet unisolate
اشتراک گذاری سایت ها
Valet حتی شامل دستوری برای به اشتراک گذاشتن سایت های محلی شما با جهان است، که راهی آسان برای آزمایش سایت شما در دستگاه های تلفن همراه یا به اشتراک گذاری آن با اعضای تیم و مشتریان ارائه می دهد.
اشتراک گذاری سایت ها از طریق Ngrok
برای اشتراک گذاری یک سایت، به دایرکتوری سایت در ترمینال خود بروید و
share
دستور Valet را اجرا کنید. یک URL در دسترس عموم در کلیپ بورد شما درج می
شود و آماده است که مستقیماً در مرورگر شما جایگذاری شود یا با تیم شما به اشتراک گذاشته شود:
cd ~/Sites/laravel valet share
برای توقف اشتراکگذاری سایت خود، میتوانید فشار دهید
Control + C
. اشتراک گذاری سایت خود با استفاده از Ngrok مستلزم
ایجاد یک حساب Ngrok
و
راه اندازی یک نشانه احراز هویت
است .
می توانید پارامترهای Ngrok اضافی را به دستور share ارسال کنید، مانند
valet share --region=eu
. برای اطلاعات بیشتر، به مستندات ngrok مراجعه کنید .
اشتراک گذاری سایت ها از طریق Expose
اگر
Expose
را نصب کردهاید، میتوانید با رفتن به فهرست سایت در ترمینال خود و اجرای
expose
دستور، سایت خود را به اشتراک بگذارید.
برای اطلاعات در مورد پارامترهای اضافی خط فرمان که پشتیبانی می کند، با
اسناد Expose
مشورت کنید .
پس از اشتراکگذاری سایت، Expose نشانی اینترنتی قابل اشتراکگذاری را نشان
میدهد که ممکن است در دستگاههای دیگر خود یا در بین اعضای تیم استفاده کنید:
cd ~/Sites/laravel expose
برای توقف اشتراکگذاری سایت خود، میتوانید فشار دهید
Control + C
.
اشتراک گذاری سایت ها در شبکه محلی شما
Valet ترافیک ورودی را
127.0.0.1
به طور پیش فرض به رابط داخلی محدود می کند تا دستگاه توسعه شما در معرض
خطرات امنیتی اینترنت قرار نگیرد.
اگر می خواهید به دستگاه های دیگر در شبکه محلی خود اجازه دهید از طریق آدرس
IP دستگاه شما به سایت های Valet در دستگاه شما دسترسی داشته باشند (به عنوان مثال:
192.168.1.10/application.test
)، باید به صورت دستی فایل پیکربندی Nginx مناسب برای آن سایت را ویرایش
کنید تا محدودیت دستورالعمل را حذف کنید
listen
. . شما باید
127.0.0.1:
پیشوند دایرکتیو
listen
پورت های 80 و 443 را حذف کنید.
valet secure
اگر روی پروژه
اجرا نکردهاید ، میتوانید با ویرایش
/usr/local/etc/nginx/valet/valet.conf
فایل، دسترسی به شبکه را برای همه سایتهای غیر HTTPS باز کنید. با این حال،
اگر به سایت پروژه از طریق HTTPS سرویس می دهید (شما
valet secure
برای سایت اجرا کرده اید) باید
~/.config/valet/Nginx/app-name.test
فایل را ویرایش کنید.
هنگامی که پیکربندی Nginx خود را به روز کردید،
valet restart
دستور اعمال تغییرات پیکربندی را اجرا کنید.
متغیرهای محیط خاص سایت
برخی از برنامههایی که از چارچوبهای دیگر استفاده میکنند ممکن است به
متغیرهای محیط سرور بستگی داشته باشند، اما راهی برای پیکربندی آن متغیرها در پروژه شما ارائه نمیدهند. Valet
به شما اجازه می دهد تا با افزودن یک
.valet-env.php
فایل در ریشه پروژه خود،
متغیرهای محیطی خاص سایت را پیکربندی کنید . این فایل باید آرایه ای از جفت
های متغیر سایت/محیط را برگرداند که
$_SERVER
برای هر سایت مشخص شده در آرایه
به آرایه جهانی اضافه می شود :
<?php return [ // Set $_SERVER['key'] to "value" for the laravel.test site... 'laravel' => [ 'key' => 'value', ], // Set $_SERVER['key'] to "value" for all sites... '*' => [ 'key' => 'value', ],];
خدمات پروکسی
گاهی اوقات ممکن است بخواهید دامنه Valet را به سرویس دیگری در دستگاه محلی خود پراکسی کنید. به عنوان مثال، ممکن است گاهی اوقات نیاز به اجرای Valet داشته باشید در حالی که یک سایت جداگانه در Docker نیز اجرا می کنید. با این حال، Valet و Docker هر دو نمی توانند همزمان به پورت 80 متصل شوند.
برای حل این مشکل، می توانید از
proxy
دستور ایجاد یک پروکسی استفاده کنید. برای مثال، میتوانید تمام ترافیک را
از
http://elasticsearch.test
به
http://127.0.0.1:9200
:
# Proxy over HTTP...valet proxy elasticsearch http://127.0.0.1:9200 # Proxy over TLS + HTTP/2...valet proxy elasticsearch http://127.0.0.1:9200 --secure
می توانید با استفاده از
unproxy
دستور زیر یک پروکسی را حذف کنید:
valet unproxy elasticsearch
می توانید از این
proxies
دستور برای فهرست کردن تمام تنظیمات سایتی که پروکسی شده اند استفاده کنید:
valet proxies
درایورهای نوکر سفارشی
میتوانید «درایور» Valet خود را بنویسید تا به برنامههای PHP در حال اجرا
بر روی یک چارچوب یا CMS که توسط Valet پشتیبانی نمیشود، ارائه شود. هنگامی که Valet را نصب می کنید، یک
~/.config/valet/Drivers
دایرکتوری ایجاد می شود که حاوی یک
SampleValetDriver.php
فایل است. این فایل شامل یک اجرای درایور نمونه برای نشان دادن نحوه نوشتن
یک درایور سفارشی است. برای نوشتن درایور فقط باید سه روش را اجرا کنید:
serves
,
isStaticFile
و
frontControllerPath
.
هر سه متد مقادیر، و و را به عنوان آرگومان های خود دریافت
$sitePath
می
$siteName
کنند
$uri
.
$sitePath
مسیر کاملاً واجد شرایط به سایتی است که در دستگاه شما ارائه می شود،
مانند
/Users/Lisa/Sites/my-project
.
$siteName
بخش "میزبان" / "نام سایت" دامنه ( )
است
my-project
.
$uri
URI درخواست ورودی (
/foo/bar
)
است .
هنگامی که درایور Valet سفارشی خود را تکمیل کردید، آن را
~/.config/valet/Drivers
با استفاده از
FrameworkValetDriver.php
قرارداد نامگذاری در دایرکتوری قرار دهید. به عنوان مثال، اگر در حال نوشتن
یک درایور سفارشی برای وردپرس هستید، نام فایل شما باید باشد
WordPressValetDriver.php
.
بیایید به یک نمونه پیادهسازی از هر روشی که درایور Valet سفارشی شما باید اجرا کند نگاهی بیاندازیم.
روش
serves
_
اگر راننده شما باید درخواست ورودی را رسیدگی کند،
روش
serves
باید برگردد .
true
در غیر این صورت، روش باید برگردد
false
. بنابراین، در این روش، باید سعی کنید تعیین کنید که آیا پروژه داده شده
$sitePath
حاوی پروژه ای از نوع مورد نظر شما است یا خیر.
برای مثال، بیایید تصور کنیم در حال نوشتن یک
WordPressValetDriver
. روش
ما
serves
ممکن است چیزی شبیه به این باشد:
/** * Determine if the driver serves the request. * * @param string $sitePath * @param string $siteName * @param string $uri * @return bool */public function serves($sitePath, $siteName, $uri){ return is_dir($sitePath.'/wp-admin');}
روش
isStaticFile
_
باید
isStaticFile
تعیین کند که آیا درخواست ورودی برای فایلی است که "ایستا" است، مانند یک
تصویر یا یک شیوه نامه. اگر فایل ثابت است، روش باید مسیر کاملا واجد شرایط را به فایل استاتیک روی دیسک
برگرداند. اگر درخواست دریافتی مربوط به یک فایل ثابت نیست، متد باید به صورت زیر برگردد
false
:
/** * Determine if the incoming request is for a static file. * * @param string $sitePath * @param string $siteName * @param string $uri * @return string|false */public function isStaticFile($sitePath, $siteName, $uri){ if (file_exists($staticFilePath = $sitePath.'/public/'.$uri)) { return $staticFilePath; } return false;}
متد
isStaticFile
فقط در صورتی فراخوانی می شود کهserves
متد برای درخواست ورودی برگرددtrue
و URI درخواست نباشد/
.
روش
frontControllerPath
_
این
frontControllerPath
روش باید مسیر کاملاً واجد شرایط را به «کنترلکننده جلو» برنامه شما
برگرداند، که معمولاً یک فایل «index.php» یا معادل آن است:
/** * Get the fully resolved path to the application's front controller. * * @param string $sitePath * @param string $siteName * @param string $uri * @return string */public function frontControllerPath($sitePath, $siteName, $uri){ return $sitePath.'/public/index.php';}
رانندگان محلی
اگر می خواهید برای یک برنامه یک درایور سفارشی Valet تعریف کنید، یک
LocalValetDriver.php
فایل در فهرست اصلی برنامه ایجاد کنید. درایور سفارشی شما ممکن است
ValetDriver
کلاس پایه را گسترش دهد یا یک درایور خاص برنامه موجود را گسترش دهد مانند
LaravelValetDriver
:
use Valet\Drivers\LaravelValetDriver; class LocalValetDriver extends LaravelValetDriver{ /** * Determine if the driver serves the request. * * @param string $sitePath * @param string $siteName * @param string $uri * @return bool */ public function serves($sitePath, $siteName, $uri) { return true; } /** * Get the fully resolved path to the application's front controller. * * @param string $sitePath * @param string $siteName * @param string $uri * @return string */ public function frontControllerPath($sitePath, $siteName, $uri) { return $sitePath.'/public_html/index.php'; }}
سایر دستورات نوکر
فرمان | شرح |
---|---|
valet list |
نمایش لیستی از تمام دستورات Valet. |
valet forget |
این دستور را از یک پوشه "parked" اجرا کنید تا آن را از لیست پوشه پارک شده حذف کنید. |
valet log |
فهرستی از گزارشهای نوشته شده توسط سرویسهای Valet را مشاهده کنید. |
valet paths |
تمام مسیرهای "پارک شده" خود را مشاهده کنید. |
valet restart |
دیمون های Valet را مجددا راه اندازی کنید. |
valet start |
دیمون های Valet را راه اندازی کنید. |
valet stop |
شیاطین والت را متوقف کنید. |
valet trust |
فایلهای sudoers را برای Brew و Valet اضافه کنید تا اجازه دهید دستورات Valet بدون درخواست رمز عبور شما اجرا شوند. |
valet uninstall |
Uninstall Valet: دستورالعملهایی را برای حذف نصب دستی نشان
میدهد.
--force
گزینه حذف تهاجمی تمام منابع Valet را
پاس کنید .
|
فهرست ها و فایل های نوکر
ممکن است هنگام عیبیابی مشکلات محیط Valet، اطلاعات فهرست و فایل زیر برای شما مفید باشد:
~/.config/valet
شامل تمام تنظیمات Valet است. ممکن است بخواهید از این دایرکتوری یک نسخه پشتیبان تهیه کنید.
~/.config/valet/dnsmasq.d/
این دایرکتوری شامل پیکربندی DNSMasq است.
~/.config/valet/Drivers/
این فهرست شامل درایورهای Valet است. درایورها تعیین می کنند که چگونه یک چارچوب / CMS خاص ارائه می شود.
~/.config/valet/Extensions/
این دایرکتوری شامل پسوندها / دستورات Valet است.
~/.config/valet/Nginx/
این فهرست شامل تمام تنظیمات سایت Nginx Valet است. این فایل ها هنگام اجرای
دستورات
install
و بازسازی می شوند
secure
.
~/.config/valet/Sites/
این دایرکتوری شامل تمام پیوندهای نمادین پروژه های پیوند شده شما است .
~/.config/valet/config.json
این فایل، فایل پیکربندی اصلی Valet است.
~/.config/valet/valet.sock
این فایل سوکت PHP-FPM است که توسط نصب Nginx Valet استفاده می شود. این تنها در صورتی وجود خواهد داشت که PHP به درستی اجرا شود.
~/.config/valet/Log/fpm-php.www.log
این فایل لاگ کاربر برای خطاهای PHP است.
~/.config/valet/Log/nginx-error.log
این فایل گزارش کاربری خطاهای Nginx است.
/usr/local/var/log/php-fpm.log
این فایل گزارش سیستم برای خطاهای PHP-FPM است.
/usr/local/var/log/nginx
این دایرکتوری شامل گزارش های دسترسی و خطای Nginx است.
/usr/local/etc/php/X.X/conf.d
این دایرکتوری حاوی
*.ini
فایل هایی برای تنظیمات مختلف پیکربندی PHP است.
/usr/local/etc/php/X.X/php-fpm.d/valet-fpm.conf
این فایل فایل پیکربندی استخر PHP-FPM است.
~/.composer/vendor/laravel/valet/cli/stubs/secure.valet.conf
این فایل پیکربندی پیشفرض Nginx است که برای ساخت گواهیهای SSL برای سایتهای شما استفاده میشود.
دسترسی به دیسک
از macOS 10.14، دسترسی به برخی از فایل ها و دایرکتوری ها به طور پیش فرض محدود شده است . این محدودیت ها شامل دایرکتوری های دسکتاپ، اسناد و دانلودها می شود. علاوه بر این، حجم شبکه و دسترسی حجم قابل جابجایی محدود شده است. بنابراین، Valet توصیه میکند پوشههای سایت شما خارج از این مکانهای محافظتشده قرار داشته باشند.
با این حال، اگر میخواهید از داخل یکی از آن مکانها به سایتها سرویس
دهید، باید به Nginx «دسترسی کامل دیسک» بدهید. در غیر این صورت، ممکن است با خطاهای سرور یا سایر رفتارهای
غیرقابل پیش بینی Nginx مواجه شوید، مخصوصاً هنگام ارائه دارایی های ثابت. به طور معمول، macOS به طور خودکار از
شما می خواهد که به Nginx دسترسی کامل به این مکان ها بدهید. یا، می توانید این کار را به صورت دستی از طریق
System Preferences
>
Security & Privacy
>
Privacy
و انتخاب انجام دهید
Full Disk Access
. در مرحله بعد، هر
nginx
ورودی را در پنجره اصلی فعال کنید.