spawn-fcgi(1) General Commands Manual spawn-fcgi(1)

spawn-fcgi - اجرای فرایندهای FastCGI

spawn-fcgi [گزینه‌ها] [ -- <fcgiapp> [آرگومان‌های fcgiapp]]

spawn-fcgi -v

spawn-fcgi -h

spawn-fcgi برای راه‌اندازی فرایندهای محلی و دوردست FastCGI به کار می‌رود.

در حالی که برای راه‌اندازی backendهای دوردست FastCGI مشخصاً به آن نیاز است (زیرا وب‌سرور تنها می‌تواند نمونه‌های محلی را اجرا کند)، توصیه می‌شود backendهای محلی نیز با spawn-fcgi راه‌اندازی شوند.

دلایلی که ممکن است بخواهید به جای ابزارهای دیگر از spawn-fcgi استفاده کنید:

  • تفکیک اختیارات (Privilege separation) بدون نیاز به باینری suid یا اجرای وب‌سرور با کاربر ریشه (root).
  • می‌توانید وب‌سرور و برنامه‌های FastCGI را به طور مستقل و بدون نیاز به راه‌اندازی مجدد دیگری، ری‌استارت کنید.
  • می‌توانید آن‌ها را در chroot()های متفاوتی اجرا کنید.
  • اجرای برنامه‌های FastCGI شما وابسته به وب‌سرور در حال اجرا نخواهد بود، که این امر آزمایش و بررسی وب‌سرورهای دیگر را آسان‌تر می‌سازد.

spawn-fcgi گزینه‌های زیر را می‌پذیرد:

نام فایل برنامه FastCGI برای اجرا. این گزینه منسوخ شده است و توصیه می‌شود همیشه برنامه (مسیر مطلق) و پارامترهای آن بعد از «--» مشخص شوند؛ پارامتر fcgiapp مستقیماً برای فراخوانی ()exec استفاده می‌شود، در حالی که برای اجرای باینری مشخص‌شده با -f به /bin/sh نیاز است (که ممکن است درون chroot در دسترس نباشد).
اگر fcgiapp مشخص شده باشد، این گزینه نادیده گرفته می‌شود.
تغییر دایرکتوری جاری پیش از اجرای برنامه.
آدرس IPv4/IPv6 برای متصل شدن (bind)؛ تنها زمانی استفاده می‌شود که -p نیز داده شده باشد. پیش‌فرض "0.0.0.0" (IPv4) است.
پورت TCP برای متصل شدن؛ نمی‌توانید این گزینه را با گزینه -s ترکیب کنید.
مسیر سوکت دامنه یونیکس (Unix domain socket) برای متصل شدن؛ نمی‌توانید این گزینه را با گزینه -p ترکیب کنید.
(فقط PHP) تعداد فرزندان برای ایجاد از طریق تنظیم متغیر محیطی PHP_FCGI_CHILDREN. حالت پیش‌فرض، عدم بازنویسی متغیر محیطی است؛ در صورتی که این متغیر تنظیم نشده باشد، php هیچ فرزندی ایجاد نخواهد کرد (مشابه تنظیم آن روی 0).
تعداد فرزندان برای ایجاد انشعاب (fork)، مقدار پیش‌فرض 1 است. این گزینه با -n کار نمی‌کند؛ اگر می‌خواهید چندین fork را روی یک سوکت نظارت و مدیریت کنید، به multiwatch(1) نگاهی بیندازید.
میزان backlog مجاز روی سوکت (پیش‌فرض 1024). این مقدار معمولاً توسط هسته (kernel) نیز محدود می‌شود؛ برای لینوکس sysctl net.core.somaxconn (پیش‌فرض 128) را بررسی کنید.
منظور از backlog، صف اتصالات پذیرفته‌شده توسط هسته پیش از مشاهده شدن توسط برنامه در فضای کاربری (userspace) است.
نام فایل PID برای فرایندهای ایجادشده (در حالت no-fork نادیده گرفته می‌شود).
هیچ انشعابی (fork) نباید صورت گیرد (مناسب برای daemontools).
تغییر حالت دسترسی فایل (mode) سوکت دامنه یونیکس (عدد صحیح در مبنای هشت)؛ تنها در صورتی استفاده می‌شود که -s نیز داده شده باشد. در صورتی که umask اجازه دهد، پیش‌فرض خواندن+نوشتن برای کاربر و گروه (0660) است.
-?, -h
دستورالعمل‌های کلی استفاده.
نمایش اطلاعات نسخه و خروج.

گزینه‌های زیر تنها زمانی در دسترس هستند که spawn-fcgi را به عنوان کاربر ریشه (root) فراخوانی کنید:

انتقال به ریشه مجازی (Chroot) در دایرکتوری مشخص‌شده؛ سوکت دامنه یونیکس درون chroot ایجاد می‌شود مگر اینکه -S داده شده باشد.
ایجاد سوکت دامنه یونیکس پیش از ()chroot.
شناسه کاربری (User ID) برای تغییر به آن.
شناسه گروهی (Group ID) برای تغییر به آن. پیش‌فرض، گروه اصلی کاربرِ مشخص‌شده با -u است.
تغییر کاربرِ سوکت دامنه یونیکس؛ پیش‌فرض مقدار -u است (تنها در صورتی که -s داده شده باشد استفاده می‌شود).
تغییر گروهِ سوکت دامنه یونیکس؛ پیش‌فرض، گروه اصلی کاربرِ مشخص‌شده با -U است؛ اگر -U مشخص نشده باشد، پیش‌فرض مقدار -g خواهد بود (تنها در صورتی که -s داده شده باشد استفاده می‌شود).

svc(8), supervise(8), ببینید https://cr.yp.to/daemontools.html

multiwatch(1), ببینید https://git.lighttpd.net/lighttpd/multiwatch

21 November 2012