FCGIWRAP(8) System Manager's Manual FCGIWRAP(8) نام (NAME) fcgiwrap - اجرای برنامه‌های CGI بر بستر FastCGI خلاصه دستور (SYNOPSIS) fcgiwrap [OPTIONS] توضیحات (DESCRIPTION) fcgiwrap یک سرور ساده برای اجرای برنامه‌های CGI بر بستر FastCGI است. این برنامه با هدف ارائه پشتیبانی تر و تمیز از CGI برای Nginx (و سایر سرورهای وبی که ممکن است به آن نیاز داشته باشند) توسعه یافته است. گزینه‌ها (OPTIONS) -c number تعداد فرآیندهای fcgiwrap که باید از پیش ایجاد (prefork) شوند. -f تغییر مسیر خروجی خطای استاندارد (STDERR) از CGI اجرا شده از طریق FastCGI تا در گزارش خطاهای (error log) وب‌سرور نمایش داده شود. در غیر این صورت، این خروجی روی STDERR خودِ fcgiwrap برگردانده می‌شود که می‌توان مسیر آن را تغییر داد. در صورت اجرا از طریق spawn- fcgi، خروجی STDERR مربوط به fcgiwrap به /dev/null ارسال می‌شود؛ بنابراین این گزینه راهکاری برای بازگرداندن و دریافت آن خروجی فراهم می‌کند. -s socket_url یک آدرس URL برای سوکت شنود (listen socket) جهت اتصال (bind). به‌طور پیش‌فرض، fcgiwrap انتظار دارد که سوکت شنود بر روی توصیف‌کننده فایل ۰ (file descriptor 0) ارسال شود که مطابق با استاندارد FastCGI است. روش توصیه‌شده برای استقرار fcgiwrap، اجرای آن تحت یک مدیر فرآیند (process manager) است که وظیفه باز کردن سوکت را بر عهده می‌گیرد. با این حال، برای پیکربندی‌های ساده و آزمایش‌های موردی می‌توان از این گزینه استفاده کرد. مقادیر معتبر برای socket_url شامل unix:/path/to/unix/socket، tcp:dot.ted.qu.ad:port و tcp6:[ipv6_addr]:port است. -h نمایش پیام راهنما و خروج. متغیرهای محیطی (ENVIRONMENT) هنگام اجرا، fcgiwrap این متغیرهای محیطی را که توسط وب‌سرورِ فراخواننده fcgi-script تنظیم شده‌اند، ارزیابی می‌کند. متغیرهای DOCUMENT_ROOT و SCRIPT_NAME به یکدیگر الحاق می‌شوند و فایل اجرایی حاصل به‌عنوان اسکریپت CGI در قالب FastCGI اجرا می‌شود؛ همچنین باقی‌مانده مسیر پس از نام اسکریپت در قالب PATH_INFO در دسترس خواهد بود. برای غیرفعال کردن دستکاری PATH_INFO، وب‌سرور خود را طوری پیکربندی کنید که SCRIPT_FILENAME را ارسال کند که باید حاوی مسیر کامل به اسکریپت باشد. در این صورت PATH_INFO تغییر نخواهد کرد. DOCUMENT_ROOT دایرکتوری‌ای که اسکریپت در آن قرار دارد SCRIPT_NAME فایل اجرایی واقعی SCRIPT_FILENAME مسیر کامل به اسکریپت CGI. در صورت تنظیم، اولویت بیشتری نسبت به DOCUMENT_ROOT و SCRIPT_NAME دارد مثال (EXAMPLE) سریع‌ترین راه برای مشاهده عملکرد fcgiwrap، اجرای آن در خط فرمان به شکل زیر است: fcgiwrap -s unix:/var/run/fcgiwrap.sock صرف‌نظر از مشکلات احتمالی دسترسی‌ها و غیره، برنامه باید آماده پذیرش درخواست‌های FastCGI و اجرای اسکریپت‌های CGI باشد. به احتمال زیاد مایل خواهید بود fcgiwrap را توسط spawn-fcgi با استفاده از پیکربندی‌ای مانند زیر راه‌اندازی کنید: FCGI_SOCKET=/var/run/fcgiwrap.sock FCGI_PROGRAM=/usr/sbin/fcgiwrap FCGI_USER=nginx FCGI_GROUP=www FCGI_EXTRA_OPTIONS="-M 0700" ALLOWED_ENV="PATH" Nginx را می‌توان برای اجرای اسکریپت دلخواه CGI مانند cgit به‌صورت FastCGI به شیوه زیر پیکربندی کرد: location / { fastcgi_param DOCUMENT_ROOT /var/www/localhost/htdocs/cgit/; fastcgi_param SCRIPT_NAME cgit; fastcgi_pass unix:/var/run/fastcgi.sock; } نویسنده (AUTHOR) برنامه fcgiwrap توسط Grzegorz Nosek با مشارکت W- Mark Kubacki نوشته شده است. این صفحه راهنما توسط Jordi Mallach (با مشارکت Grzegorz Nosek) برای پروژه دبیان نوشته شده است (و ممکن است توسط دیگران نیز استفاده شود). June 3, 2010 FCGIWRAP(8)