انجین اکس (Nginx) چیست ؟
انجین اکس (Nginx) که به صورت لاتین ‘engine x’ خوانده میشود یک نرم افزار وب سرور متن باز است که به عنوان پروکسی معکوس ، لود بالانسر ، و سیستم کشینگ استفاده میشود. همچنین قابلیت های یک سرور HTTPS را دارا است و برای بیشترین کارایی و پایداری طراحی شده است. علاوه بر این موارد می توان از آن به عنوان یک پروکسی سرور برای ارتباطات پروتکل های ایمیلی مانند IMAP , POP3 و SMTP استفاده کرد.
کاربرد های Nginx
وب سرور: بیشترین استفاده از انجین اکس به عنوان وب سرور است به دلیل عملکرد بالا و مقیاس پذیری آن
سرور پروکسی معکوس: انجین اکس با هدایت درخواست های کاربر به بک اند سرور مناسب عمل پروکسی معکوس را انجام میدهد.
توزیع کننده بار: با تنظیمات پیش فرض و بدون اعمال تنظیم دستی از قابلیت لود بالانس برخوردار است.
دروازه API : قابل استفاده برای هدایت درخواست ها ، احراز هویت و هندل کردن استثناها.
فایروال برای وب اپلیکیشن ها: قابلیت بررسی و فیلتر کردن ترافیک ورودی و خروجی از سرور شما را در سطح وب را داراست.
کشینگ : انجین اکس همچنین میتواند به عنوان یک حافظه نهان عمل کند و فایل های استاتیک را مانند کش ذخیره کند و به کاربران ارائه دهد.
مراحل راه اندازی Nginx
مرحله اول نصب انجین ایکس (Nginx)
برای این آموزش شما نیاز به یک سرور مجازی دارید، اگر سرور مجازی خود را هنوز تهیه نکردهاید با کلیک روی این لینک (خرید سرور مجازی) میتوانید همین الان خرید کنید. ترمینال سرور را باز کنید. قبل از هرکاری نیاز است ورژن برنامه ها و پکیج ها را با استفاده از مخازن پیش فرض اوبونتو آپدیت کنیم. برای این کار دستور زیر را وارد کنید.
apt-get update
حال پکیج های نصب شده فعلی روی سیستم را با دستور زیر به آخرین نسخه موجود بروزرسانی میکنیم.
apt-get upgrade -y
بعد از بروزرسانی برنامه ها وقت آن است که وب سرور Nginx را نصب کنیم. انجین ایکس از طریق دستور زیر قابل نصب است.
apt-get install nginx -y
پس از نصب لازم است که سرویس انجین ایکس را استارت و فعال کنیم.
استارت سرویس انجین ایکس: (این دستور در صورت موفقیت خروجی نخواهد داشت)
systemctl start nginx
فعال سازی سرویس انجین ایکس:
systemctl enable nginx
تا اینجا انجین ایکس نصب شده است ولی برای اطمینان از نصب موفقیت آمیز آن میتوانید آیپی پابلیک سرور خود را در مرورگر وارد کنید.
اگر آیپی پابلیک سرور خود را نمیدانید میتوانید با وارد کردن دستور
ip address
مطابق تصویر آیپی پابلیک ورژن 4 خود را بدست آورید.
حال آیپی بدست آمده را در مرورگر وارد کنید و اگر با پیغامی مشابه رو به رو شدید به این معنی است که انجین ایکس با تنظیمات اولیه با موفقیت نصب شده است و نیاز به کانفیگ کردن دستی آن توسط ما دارد.
مرحله دوم آپلود صفحات وبسایت به سرور
لطفا دقت داشته باشید که در این آموزش از یک قالب وبسایت آماده تهیه شده از اینترنت، استفاده شده است. شما میتوانید به جای آن صفحه بیوگرافی، رزومه و یا وبلاگ شخصی خود را استفاده کنید.
ابتدا فایل های استاتیک وبسایت خود را در یک پوشه قرار دهید. سپس از طریق برنامه WinSCP یا هر برنامه دیگری که از پروتکل SFTP پشتیبانی میکند به سرور خود متصل شوید تا بتوانید پوشه وبسایت را به سرور منتقل کنید.
برنامه WinSCP را میتوانید از اینجا ( لینک دانلود WinSCP ) دانلود نمایید.
پس از دانلود و اکسترکت برنامه آن را باز کنید و مشخصات سرور خود مانند تصویر وارد کنید.
سپس در پنجره سمت راست که سرور شماست به مسیر زیر
/var/www/
بروید و پوشه وبسایت را در آنجا قرار دهید.
مرحله سوم کانفیگ کردن Nginx
همه چیز حاظر است تا وبسایت شما بر روی اینترنت قابل دسترس باشد، تنها کافی است انجین ایکس را تنظیم کنید تا وبسایت شما را بجای صفحه پیش فرض نشان دهد.
برای ایجاد فایل کانفیگ با تکست ادیتور Nano یا Vim یک فایل با نام دلخواه و پسوند .conf در مسیر
/etc/nginx/conf.d
ایجاد کنید. برای مثال در آین آموزش فایل کانفیگ را با نام template.conf ایجاد میکنیم. به دستور زیر توجه فرمایید.
نکته : فایل کانفیگ شما میبایست حتما پسوند .conf داشته باشد در غیر این صورت انجین ایکس آن را شناسایی نخواهد کرد !
nano /etc/nginx/conf.d/template.conf
سپس در فایلی که ایجاد کردهاید تنظیمات زیر را وارد کنید و با فشردن دکمه Ctrl + S فایل را ذخیره و سپس با Ctrl + X از آن خارج میشویم.
server
{
listen 80;
root /var/www/template;
Index index.html;
}
برای اطمینان از عدم بروز خطا در کانفیگ دستور زیر را وارد کنید
nginx -t
در صورتی که در خروجی پیغام test is successful را مشاهده کردید مشکلی در فایل کانفیگ شما وجود ندارد.
حال کافی است دستور زیر را وارد کرده تا سرویس انجین ایکس ریستارت شود و وبسایت شما به وسیله آیپی پابلیک سرور شما در اینترنت قابل دسترس باشد.
systemctl restart nginx
دوباره آیپی سرور خود را در مرورگر وارد کنید و وبسایت خود را با دوستان و همکاران تان به اشتراک گذارید 🙂
سخن آخر
در این مقاله تمام مراحل راه اندازی وبسایت شخصی خود در سرور مجازی با استفاده از وب سرور محبوب انجین اکس را به صورت تصویری و گام به گام آموزش دادهایم .
سوالات متداول
آیا میتوان چندین وبسایت را با یک سرور مجازی راه اندازی کرد؟ بله ، شما میتوانید با استفاده از انجین ایکس بیش از یک وبسایت را بر روی یک سرور مجازی راه اندازی کنید! فقط کافی است فایل های مرتبط با وبسایت های دیگر را در دایرکتوری های متفاوتی قرار دهید و برای هر کدام از وبسایت ها یک فایل کانفیگ تعریف کنید.
تفاوت Nginx با IIS چیست ؟ به صورت کلی انجین اکس یک وب سرور متن باز برای سیستم عامل های لینوکسی است که توسط جامعه open source طراحی و توسعه داده شده است در حالی که IIS وب سرور توسعه یافته توسط شرکت مایکروسافت است و برای تنها برای سیستم عامل های ویندوزی قابل استفاده است.
آپاچی Apache چیست ؟ آپاچی هم مانند انجین اکس یک وب سرور متن باز دیگر است که قبل از انجین اکس توسط جامعه open source توسعه یافته است و یکی از دلایل پیدایش انجین اکس رقابت با آپاچی بر سر سرعت بیشتر و بازدهی بالاتر است.