لینوکس و تاثیر آن در دنیای سیستم عامل ها

آموزش تصویری نصب و راه‌اندازی Nginx به عنوان پراکسی Apache

پیش از انکه بخواهیم نحوه نصب و راه اندازی Nginx را به شما عزیزان آموزش دهیم، باید مختصری در باره nginx چیست بگوییم و بعد از آشنایی شما عزیزان به مبحث راه اندازی آن بپردازیم. در این مقاله تمامی نیزا های شما عزیزان بررسی شده و بعد از اتمام مقاله به راحتی امکان نصب nginx را خواهید داشت. پس با ما همراه باشید.

مفهوم Nginx

Nginx به عنوان پروکسی سروری معرفی می شود که بصورت open source برای پروتکل های POP3، SMTP، HTTPS، HTTP و IMAP استفاده می شود. ان جین ایکس بر روی سیستم عامل های مختلف مانند Solaris، OS X، HP-UX، AIX و لینوکس و ویندوز همچنین انواع BSD ها قابل اجراست.

Nginx اساسا برای خدمات رسانی به محتوای صفحات پویای HTTP بر روی شبکه تعبیه شده است. حال پیش از آموزش نصب Nginx باید به این سوال پاسخ دهیم که چرا nginx و Apache با هم اجرا می شوند؟

چرا Nginx و Apache را با هم اجرا کنیم:

nginx و apache هر دو، سرورهای قدرتمند و مؤثری هستند. آپاچی در حال حاضر به عنوان سرور شماره ۱ برای وبسایت‌ها،سلطنت می‌کند. زمان انتشار عمومی apache در سال ۲۰۰۶ بود. سپس ان جین ایکس جهان را با طوفانی به تصرف خود درآورد و اکنون سرور شماره ۲ سایت‌های فعال است. قدرت apache و سرعت nginx به خوبی شناخته شده است. با این حال، هر دو سرور دارای اشکالاتی نیز، هستند — آپاچی در حافظه سرور دچار مشکلاتی است، در حالی که ان جین ایکس (عالی در static files) برای محتوای پویا به کمک php-fpm یا ماژول‌های مشابه، نیاز دارد. با این حال، می‌توان دو سرور وب را با هم ترکیب کرد. nginx به عنوان static web server front و پردازش apache در قسمت backend  می‌تواند ترکیبی فوق‌العاده باشد .در ادامه، نحوه نصب و راه اندازی این دو وب سرور را باهم، بررسی خواهیم کرد. همانطور که می‌دانید سرور‌های لینوکسی centos  برای نصب و راه‌اندازی نرم افزار‌ها نیاز به دسترسی ssh دارند.  پس از کسب دسترسی مذکور با استفاده از نرم افزار هایی مانند putty به سرور مربوطه ssh می‌زنیم.

چگونگی کار با putty:

  1. Putty را دانلود و اجرا کنید. توجه داشته باشید ممکن است هشداری در مورد تأیید صحت ناشر دریافت کنید. اگر این برنامه را از یک منبع خوب دانلود کرده اید، Run را انتخاب کنید.
  2. اطلاعات لاگین را مانند تصویر زیر وارد بفرمایید.

تنظیمات putty

  1. سپس بر روی دکمه open کلیک کرده تا session ssh مربوطه ایجاد گردد. توجه داشته باشید اگر اولین بار است که از این رایانه به سرور وصل می‌شوید، پیغام زیر را مشاهده خواهید کرد. با کلیک روی Yes، اتصال را آغاز کنید.

تنظیمات putty security Alert

پیشنهاد ایران هاست برای وب سایت های لینوکس، استفاده از سرورهای ابری با سرعت و Uptime بالاست.

همین امروز سفارش دهید

پس از باز شدن اتصال SSH، باید فوراً یک ترمینال را ببینید که ازشما نام کاربری را درخواست می‌کند:

نام کاریری یا یوزر خود و سپس پسورد را وارد کنید. لطفاً توجه داشته باشید که در هنگام تایپ رمز عبور، مکان نما خود را در حال حرکت یا کاراکتر های تایپ شده (مانند ******) نمی بینید ولی رمز عبور شما تایپ شده است و  وارد می‌گردد. این یک ویژگی امنیتی استاندارد PuTTY است. وارد شوید.

اکنون با SSH وارد سرور خود شده‌اید. شما باید خروجی مانند این را مشاهده کنید:

پیغام ورود با SSH به سرور

اکنون می‌توانید اقدام به وارد کردن command های لازم، از جمله دستورات لازم برای نصب ngnix  و apache نمایید.

نحوه نصب ngnix:

برای نصب Nginx، مخزن nginx Yum را با ایجاد پرونده nginx.repo در زیر فهرست /etc/yum.repos.d مانند شکل زیر، تنظیم کنید. تنظیم مخزن nginx Yum

در مرحله بعد ، از yum برای نصب Nginx مطابق دستور زیر استفاده کنید.

yum install nginx

سرویس Nginx را شروع کنید. برای شروع مناسب، از یک سرویس یا دستور systemctl استفاده کنید. شروع سرویس Nginx

نصب Reverse Proxy

مرحله بعدی نصب Reverse Proxy خواهد بود که در ادامه آنرا بررسی خواهیم کرد:

در این مرحله، اگر به عنوان مثال example.com را بار گذاری کنید، صفحه “Welcome to Nginx” را مشاهده خواهید کرد.

نصب Reverse Proxy

اکنون باید برای این کار، در پرونده /etc/nginx/conf.d/default.conf دو مورد زیر را انجام دهید:

در مورد پارامتر مکان موجود، نظر دهید.

  1. پارامتر مکان را از حالت کامن، خارج کنید.
  2. همانند شکل زیر پارامتر مکان جدید را با مقادیر پراکسی، اضافه کنید.

پرونده پیکربندی Nginx default.conf است که در زیر فهرست /etc/nginx/conf.d/ قرار دارد.

پرونده پیکربندی Nginx default.conf

سپس در همان پرونده default.conf، پارامتر مکان زیر را با مقادیر ذکر شده در ادامه اضافه کنید

default.conf

 

proxy_pass جایی است که شما URL سرور مقصد که Nginx باید پروکسی آنرا معکوس کند، مشخص می‌کنید. (در این مثال، این URL است که یک برنامه سازمانی در Apache / PHP درپورت ۸۰۸۰ را در حال اجرا دارد). هر دو HTTP و https برای proxy_pass پشتیبانی می‌شوند. URL می‌تواند آدرس IP یا نام دامنه داشته باشد.

اگر بعد از آدرس و شماره پورت، همانطور که در زیر مشاهده می‌کنید

به عنوان مثال، می‌توانید proxy_pass را مطابق شکل زیر در default.conf خود در Nginx تنظیم کنید.

تنظیم proxy-pass در default.conf

در این حالت، اگر درخواست دریافتی http://example.com/userlist باشد، معکوس می‌شود بهhttp://app.thegeekstuff.com:8080/devapp/userslist. توجه کنید که چگونه آن را ویرایش و سپس لیست کاربر را اضافه می‌کند اگرچه “URL” را در URL مثال example.com  مشخص نکردیم.

اگر درخواست دریافت شده به عنوان مثال example.com/userlist/detail.php?username=john باشد، proxy ان را به مقدار زیر ترجمه ترجمه خواهد کرد.

http://app.thegeekstuff.com:8080/devapp/userslist/detail.php?username=john

همچنین در  proxy_pass، می‌توانید از متغیر $host, $uri  یا $request variable مانند شکل زیر استفاده کنید:

در  proxy_pass، می‌توانید از متغیر $host, $uri  یا $request variable استفاده کنید

هنگامی که فیلد موجود را به عنوان درخواست اضافه می‌کنید، دستورالعمل proxy_set_header استفاده می‌شود. این عنوانِ درخواستی است که در سرور پروکسی، دریافت می‌شود (در این مثال به برنامه Apache / PHP).

در proxy_set_header ، دو قسمت زیر به طور پیش فرض با مقادیر نشان داده شده، تعریف می‌شود. اگر می‌خواهید تغییرش بدهید، باید مجدداً این مورد را، تعریف کنید.

proxy_set_header X-Forwarded-For – این آدرس مشتری را که به پروکسی متصل شده است دریافت می‌کند و در سربرگ HTTP به سرور پروکسی از راه دور ارسال می‌کند.

proxy_set_header X-Forwarded-For - این آدرس مشتری را که به پروکسی متصل شده است دریافت می‌کند

نتیجه نهایی:

After the reverse proxy is setup, in this example configuration, when you go to example.com (which is running Nginx), it will reverse proxy and really go to app.thegeekstuff.com on port 8080 (which is running Apache/PHP) as shown below.

در این مثال بعد از تنظیم reverse proxy زمانی که example.com را جستجو می‌کنید(زمانی nginx  فعال باشد) اتفاقی که میافتد این است که به صفحه app.thegeekstuff.com با پورت ۸۰۸۰  (جایی که apache/php در حال اجراست) درخواست ارسال می‌گردد. مانند تصویر زیر:

به صفحه app.thegeekstuff.com با پورت 8080  (جایی که apache/php در حال اجراست) درخواست ارسال می‌گردد.

سوالات متداول

Nginx به عنوان پروکسی سروری معرفی می شود که بصورت open source برای پروتکل های POP3، SMTP، HTTPS، HTTP و IMAP استفاده می شود. ان جین ایکس بر روی سیستم عامل های مختلف مانند Solaris، OS X، HP-UX، AIX و لینوکس و ویندوز همچنین انواع BSD ها قابل اجراست.Nginx اساسا برای خدمات رسانی به محتوای صفحات پویای HTTP بر روی شبکه تعبیه شده است.
nginx و apache هر دو، سرورهای قدرتمند و مؤثری هستند. آپاچی در حال حاضر به عنوان سرور شماره ۱ برای وبسایت‌ها،سلطنت می‌کند. زمان انتشار عمومی apache در سال ۲۰۰۶ بود. سپس ان جین ایکس جهان را با طوفانی به تصرف خود درآورد و اکنون سرور شماره ۲ سایت‌های فعال است. قدرت apache و سرعت nginx به خوبی شناخته شده است. با این حال، هر دو سرور دارای اشکالاتی نیز، هستند — آپاچی در حافظه سرور دچار مشکلاتی است، در حالی که ان جین ایکس (عالی در static files) برای محتوای پویا به کمک php-fpm یا ماژول‌های مشابه، نیاز دارد. با این حال، می‌توان دو سرور وب را با هم ترکیب کرد.
proxy_pass جایی است که شما URL سرور مقصد که Nginx باید پروکسی آنرا معکوس کند، مشخص می‌کنید.

با کارت بانکی باشگاه ایران هاست پولتان به حسابتان باز می گردد.

همین حالا رایگان عضو شوید

برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن