نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: استفاده از Varnish بهمراه nginx به عنوان reverse ****** وب سرور آپاچی برای سرورهای Cpanel/Whm

  1. #1
    عضو انجمن alimosavi آواتار ها
    تاریخ عضویت
    Mar 2009
    نوشته ها
    380
    تشکر تشکر کرده 
    197
    تشکر تشکر شده 
    656
    تشکر شده در
    391 پست

    پیش فرض استفاده از Varnish بهمراه nginx به عنوان reverse ***** وب سرور آپاچی برای سرورهای Cpanel/Whm

    سلام

    این روش برای سایت های بزرگ که مراجعه کننده زیادی دارند و همزمان از صفحات دیتامیک و استاتیک استفاده می کنند می تونه خیلی مفید باشه . دستورات بنده برای centos7 هست .

    تست خودم تا ده برابر در بهینه مصرف کردن منابع و سرعت سایت اثر داره .

    مختصر و مفید این آموزش این هست :
    درخواست ها برای تسفیر ابتدا به Varnish فرستاده می شوند ، در صورتی که در سیستم کش این درخواست موجود بود که به کاربر نشون داده می شه ولی در غیر این صورت وظیفه تفسیر درخواست به nginx فرستاده می شه حالا این جا آموزش دو حالت می شه یکی اینکه خود nginx فایل ها استاتیک رو به کاربر نشون بده و فقط وظیفه تفسیر صفحات دینامیک رو به apache بفرسته یک حالت هم اینه nginx فقط وظیفه مدیریت کانکشن رو داشته باشه و کل درخواست ها رو بدون در نظر گرفتن نوع آنها به apache بفرسته .


    مرحله اول نصب Varnish :

    توضیح کوتاهی درباره این شبه وب سرور :

    وارنیش (Varnish) یک سیستم کشینگ برای وب سرور است. سیستم کشینگ وارنیش اطلاعات استاتیک وب سایت شما را روی حافظه سرور هاست ذخیره میکند و به سرعت به درخواستهای ارسال شده از سمت کاربران پاسخ میدهد.مزیت دیگر این سیستم کاهش پردازش CPU و پایین آمدن میزان CPU Usage ، افزایش سرعت نمایش فایل ها و اطلاعاتی از دیتابیس است که لازم نیست بصورت لحظه ای و آنی اطلاعات آنها استخراج و نمایش داده شود. البته عیبش هم اینه که ssl رو پیشتیبانی نمی کنه . منبع


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

    کد:
    yum install -y epel-release
    yum install -y varnish
    systemctl start varnish
    systemctl enable varnish
    کانفیگش باشه برای بعد .


    مرحله بعد نصب nginx :

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

    کد:
    yum install -y nginx
    systemctl start nginx
    systemctl enable nginx
    البته من در این آموزش از nginx تنها به عنوان ****** مع*** استفاده می کنم به دو صورت که کانفیگش رو بعدا می گم .

    خب می ریم سراغ کانفیگ :
    • port 80 برای varnish رزو خواهد شد .
    • port 8080 برای apache رزو خواهد شد .
    • port 8088 برای nginx رزو خواهد شد .


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

    اول می خوایم درخواست های port هشتاد رو بفرستیم به varnish پس باید ابتدا apache رو برای تغییر پورت کانفیگ کنید .

    در صورتی که از سرور cpanel استفاده می کنید از قسمت : Tweak settings گزینه Apache non-SSL IP/port رو به مقدار 0.0.0.0:8080 تغییر بدید .

    حالا varnish رو کانفینگ می کنیم .

    فایل زیر رو ویرایش کنید :

    کد:
    nano /etc/varnish/varnish.params
    مقدار VARNISH_LISTEN_PORT=80 رو قرار بدید تا varnish به درخواست های پورت 80 جواب بده .

    بعد فایل زیر رو ویرایش کنید :

    کد:
    nano /etc/varnish/default.vcl
    در کمترین حالت باید محتوای این فایل مثل گزینه زیر باشه :

    کد:
    vcl 4.0;
    
    backend default {
        .host = "5.196.xx.xx";
        .port = "8088";
    }
    حتما به جای ip سرور من 5.196.xx.xx ، مقدار ip خارجی سرور خودتون رو بگذارید . ( از ip لوکال 172.0.0.1 بر روی سرور cpanel استفاده نکنید )

    ما در این فایل به varnish دستور دادیم درخواست هایی رو که خودت جوابی براش نداری رو بفرست به پورت 8088 که برای nginx رزرو کرده ایم .

    مرحله بعد کانفینگ nginx هست .

    حالت یک که ساده تر هست اینه که nginx تمام ورودی ها رو به آپاچی منتقل کنه : برای این حالت فایل زیر را ایجاد یا ویرایش می کنید .

    کد:
    nano /etc/nginx/conf.d/default.conf
    محتویات این فایل در کمترین حالت شامل موارد زیر است :
    کد:
    server {
    	listen   8088; 
    
        location / {
            *****_pass http://your_server_ip:8080;
            *****_set_header Host $host;
            *****_set_header X-Real-IP $remote_addr;
            *****_set_header X-Forwarded-For $*****_add_x_forwarded_for;
            *****_set_header X-Forwarded-Proto $scheme;
        }
    
    }
    بجای your_server_ip مقدار ip سرور خودتون رو جایگذاری کنید .

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

    کد:
    service nginx restart
    در حالت دوم شما به nginx فرمان می دید که فایل های استاتیک رو به کاربر نشون بده ولی فایل های php رو برای تفسیر به آپاچی بفرسته :

    یک فایل کانفینگ برای دامنه خودتون ایجاد کنید : بجای domain نام دامنه خودتون رو بگذارید .
    کد:
    nano /etc/nginx/conf.d/domain.com.conf
    محتویات این فایل در کمترین حالت :
    کد:
    server {
        listen 8088;
        server_name domain.com www.domain.com;
        root /home/user/public_html;
    	
        index index.php index.htm index.html;
    
        location / {
            try_files $uri $uri/ /index.php;
        }
    
        location ~ \.php$ {
            *****_pass http://5.196.71.182:8080;
            *****_set_header Host $host;
            *****_set_header X-Real-IP $remote_addr;
            *****_set_header X-Forwarded-For $*****_add_x_forwarded_for;
            *****_set_header X-Forwarded-Proto $scheme;
        }
    
        location ~ /\. {
            deny all;
        }
    }
    بجای user نام کاربری که برای سی پنل هست و بجای domain دامنه خودتون رو قرار بدید .

    با دستور زیر nginxx رو ریستارت کنید .


    کد:
    service nginx restart
    خب تبریک می گم ما با موفقیت کار رو انجام دادید . تنها مورد مهمی که نباید فراموش کنید اینه که این آموزش برای کمترین کانفینگ ممکن بود در صورتی که می خواید واقعا بهینه باشه سرورتون باید nginx ، varnish و apache و در نهایت php رو حرفه ای کانفیک کنید .

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

    در انتها در صورتی که می خواید این آموزش رو در سایتتون قرار بدید منبع رو aliwebhosting.com جهت حفظ کپی رایت ذکر کنید .

    - - - Updated - - -

    آقا این ستاره ها که می بینید همون prox-y خستند که اینجا فیل--ترشدن .
    ویرایش توسط alimosavi : September 27th, 2016 در ساعت 01:18
    به نام او ....

  2. تعداد تشکر ها ازalimosavi به دلیل پست مفید


  3. # ADS




     

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. نصب Varnish Cache با NGINX
    توسط Cr0w در انجمن ردهت,فدورا,سنت-او-اس Redhat,Fedora,CentOS
    پاسخ ها: 8
    آخرين نوشته: December 1st, 2017, 08:59
  2. پاسخ ها: 11
    آخرين نوشته: February 28th, 2017, 15:57
  3. استفاده از Nginx به عنوان Reverse P-R-O-X-Y
    توسط BMW 3X در انجمن سوالات و مشکلات
    پاسخ ها: 3
    آخرين نوشته: September 15th, 2015, 12:05
  4. تاثیر استفاده از varnish به همراه nginx در آپاچی
    توسط hamed-f در انجمن سوالات و مشکلات
    پاسخ ها: 5
    آخرين نوشته: June 16th, 2015, 11:14
  5. نصب varnish و nginx باهم ؟
    توسط madanchi11 در انجمن وب سرورها
    پاسخ ها: 19
    آخرين نوشته: April 10th, 2013, 10:25

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •