نصب وب سرور nginx در کنار آپاچی در دایرکت ادمین

نصب وب سرور nginx در کنار آپاچی در دایرکت ادمین

آنچه در مقاله می‌خوانید

اگر تصمیم دارید از سرور LAMP فقط Apache به یک سرور مبتنی بر Apache + NGINX تغییر وضعیت دهید، این مطلب به رایج‌ترین مشکلاتی  که ممکن است با آن‌ها مواجه شوید، می‌پردازد.

Nginx  دارد یک سرور HTTP و پروکسی معکوس است که عمری بیشتر از یک دهه دارد. Nginx مزایای خود را نسبت به آپاچی در بسیاری از موارد ثابت کرده است:

  • Nginx هنگام ارائه حجم بالای درخواست، سریع‌تر کار می‌کند.
  • Nginx برای هر درخواست، فرآیند یا رشته جدیدی ایجاد نمی‌کند؛ از این رو حافظه کمتری مصرف کرده و با حجم درخواست بالا بسیار بهتر از آپاچی عمل می‌کند.
  • Nginx در ارائه محتوای ثابت کارآمد است. استفاده از حافظه کم است اما در مقایسه با آپاچی، زمان پردازش بیشتری را مصرف می‌کند.
  • Nginx یک راه حل عالی برای سرورهای خصوصی اختصاصی و مجازی است که در آن به توانایی htaccess  نیازی ندارید.

برای استفاده از بهترین ویژگی‌های هر دو سرور، می‌توان وب سرور nginx را در کنار آپاچی نصب کرد؛ از این طریق، دارایی‌های استاتیک سرویس NGINX و آپاچی که پردازش‌کننده محتوای پویا است را کنار هم خواهیم داشت.

استفاده از CustomBuild2.X برای نصب آپاچی و nginx

استفاده از CustomBuild2.X برای نصب آپاچی و nginx

Custombuild 2به ما این امکان را می‌دهد تا بدون نیاز به اسکریپت، افزونه و افزونه‌های شخص ثالث، یک NGINX + Apache  با پروکسی معکوس روی سرور مجهز به Directadmin داشته باشیم.

شروع استفاده از Custombuild 2 بسیار آسان است. نسخه‌های جدید این برنامه امکان نصب آسان و سریع Apache + NGINX  را به عنوان یک سرور پروکسی معکوس فراهم می‌کنند. تنها پیش‌نیاز برای انجام این کار، نصب CustomBuild2.x است. از آنجایی که نسخه 2.x در سال 2006 منتشر شد، این احتمال وجود دارد که نصب شما تا سال 2019 آن را داشته باشد. در صورتی که می خواهید نسخه CustomBuild را بررسی کنید:

cd /usr/local/directadmin/custombuild ./build version

دستور بالا باید نتایجی مشابه نتیجه زیر ایجاد کند:

[root@myserver custombuild]# ./build version 2.0.0 (rev: 2084)

همچنین نسخه Directadmin را بررسی کنید. باید 1.45.2 یا بالاتر باشد:

/usr/local/directadmin/directadmin v

Version: DirectAdmin v.1.56.4

اگر تغییراتی در آپاچی یا هر نرم‌افزار دیگری که با cusombuild نصب و یا به روز شده است ایجاد کرده باشید، آن‌ها رونویسی می‌شوند. از آنجایی که نمی‌خواهید تغییرات از بین بروند، از راه رسمی برای سفارشی‌سازی استفاده کنید و یک فهرست سفارشی در /usr/local/directadmin/custombuild ایجاد کنید.

مطمئن شوید که در دایرکتوری درست قرار دارید

cd /usr/local/directadmin/custombuild mkdir -p custom cp -Rp configure custom

پس از آن می‌توانید تنظیمات خود را در صورت نیاز ویرایش کنید. پس از آماده شدن با تمام سفارشی‌سازی‌ها، دستورات زیر به شما کمک می‌کند تا به جای آپاچی به  apache+nginx به عنوان یک پروکسی معکوس بروید.

 cd /usr/local/directadmin/custombuild ./build update ./build set webserver nginx_apache ./build nginx_apache ./build rewrite_confs

آخرین دستور تمام فایل‌های پیکربندی را اگر در فهرست سفارشی نباشند، بازنویسی می‌کند. همچنین پس از نصب پراکسی، این امکان وجود دارد که پراکسی معکوس nginx تصاویر را نمایش ندهد. Nginx  تمام دارایی‌های استاتیک وب‌سایت را ارائه می‌کند.

کاربر nginx حق خواندن و اجرایی کردن در فهرست وب‌سایت را ندارد. اگر به کاربر nginx این اجازه را  بدهید تا فایل‌های موجود در فهرست public_html را وارد کند و +r را بخواند، این مشکل به راحتی برطرف می‌شود:

chmod 755 -R public_html

به‌روزرسانی ۱:

IP  واقعی در صفحه وضعیت سرور آپاچی

واقعی در صفحه وضعیت سرور آپاچی

لطفاً اگر آخرین نسخه آپاچی را دارید که این مشکل را برطرف می‌کند، ادامه این مطلب را دنبال نکنید!

آپاچی IP های واقعی دریافت می‌کند، شما ممکن است این IP واقعی را در $_SERVER با PHP یا در لاگ های آپاچی ببینید اما IP نادرست را در وضعیت سرور آپاچی مشاهده کنید.

قبل از شروع، لطفاً مطمئن شوید که unzip را روی سرور خود نصب کرده باشید:

On RHEL/CentOS

Code:

yum install unzip

On Debian/Ubuntu

Code:

apt-get install unzip

برای دریافت IP واقعی به جای 127.0.0.1 در صفحه وضعیت سرور آپاچی، باید mod_rpaf را نصب کنید، زیرا remoteip در این مورد باگ است:

Code:

cd /usr/local/src wget [URL]https://github.com/y-ken/mod_rpaf/archive/master.zip[/URL] unzip master.zip cd mod_rpaf-master /bin/sed -i "s/remote_/client_/g" mod_rpaf-2.0.c make && make install

و دستورالعمل های زیر را وارد کنید:

Code:

LoadModule rpaf_module      /usr/lib/apache/mod_rpaf-2.0.so <IfModule mod_rpaf-2.0.c>     RPAFenable On     RPAFproxy_ips 127.0.0.1     RPAFsethostname On     RPAFheader X-Client-IP </IfModule> به /etc/httpd/conf/extra/httpd-includes.conf/  بروید و آپاچی را مجدد راه‌اندازی کنید.
امتیاز شما به این مطلب
دیدن نظرات
small

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

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

بیست + 17 =

عضویت در خبرنامه مبین هاست
مطالب کدام دسته‌بندی‌ها برای شما جذاب‌تر است؟

آنچه در مقاله می‌خوانید

مقالات مرتبط
فریمورک Django
آموزش برنامه نویسی

همه چیز درباره فریمورک Django و نحوه استفاده از آن

فریم ورک Django یک ابزار متن‌باز بر پایه زبان برنامه‌نویسی پایتون است که از آن برای ساخت انواع وب‌سایت‌ها و پلتفرم‌های پیچیده استفاده می‌شود. این

خدمات مبین هاست