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

موضوع: وردپرس و سایت های شخصی خود را با ۱۲۸ مگابایت رم میزبانی کنید !

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن P30Tools آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    214
    تشکر تشکر کرده 
    254
    تشکر تشکر شده 
    760
    تشکر شده در
    570 پست

    پیش فرض وردپرس و سایت های شخصی خود را با ۱۲۸ مگابایت رم میزبانی کنید !

    چند وقت پیش در یکی از انجمن های فارسی زبان بحثی در جریان بود ( البته مثل همیشه خارج از موضوع تاپیک ) در مورد اینکه برای میزبانی وبسایت های شخصی روی سرور مجازی چه مقدار منابع احتیاج داریم ، صحبت هایی بعضی از افراد به نظرم خیلی جالب میومد که عینا براتون نقل قول میکنم :

    - رو VPS سایت بیاریم بالا!؟
    طرف از جونش سیر شده مگه؟!
    - برای سایت حداقل باید ۵۱۲ مگابایت رم داشته باشی ، تازه اگه رمی که خود ویندوز استفاده میکنه رو در نظر نگیریم.
    - من فکر نمیکنم با ۱۲۸ مگابایت اصلا امکان داشته باشه هیچ سایتی رو بتونی روی این سرور بالا بیاری ! مگه اینکه روزی یه نفر بازدید کننده داشته باشی !
    جدای از بحث فنی و سطح اطلاعات افرادی که نظر داده بودند ، دوست دارم امتحان کنم که بایک سرور مجازی با ۱۲۸ مگابایت رم ، چند سایت و با چه مقدار بازدید در روز رو میشه میزبانی کرد.شاید برای خیلی از افراد خرید هاست اشتراکی و میزبانی وبسایتشون ساده ترین و بهترین راه باشه ، اما برای افرادی که دوست دارن سرور خودشون رو داشته باشن و در عین میزبانی وبسایتشون با دسترسی به خط فرمان لینوکس (‌ Shell ) استفاده های دیگه ای از VPS شون بکنن ، این یک آزمایش جالب خواهد بود. حتی در حالی که با قیمت کمتر ۲۵۰۰۰ تومان در ماه میشه یک VPS خوب با ۵۱۲ مگابایت رم داشت ، این موضوع بی اهمیت به نظر برسه اما با هم میبینم که یک سرور مجازی با ۱۲۸ مگابایت رم هم میتونه میزبان خوبی برای سایت های شخصی خودتون و مشتری هاتون باشه !



    • کنترل پنل

    ساده ترین ( و کم هزینه ترین ) روش میتونه استفاده از کنترل پنل Kloxo برای میزبانی وبسایت های روی سیستم عامل لینوکس باشه ، اما Kloxo برای نصب به حداقل ۲۵۶ مگابایت رم نیاز داره (‌به نقل از وبسایت رسمی ) درسته که بعد از نصب میشه Kloxo رو میتونیم طوری تنظیم کرد که مصرف رم بین ۳۰~۵۰ مگابایت رم داشته باشه اما متاسفانه با این مقدار رم نمیتونیم از مراحل نصب Kloxo عبور کنیم. ( البته در صورت استفاده از OS Template ه HostInABox میشه اما این موضوع امروز ما نخواهد بود )
    کنترل پنل های دیگه مثل Cpanel و DirectAdmin به رم بالاتری نیاز دارن و Webmin هم بدلیل استفاده از آپاچی به عنوان وب سرور انتخاب خوبی نخواهد بود.

    • وب سرور

    بطور قطع و یقین آپاچی انتخاب ما نخواهد بود بدلیل اینکه آپاچی همین میزان کم و گرانبهای رم ما رو هم به شکل نا مناسبی مشغول میکنه. Lighttpd یکی از سبک ترین وبسرور های موجود میتونه انتخاب خوبی برای اینکار باشه ، اما من ترجیح میدم برای اینکار از وب سرور مورد علاقه خودم ، یعنی Nginx ( که engine x تلفظ میشه ) استفاده کنیم. Nginx وب سرور سبک ، قدرتمند و نیرودهنده بسیاری از وبسایت های پربازدید امروزی هستش.

    • راه اندازی VPS

    من برای اینکار از CentOS 5.7 به عنوان سیستم عامل استفاده خواهم کرد ، Debian و Ubuntu هم بدلیل مصرف رم کمتر نسبت به CentOS گزینه های خوبی میتونن باشن ولی ما این آموزش رو با CentOS انجام خواهیم داد.
    خب ، بزارین میزان مموری و مشخصات CPU رو چک کنیم :


    یک هسته از پردازنده قدرتمند Xeon 1230 کاملا خیالمون رو از بابت CPU Power راحت میکنه و ۱۶ مگابایت رم خالی ! بزارید ببنیم که کدوم یکی از سرویس ها رم مارو مشغول کردن ، برای این کار پیشنهاد من نصب بسته htop هستش که قبلا راجع بهش صحبت کرده بودیم ، اما این بار نه از طریق Yum :
    کد:
     wget http://pkgs.repoforge.org/htop/htop-1.0.1-2.el5.rf.i386.rpm
     rpm -Uvh htop-1.0.1-2.el5.rf.i386.rpm
    خب حالا htop رو اجرا میکنیم تا ببینیم کدوم یکی از پردازش ها بیشترین مقدار مصرف حافظه رو دارن :‌


    خب daemon ه restorecond که مربوط به SELinux هستش ۸.۵٪ از میزان رم مارو مشعول کرده ، پس مرحله بعدی کارما غیر فعال کردن SELinux هستش . بعد از اینکار دوباره با htop وضعیت پردازش ها رو چک میکنیم :


    همونطور که میبینیم daemonی بنام yum-updatesd مقدار زیادی از رم مارو مشغول کرده ، وظیفه این daemon این هست که بطور خودکار yum رو چک میکنه برای update های جدید و در صورت وجود به ما اطلاع میده.خب ! پس اگه خودمون هر چند وقت یکبار با اجرای yum update بروز رسانی های جدید رو انجام بدیم ، نیازی به این سرویس نخواهیم داشت و مقداری از رم رو هم آزاد میکنیم ، برای این کار ابتدا این daemon رو stop میکنیم و بعد از لیست برنامه هایی که بصورت خودکار با بالا اومدن سیستم عامل اجرا میشن حذفش میکنیم :
    کد:
     service yum-updatesd stop
     chkconfig yum-updatesd off
    و در نهایت با حذف این ۲ سرویس موفق شدیم میزان رم مصرفی سیستم عامل رو در حالت عادی به ۲6 مگابایت برسونیم ! و حدودا ۱۰۰ مگابایت رم خالی برای اجرای سرویس های nginx , MySQL و php کنار بزاریم.نتیجه کار کاملا رضایت بخشه.

    • نصب سرویس های مورد نیاز

    برای شروع با استفاده از yum چک میکنیم که آیا نسخه ای از apache, MySQL و یا php نصب شده و در صورت وجود اون رو حذف میکنیم :
    کد:
     yum -y remove httpd php mysql
    و مخزن مربوط به nginx رو نصب میکنیم :
    کد:
     rpm -Uvh http://nginx.org/packages/rhel/5/noarch/RPMS/nginx-release-rhel-5-0.el5.ngx.noarch.rpm
    همینطور مخزن webtatic رو به yum اضافه میکنیم ، این مخزن به ما اجازه نصب آخرین نسخه php و mysql رو میده :
    کد:
     rpm -Uvh rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
    و در نهایت PHP , NGINX و MySQL رو نصب میکنیم :
    کد:
     yum -y --enablerepo=webtatic install mysql55-server php-fpm php-mysql php-gd nginx
    خب ، برای مدیریت بهتر منابع بهتره کمی تغییرات در تنظیمات MySQL بدیم که اون رو برای این میزان رم بهینه کنیم :
    کد:
     cat > /etc/my.cnf <<END
     [mysqld]
     default-storage-engine = myisam
     key_buffer = 1M
     query_cache_size = 1M
     query_cache_limit = 128k
     max_connections=25
     thread_cache=1
     skip-innodb
     query_cache_min_res_unit=0
     tmp_table_size = 1M
     max_heap_table_size = 1M
     table_cache=256
     concurrent_insert=2
     max_allowed_packet = 1M
     sort_buffer_size = 64K
     read_buffer_size = 256K
     read_rnd_buffer_size = 256K
     net_buffer_length = 2K
     thread_stack = 64K
     END
    و حالا نوبت به تنظیمات مربوط به nginx و php میرسه ،
    کد:
     cat > /etc/nginx/php <<END
     index index.php index.html index.htm;
    location ~ \.php$ {
    include fastcgi_params;
     fastcgi_intercept_errors on;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
     try_files \$uri =404;
     fastcgi_pass 127.0.0.1:9000;
     error_page 404 /404page.html; #makes nginx return it's default 404
     #    page instead of a blank page
    }
     END
    و در نهایت تنظیمات دلخواه من برای nginx ، میتونید از تنظیمات زیر استفاده کنید و یا از تنظیمات پیشفرض خود nginx بهره ببرید.
    کد:
     cat > /etc/nginx/nginx.conf <<END
     user              nginx nginx;
     worker_processes  1;
     worker_rlimit_nofile 30000;
    pid               /var/run/nginx.pid;
    events {
     worker_connections  5120;
     }
    http {
     include       mime.types;
     default_type  application/octet-stream;
     client_max_body_size 64M;
     sendfile        on;
     tcp_nopush      on;
    keepalive_timeout  3;
    gzip  on;
     gzip_comp_level 2;
     gzip_proxied any;
     gzip_types      text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    server_tokens off;
    include /etc/nginx/conf.d/*;
     }
     END
    خب برای ادامه کار نیاز داریم که User ی برای PHP در سیستم اضافه کنیم ، تنظیمات پیشفرض nginx رو حذف کنیم و دایرکتوری Log ی که برای nginx مشخص کردیم رو بسازیم ، بعد از این کار ها nginx رو restart میکنیم تا تنظیمات جدید رو بخونه‌ ، دستورات زیر رو تک به تک اجرا کنید :
    کد:
     useradd php
     rm /etc/nginx/conf.d/*
     mkdir /usr/share/nginx/logs/
     service nginx restart
     chkconfig nginx on
     chkconfig mysqld on
    و تنظیمات پیشفرض برای Vhost های nginx رو با دستور زیر ایجاد کنید.
    کد:
    cat > /etc/nginx/conf.d/default.conf <<END
     server {
     listen 80 default;
     server_name _;
     root /home/www/html;
     include php;
    }
     END
    تنظیمات PHP-FPM رو با دستور زیر ذخیره کنید :
    کد:
    rm -f /etc/php-fpm.d/www.conf
     wget http://serverhelp.ir/wp-content/uploads/2012/04/php-fpm.txt -O /etc/php-fpm.d/www.conf
    بیشتر تنظیمات تا اینجا انجام شدن و فقط لازمه دایرکتوری هایی که قراره فایلهامون توش قرار بگیره رو بسازیم و سرویس ها رو اجرا کنیم :
    کد:
     mkdir /home/www
     mkdir /home/www/html/
     service php-fpm start
     chkconfig php-fpm on
     chkconfig mysqld on
     service mysqld start
    و کلمه عبور root ه MySQL رو با دستور زیر مشخص کنید ( برای سوال اول enter رو بزنید و ترحیجا بقیه سوالات رو با Y جواب بدین )
    کد:
     /usr/bin/mysql_secure_installation
    در نهایت میتونید از exim بجای sendmail استفاده کنید :
    کد:
     yum -y remove sendmail
     yum -y install exim
    و همینطور افزونه APC رو برای افزایش بهره وری PHP نصب کنید :‌
    کد:
     yum -y install php-pecl-apc --enablerepo=webtatic
    درسته که کمی طول کشید ولی نتیجه کار کاملا رضایت بخشه !


    خب همونطور که قبلا گفته بودیم میخوایم از این سرویس برای میزبانی نه فقط یک سایت بلکه چندین سایت استفاده کنیم ، با استفاده از اسکریپت زیر میتونیم براحتی تنظیمات مربوط به هر Virtual Host جدید رو انجام بدیم :
    کد:
     wget http://serverhelp.ir/wp-content/uploads/2012/04/vhost1.txt -O /bin/vhost
     chmod 755 /bin/vhost
    حالا با استفاده از دستور vhost میتونید سایت های خودتون رو به nginx اضافه کنید ، برای مثال :
    کد:
     vhost serverhelp.ir

    حالا آخرین نسخه وردپرس فارسی رو از سایتش دانلود میکنم و نصبش میکنم :
    کد:
     wget http://fa.wordpress.org/wordpress-3.3.2-fa_IR.tar.gz
     tar xvf wordpress-3.3.2-fa_IR.tar.gz



    اینم از وردپرس ! بزارین ببینم چقدر رم مصرف کردیم ، درست در زمان اجرا و لود وردپرس این میزان به ۳۵ مگابایت میرسه !



    خیلی خوبه ! فراموش نکنید وردپرس میزان زیادی از حافظه رو مصرف میکنه !خوب حالا وقتشه که سرور رو تحت فشار قرار بدیم تا بازدهیش رو ببینیم :
    کد:
     ab -n 100 -c 2 -g nginx-1.txt http://localhost/wordpress/
     ab -n 100 -c 5 -g nginx-2.txt http://localhost/wordpress/
     ab -k -n 100 -c 5 -g nginx-3.txt http://localhost/wordpress/
    کد:
    
    

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

    نتیجه بسیار جالب و رضایت بخشه ! با ۱۲۸ مگابایت رم موفق شدیم تا ۵ درخواست همزمان رو به خوبی و در زمان مناسب پردازش کنیم . حتی با اینکه برای این تست از وردپرس استفاده کردیم و وردپرس میزان رم و پردازش زیادی از سرور رو مشغول میکنه باز هم حدود ۴۰ مگابایت رم خالی روی VPS داشتیم. با یک حساب ساده میشه حدس زد که میتونیم یک سایت وردپرس با بازدیدی حدود ۴-۵ هزار نفر در روز رو با این VPS تقریبا بدون اینکه مشکلی بوجود بیاد میزبانی کنیم ! خیلی عالیه !در بسیاری از موارد سایت های شخصی و یا صنفی (‌رستوران ها ،‌ آتلیه های عکاسی و ... ) از فایل های استاتیک و یا فلش تشکیل میشن و یا حتی در مورد بیشتر شرکت ها که سایت های داینامیک دارند بدلیل نوع فعالیت وبسایتشون بازدید های روزانه شون به سختی به بالای ۳۰۰ نفر در روز میرسه . اگر شما یک طراح یا برنامه نویس وب هستید براحتی میتونید تمامی سایت های مشتریان خودتون رو روی VPS شخصی خودتون میزبانی کنید و هم کنترل بهتری روی این وبسایت ها داشته باشید و هم کمی درآمد اضافی کسب کنید یا چه تفریحی بهتر از اینکه وبلاگ شخصی تون روی سروری خودتون Config کردین بالا بیارین و در کنارش از دسترسی root هم استفاده کنید ؟‌در این نوشته فقط قصد داشتیم ثابت کنیم که با ۱۲۸ مگابایت رم هم وبسایت های زیادی رو میشه میزبانی کرد و بر خلاف تصور عام این مقدار حافظه نه تنها کم نیست ، بلکه برای خیلی سایت ها کافی هم هست. و در نهایت میتونیم تصور کنیم با ۲۵۶ مگابایت و ۵۱۲ مگابایت و بالاتر حافظه چه مقدار بازدید و چه تعداد وبسایت رو میتونیم میزبانی کنیم.

    نکته آخرنه نگران نباشید ، DNS سرور رو فراموش نکردیم. اگر قصد دارید تا کمتر از ۱۰ دامنه رو میزبانی کنید ، میتونید از خدمات رایگان Point استفاده کنید و خودتون رو درگیر تنظیمات DNS سرور نکنید. در غیر این صورت پیشنهاد من DNS Server سبک و جمع و جوری مثل MaraDNS هستش. »» نصب و راه اندازی MaraDNS


    منبع : راهنمای سرور

    مقاله ها کاملا اختصاصی هستند و توسط گروه ما نوشته و یا ترجمه شده اند.

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


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

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

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

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

  1. سرور اختصاصی برای میزبانی سایت
    توسط hadiweb در انجمن درخواست سرور اختصاصی
    پاسخ ها: 10
    آخرين نوشته: September 13th, 2015, 19:29
  2. معرفی یک شرکت میزبانی وب برای سایت شخصی-تجاری
    توسط MR.SAEIIID در انجمن درخواست هاست اشتراکی
    پاسخ ها: 13
    آخرين نوشته: January 18th, 2015, 15:26
  3. معرفی یک شرکت میزبانی وب برای سایت شخصی-تجاری
    توسط MR.SAEIIID در انجمن سوالات و مشکلات
    پاسخ ها: 14
    آخرين نوشته: January 17th, 2015, 19:41
  4. سرور اختصاصی برای بک آپ و میزبانی یک وبسایت پر بازدید
    توسط nimait70 در انجمن درخواست سرور اختصاصی
    پاسخ ها: 28
    آخرين نوشته: January 20th, 2014, 00:07
  5. مشخصات سرور اختصاصی برای میزبانی سایت های پر بازدید
    توسط amin7x در انجمن سوالات و مشکلات
    پاسخ ها: 9
    آخرين نوشته: December 29th, 2012, 11:16

کلمات کلیدی این موضوع

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

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