گاهی پیش میآید که بخواهید یک سرور دانلود ایجاد کنید و یا یک وبسایت را بر روی سرور لینوکسی خود بالا بیارید، در این زمان مسلما باید از وب سرور ها استفاده کنید. یکی از وب سرور های محبوب و مشهور در جهان انجیناکس ( Nginx ) است که بصورت Open Source در دسترس است. تفاوتی ندارد بخواهید یک وبسایت بسیار پیشرفته و یا یک صفحه ساده وب را بر روی سرور خود راه اندازی کنید زیرا انجیناکس کار خود را بلد است. در صورت تمایل به نصب انجیناکس بر روی ویندوز به مقاله مرتبط مراجعه بفرمایید.
انجیناکس چیست ؟
Nginx یک وب سرور منبع باز و با کارایی بالا و قابلیت پروکسی معکوس است. این نرم افزار توسط توسعه دهنده روسی ایگور سیسوف در سال ۲۰۰۴ به صورت عمومی منتشر شد اما توسعه آن از سال ۲۰۰۲ شروع شده بود. Nginx به عنوان یک سرور پروکسی ایمیل و یک سرور پروکسی TCP/UDP عمومی نیز عمل می کند. Nginx که به دلیل پایداری، مجموعه ویژگی های زیاد، پیکربندی ساده و مصرف کم منابع مشهور است، اغلب به عنوان یک وب سرور یا پروکسی معکوس استفاده می شود.
انجیناکس دارای دو ورژن است. یک ورژن، Nginx معمولی است و دیگری، Nginx Plus است که امکانات و افزونه های مفیدتری به همراه دارد. انجیناکس پلاس، علاوه بر ورژن معمولی Nginx، ویژگیهایی مانند بررسی سلامت، ماندگاری سیشن بر اساس کوکیها، یکپارچهسازی سرویس دیاناس ، API ، پاکسازی حافظه پنهان، AppDynamic ، Datalog و یکسری ویژگی های مفید دیگر را ارائه میدهد. طبق آمار تایید شده توسط Nginx، تا اکتبر سال ۲۰۲۳ حدود ۲۰.۶۶% از سایت های پر بازدید از انجیناکس به عنوان وبسرور خود استفاده میکنند.
آموزش نصب Nginx در لینوکس
مدیریت و کانفیگ انجیناکس در اکثر توزیع ها به یک شکل است و صرفا نصب آن در پکیج منیجر ها با کامند های مختلفی انجام می شود. لازم به ذکر است انجیناکس از تمامی ورژن های لینوکس و توزیع ها پشتیبانی نمی کند. طبق داکیومنت انجیناکس، ورژن ها و توزیع های زیر توسط انجیناکس پشتیبانی می شود.
- FreeBSD 3 — ۱۲ / i386
- FreeBSD 5 — ۱۲ / amd64
- FreeBSD 11 / ppc
- FreeBSD 12 / ppc64
- Linux 2.2 — ۴ / i386
- Linux 2.6 — ۵ / amd64
- Linux 3 — ۴ / armv6l, armv7l, aarch64, ppc64le
- Linux 4 — ۵ / s390x
- Solaris 9 / i386, sun4u
- Solaris 10 / i386, amd64, sun4v
- Solaris 11 / x86
- AIX 7.1 / powerpc
- HP-UX 11.31 / ia64
پس از آپدیت سرور، به سراغ نصب انجیناکس میرویم. برای نصب انجیناکس میبایستی مطابق با توزیع خود یکی از کامند های زیر را وارد بفرمایید.
Ubuntu/Debian
sudo apt install nginx
RHEL/CentOS
sudo yum install nginx
پس از نصب انجیناکس، این سرویس بصورت پیشفرض فعال خواهد بود. برای تایید نصب انجیناکس نیز از کامند زیر استفاده بفرمایید. اگر ورژن Nginx به شما نمایش داده شود یعنی انجیناکس بصورت صحیح بر روی سرور شما نصب شده است و مشکلی وجود ندارد.
nginx -v
در صورتی که فایروالی بر روی سرور نداشته باشید می توانید با وارد کردن آیپی سرور لینوکسی در مرورگر خود و یا مرورگری دیگر، صفحه پیشفرض Nginx را که همانند عکس زیر است مشاهده کنید. در صورت مشاهده این صفحه، از مرحله باز کردن پورت ها عبور کنید و به دیگر مراحل بروید.
اما در صورتی که فایروالی بر روی سرور داشته باشید، نیاز است پورت های ۸۰ و ۴۴۳ را ابتدا در فایروال باز کنید و سپس از خارج از سرور به وبسرور متصل شوید.
باز کردن پورت های مورد نیاز در فایروال
بر اساس فایروال نصب شده در سرور، کامند های مرتبط را در سرور خود وارد بفرمایید.
sudo ufw allow 'Nginx Full'
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
در صورتی که فایروال CSF و یا Iptables بر روی سرور شما نصب می باشد، به آموزش باز کردن پورت در لینوکس مراجعه بفرمایید. پس از باز کردن پورت های ۸۰ و ۴۴۳ دیگر مشکلی در اتصالات از خارج از سرور وجود نخواهد داشت. پس از باز کردن پورت ها مجددا آیپی سرور را در مرورگر وارد کنید و مطمئن شوید می توانید بدون مشکل صفحه پیشفرض Nginx را مشاهده کنید.
مدیریت Nginx
برای مدیریت nginx از جمله خاموش کردن، روشن کردن و یا ریلود کردن آن کامند هایی وجود دارد که در زیر لیست شده اند. کامند های دیگری نیز جهت انجام فعالیت های مدیریتی دیگر وجود دارد که در آینده به آنها خواهیم پرداخت.
کامند | توضیحات |
sudo systemctl stop nginx | متوقف کردن |
sudo systemctl start nginx | روشن کردن |
sudo systemctl restart nginx | ریستارت |
sudo systemctl reload nginx | ریلود |
sudo systemctl disable nginx | غیرفعال کردن |
sudo systemctl enable nginx | فعال کردن |
تغییر قالب پیشفرض انجیناکس
زمانی که آیپی یا دامین متصل به سرور را تحت وب باز می کنید، صفحه پیشفرض انجیناکس برای شما بالا می آید. طبیعی است نیاز داشته باشیم این صفحه را تغییر دهیم و قالب شخصی خود را تنظیم کنیم برای نمایش. صفحه پیشفرضی که به ما نمایش داده می شود، در آدرس /var/www/html وجود دارد.
ابتدا به این دایرکتوری بروید. سپس محتویات فایل پیشفرض را که نامی همچون index.html دارد پاک کنید. محتویات قالب جدید را در آن جایگذاری کنید. اگر قالب شما دارای چندین فایل و بیش از یک صفحه است، می بایستی از طریق FTP به سرور خود متصل شوید و فایل های خود را بر روی سرور آپلود کنید. به عنوان مثال ما به جای صفحه پیشفرض Nginx، قالب تک صفحه ای زیر را جایگذاری کردیم.
لازم به ذکر است کلیه فایل های تنظیمات و پیکربندی Nginx در پوشه /etc/nginx قرار دارند. در صورت نیاز به انجام تنظیمات خاصی به این دایرکتوری مراجعه بفرمایید.