نحوه پیکربندی Nginx به عنوان Reverse Proxy برای Apache در Ubuntu 16.04 VPS یا سرور اختصاصی

Nginx و Apache سرورهای مبتنی بر وب منبع باز هستند که با PHP استفاده می شوند. در حال حاضر ، آپاچی سرور شماره یک اکثر وب سایت ها از زمان انتشار یک دهه قبل است در حالی که Nginx به عنوان سرور دلخواه برای سایت های فعال در جایگاه دوم قرار دارد. هر سرور به دلایل واضح سهم محبوبیت خود را حفظ می کند: قدرت Apache و سرعت Nginx به طور گسترده ای شناخته شده است. با این حال ، هر دو سرور دارای کاستی هایی هستند. Apache در حافظه سرور سخت محسوب می شود در حالی که Nginx (که برای فایل های استاتیک عالی است) برای محتوای پویا به کمک PHP-FPM یا مانند ماژول هایی مانند.


در این مقاله ، ما به شما کمک می کنیم تا دو سرور را به منظور تقویت نقاط قوت آنها و رفع کاستی ها ترکیب کنید. ما از Nginx به عنوان پردازنده استاتیک و Apache به عنوان پردازنده برای محتوای پویا و با پسوند استفاده خواهیم کرد.

پیش نیازها

برای شروع کار با مراحل این مقاله ، موارد زیر را باید داشته باشید:

  • سرور اختصاصی که اوبونتو 16.04 را اجرا می کند
  • یک حساب کاربری استاندارد با امتیازات sudo در سرور شما
  • یک آدرس IP استاتیک برای این سرور

شروع شدن

اولین مورد هنگام نصب Nginx اطمینان از به روز بودن سرور شما است. T به روزرسانی سرور خود دستورات زیر را اجرا کنید:

$ sudo به روز رسانی مناسب
$ sudo به روزرسانی مناسب

مرحله 1: نصب Nginx

با نصب nginx شروع کنید. برای انجام این کار ، دستور زیر را اجرا کنید:

$ sudo apt-get nginx را نصب کنید

پس از نصب ، Nginx را به عنوان یک پروکسی معکوس تنظیم و پیکربندی کنید تا بتواند در قسمت جلویی اجرا شود.

مرحله 2: پیکربندی Nginx

پس از نصب Nginx می توانید فرآیند پیکربندی را با ایجاد یک فایل میزبان مجازی جدید با استفاده از دستور آغاز کنید:

$ sudo nano / etc / nginx / سایتهای موجود / وبپروکسی

پیکربندی زیر را به پرونده خود اضافه کنید:

سرور {
گوش دادن 80؛

root / var / www /؛
index index.php index.html index.htm؛

server_name მაგალითად.com؛

محل / {
$ uri $ uri / /index.php؛
}

محل \ .php $

proxy_set_header X-Real-IP $ remote_addr؛
proxy_set_header X-Forwarded-برای $ remote_addr؛
proxy_set_header میزبان $ میزبان؛
proxy_pass http://127.0.0.1:8080؛

}

محل ~ /\.ht
انکار همه؛
}
}

در این پیکربندی ، این تغییرات اعمال شده است:

  • ریشه تنظیم شده است تا فهرست اصلی را مشخص کند.
  • را امتحان کنید سعی کنید در هر صفحه ای که بازدید کننده بازدید کرده است حضور پیدا کنید. اگر Nginx نتواند این درخواست را انجام دهد ، به پروکسی شما منتقل می شود.
  • proxy_pass به nginx اجازه می دهد تا آدرس خاص سرور پراکسی شما را تعریف کند.
  • محل بلوک دسترسی به پرونده .htaccess را محدود می کند.

برای تأیید نحو پیکربندی Nginx ، دستور زیر را اجرا کنید:

$ sudo nginx -t

اگر همه چیز خوب است ، باید خروجی زیر را دریافت کنید:

nginx: نحو file پیکربندی /etc/nginx/nginx.conf ترکیب خوب است
nginx: پرونده پیکربندی /etc/nginx/nginx.conf تست موفقیت آمیز است

بعد ، دستور زیر را اجرا کنید تا میزبان مجازی خود را فعال کنید:

$ sudo ln -s / etc / nginx / sites-available / proxyhost / etc. / nginx / سایتهای فعال / وبپروکسی

سپس با اجرای دستور ، پیش فرض سرور سرویس Nginx سرویس Nginx را پاک کنید:

$ sudo rm / etc / nginx / سایتهای فعال / پیش فرض

سرویس Nginx خود را با استفاده از دستور زیر شروع کنید:

$ sudo /etc/init.d/nginx شروع کنید

اگر می خواهید Nginx را برای شروع بوت تنظیم کنید ، دستور زیر را اجرا کنید:

$ sudo update-rc.d پیش فرض nginx

مرحله 3: نصب Apache

با فعال سازی Nginx ، اکنون می توانید Apache را برای رسیدگی به درخواست های پروکسی نصب کنید.

برای نصب Apache دستور زیر را اجرا کنید:

$ sudo apt-get install apache2

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

مرحله 4: پیکربندی Apache

ما Nginx را راهنمایی کردیم که پروکسی را به پورت 8080 هدایت کند ، جایی که Apache برای دریافت درخواست ها گوش می دهد. حال باید Apache را برای استفاده از پورت 8080 راهنمایی کنیم و پورت 80 را برای Nginx بگذاریم. حالا پیش بروید و پورت های Apache را باز کنید تا آنها را در درگاه صحیح در آپاچی تنظیم کنید.

دستور زیر را برای باز کردن پرونده Apache Ports خود اجرا کنید:

$ sudo nano /etc/apache2/ports.conf

خطوط زیر را جستجو و ویرایش کنید تا اطمینان حاصل شود که Apache در پورت دلخواه 8080 از localhost اجرا شده است:

NameVirtualHost 127.0.0.1:8080
گوش دادن 127.0.0.1:8080

پرونده را ذخیره کرده و خارج شوید. اکنون سرویس Apache خود را مجدداً راه اندازی کنید:

$ sudo /etc/init.d/apache2 راه اندازی مجدد

با شروع دستور زیر می توانید Apache را تنظیم کنید تا در زمان بوت شروع شود:

پیش فرض $ sudo update-rc.d apache2

بعد ، پرونده پیش فرض virtualhost را ویرایش کنید:

$ سودو /etc/apache2/sites-enabled/000-default.conf

اطمینان حاصل کنید که پیکربندی مانند نسخه زیر است:

مدیر وب سرور @ localhost
DocumentRoot / var / www /
ErrorLog $ APACHE_LOG_DIR /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log ترکیب شد

محتوا را ذخیره کرده و از آن خارج شوید ، سپس خدمات Nginx و Apache را با استفاده از دستور زیر مجدداً راه اندازی کنید:

$ sudo /etc/init.d/apache2 راه اندازی مجدد
$ sudo /etc/init.d/nginx راه اندازی مجدد

مرحله 5: نصب PHP5

قبل از آزمایش هر چیزی ، اطمینان حاصل کنید که PHP را با دستور زیر نصب کنید:

$ sudo apt-get نصب php5

ذخیره و خارج شوید ، سپس هر دو سرویس Nginx و Apache را بارگیری مجدد کنید تا این تغییرات اعمال شود:

خدمات sudo $ apache2 را مجدداً راه اندازی کنید
سرویس سودو $ nginx را مجدداً راه اندازی کنید

مرحله ششم: آزمایش پروکسی معکوس Nginx

در پیکربندی همه چیز به درستی ، می توانید عملکرد پروکسی معکوس Nginx را آزمایش کنید. برای این کار ، دستور curl را مطابق شکل زیر اجرا کنید:

$ curl -I localhost

متن را در زیر می بینید:

HTTP / 1.1 200 خوب
سرور: nginx / 1.6.2 (اوبونتو)
تاریخ: چهارشنبه ، 28 ژوئیه 2016 08:34:02 IST
نوع محتوا: text / html
محتوا-طول: 11321
آخرین اصلاح: سه شنبه ، 31 ژوئن 2016 10:25:08 IST
اتصال: زنده نگه دارید
متفاوت: پذیرش-رمزگذاری
ETag: "564f1a7a-2c39"
منقضی می شود: چهارشنبه ، 28 ژوئیه 2016 08:34:31 IST
کنترل حافظه پنهان: بدون حافظه پنهان
محدوده پذیرش: بایت

سیم پیچ

اکنون همه چیز تنظیم شده است ، اما می خواهیم با اجرای یک اسکریپت سریع PHP ، اطلاعات سیستم را به apache هدایت کنیم؟.

با استفاده از دستور زیر پرونده php.info خود را ایجاد کنید:

$ sudo nano /var/www/info.php

این خطوط را در پرونده خود وارد کنید:

<?
phpinfo ()؛
?>

اکنون پرونده خود را ذخیره کرده و از آن خارج شوید. بعد ، مرورگر خود را باز کنید و آدرس زیر را تایپ کنید (“آدرس دامنه یا IP” را با نام دامنه صحیح خود جایگزین کنید).

http: //DOMAIN_OR_IP_ADDRESS/info.php

این صفحه ظاهر می شود:

نتیجه

اکنون باید NGINX را به عنوان یک پروکسی معکوس برای Apache در اوبونتو 16.04 داشته باشید. پیکربندی موفقیت آمیز nginx و Apache می تواند یک مزیت بزرگ برای سرور شما باشد.

اگر به دنبال بهبود عملکرد سرورهای خود هستید ، توصیه می کنیم به دنبال تغییر سرویس جدید و پیشرفته تر میزبانی نیز باشید. در HostAdvice بهترین خدمات میزبانی وب را در کنار بررسی های کاربران و قیمت برنامه مشاهده خواهید کرد.

این 3 سرویس برتر میزبانی وب برتر را ببینید

FastComet

قیمت شروع:
2.95 دلار


قابلیت اطمینان
9.7


قیمت گذاری
9.5


کاربر پسند
9.7


پشتیبانی
9.7


امکانات
9.6

بررسی ها را بخوانید

از FastComet بازدید کنید

میزبانی A2

قیمت شروع:
$ 3.92


قابلیت اطمینان
9.3


قیمت گذاری
9.0


کاربر پسند
9.3


پشتیبانی
9.3


امکانات
9.3

بررسی ها را بخوانید

از میزبانی A2 دیدن کنید

ChemiCloud

قیمت شروع:
2.76 دلار


قابلیت اطمینان
10


قیمت گذاری
9.9


کاربر پسند
9.9


پشتیبانی
10


امکانات
9.9

بررسی ها را بخوانید

از ChemiCloud بازدید کنید

مقالات مرتبط با نحوه

  • قسمت اول: چگونه می توان Nginx را با استفاده از Elastic Stack در سرور CentOS 7 VPS یا سرور اختصاصی نظارت کرد
    کارشناس
  • نحوه پیکربندی Nginx و Apache Together در همان Ubuntu VPS یا سرور اختصاصی
    حد واسط
  • قسمت دوم: چگونه می توان Nginx را با استفاده از Elastic Stack در سرور CentOS 7 VPS یا سرور اختصاصی نظارت کرد
    کارشناس
  • نحوه نصب Apache Cassandra در Ubuntu 18.04 VPS یا سرور اختصاصی
    حد واسط
  • نحوه میزبانی وب سایت های چندگانه بر روی سرور اختصاصی اوبونتو 18.04 VPS یا اختصاصی
    حد واسط
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me