نکات و ترفند های لینوکس و مدیریت سرور

Debian linux

لینوکس سیستم عامل مورد علاقه ی من برای استفاده به عنوان سرور است. (هرچند که برای دسکتاپ، ویندوز را ترجیح می دهم)

من تاکنون بیش از 5 سال است که با لینوکس کار می کنم و از آن به عنوان سیستم عامل سرویس دهنده استفاده می کنم. و قصد دارم که در این وبلاگ، هر زمان که حوصله و مجال باشد، برخی از تکنیک هایی که فراگرفته ام را به اشتراک بگذارم.

توزیع لینوکس مورد علاقه ی من، در درجه ی اول Debian است و سپس Ubuntu. همچنین دورادور کمی هم CentOS کار می کنم. به همین خاطر عمده ی مطالبی که منتشر خواهم کرد، راجع به Debian خواهد بود.

بعضی ها گمان می کنند که فقط CentOS برای سرور مناسب است. اما این طرز تفکر صحیح نیست. Debian سیستم عامل بسیار قدرتمند و انعطاف پذیر برای سرور می باشد. و گزینه ی بسیار عالی برای هاستینگ و میزبانی وب است.

یکی از ویژگی های برجسته ی Debian (و به خصوص Ubuntu) این است که کار با آن بسیار ساده است و از CentOS راحت تر پیکربندی و مدیریت می شود. نام گذاری پکیج های نرم افزاری، در Debian از نظر من بهتر و منطقی تر است. و در مجموع Use experience بهتری برای مدیر سرور دارد (بنا به سلیقه ی شخصی من).

دیدگاه‌ها

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

با تشکر

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

با تشکر.

I love Drupal

سلام من یک سرور مجازی خریدم با رم 8 گیگ و دو سی پی یو دو هسته 1600 حدودا
اما رم با اینکه 8 گیگ است معمولا 95 درصدش در اکثر ساعات مصرف میشه.
البته سرور ما کانفیگ نشده و میگند باید کانفیگ شود.

خواستم بدونم با چنین مشخصاتی دو سایت دروپالی و با یک انجمن ویبولتون با بازدید روزانه 10 هزار نفر برای کل سایتها. چه چیزی رو باید افزایش بدم.

هر زمان کش رو خالی میکنم و یا کرون رو اجرا میکنم و یا با ویوز کار میکنم این خطا رو میده

504 Bad Gateway
nginx

خیلی ممنونم میشم راهنمایی کنید.

سلام
مقدار رم و مشخصات سروری که خریده اید، بسیار خوب می باشد و حتی فکر می کنم که 8 گیگ رم زیاد هم هست.
اولا بررسی کنید که چه مقدار از رم سرور مصرف می شود. با استفاده از دستور free -m
ثانیا بررسی کنید که چه مقدار رم را به php اختصاص داده اید. برای این منظور خروجی phpinfo() را بررسی کنید.
در سطری که memory_limit نوشته شده است، باید نگاه کنید.
ثالثا، باید بررسی کنید که مجازی سازی مورد استفاده برای vps شما چیست.
و همچنین سرعت هارد دیسک و همچنان فرکانس CPU و ... را باید بررسی کنید. ممکن است که سیستم توان سرویس دهی را نداشته باشد.
hdparm -tT /dev/sda
cat /proc/cpuinfo
lsb_release -d

I love Drupal

با سلام مجدد از پاسخگویی و فرصتی که گذاشتید بسیار سپاسگزارم
لازم بذکره قبل یک هفته رم 4 گیگ بود و مصرف رم حدودا 95 درصد فکر کردیم با افزایش رم درست میشه کردیم 8 گیگ بعد دیدم 100 گیگ هم بکنیم در هر صورت این قصد داره 90 درصدش رو مصرف کنه:))
نسخه لینوکس centos 5.5 filnal است.
مقدار رم اختصاص داده شده memory_limit 256m

حقیقش چند دقیقه قبل از اینکه این پیام رو بفرستم رفتم مسیر زیر
etc/httpd/config.d/fcgid.conf
و مقادیر زیر رو تغییر دادم و اعداد بالایی نوشتم بعدش سرور رو ریستارت کردم و کش دروپال رو خواستم خالی کنم سایت نیم ساعتی بالا نیومد. چند بار mysql , httpd رو ریستارت کردم درست نشد. دوباره رفتم مقادیر رو به حالت قبل یعنی همینی که است برگردونم بعدش سایتها بالا اومد
البته FcgidIOTimeout 300 فکر کنم قبلش 60 یا 120 بود. اینترنت هم هر کسی یک عددی نوشته آخرش ندونستم بهترین روش چیه.

FcgidIdleTimeout 40
FcgidProcessLifeTime 30
FcgidMaxProcesses 20
FcgidMaxProcessesPerClass 8
FcgidMinProcessesPerClass 0
FcgidConnectTimeout 30
FcgidIOTimeout 300
FcgidInitialEnv RAILS_ENV production
FcgidIdleScanInterval 10

دستور میزان مصرف رم رو اجرا کردم اینو داد البته معمولا 4 پنج گیگ بافر کش مربوط میشه و معمولا کمتر از 7 گیگ مصرف نمیشه نمیدونم الان چرا بعد از عملیات بالا موقتا مصرفش کمتر شده ولی مطمئنا بعد از چند ساعت دوباره میزنه بالای 90 درصد
[root@user ~]# free -m
total used free shared buffers cached
Mem: 7983 4740 3243 0 81 1406
-/+ buffers/cache: 3252 4730
Swap: 8189 0 8189

یعنی
mem:
total 7983
used 4740
free 3243
shared 0
buffers 81
cached 1406
**************************
و buffers/cache:
used 3252
free 4730
***********************
و Swap
total 8189
used 0
free 8189
***********************************

من این دستور hdparm -tT /dev/sda رو هم اجرا کردم
/dev/sda:
Timing cached reads: 23980 MB in 2.00 seconds = 12009.09 MB/sec
Timing buffered disk reads: 26 MB in 3.84 seconds = 6.78 MB/sec
********************************

اینم نتایج دستور cat /proc/cpuinfo

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU X5670 @ 2.93GHz
stepping : 2
cpu MHz : 2932.500
cache size : 12288 KB
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc ida nonstop_tsc arat pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm
bogomips : 5865.00
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: [8]

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU X5670 @ 2.93GHz
stepping : 2
cpu MHz : 2932.500
cache size : 12288 KB
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc ida nonstop_tsc arat pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm
bogomips : 5865.20
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: [8]

اولا باید به شما اطلاع دهم که به نظر من 2 گیگ رم هم باید جواب بده. حالا چون بازدید سایت شما بالاست، حد اکثر 4 گیگ فرض می کنیم. بیشتر از این لازم نیست.
ثانیا من در خصوص CentOS زیاد مسلط نیستم. اگر Debian استفاده می کردید، با اطمینان بیشتری می توانستم راهنمایی کنم.
شما در پست قبلی گفتید که وب سرور nginx استفاده می کنید و الان کانفیگ apache را تغییر داده اید. لطفا مشخص کنید که وب سرور مورد استفاده ی شما چیست.
مقدار رم 256 برای php را بیشتر کنید. گرچه 256 هم کافی است. ولی سعی کنید که 512 استفاده کنید و نتیجه را بررسی کنید.
به نظر میاد که رم خود سرور زیاد هم پر نشده! و هنوز فضای خالی زیادی داره.
apc را اگر فعال است، غیر فعال کنید. (برای کاهش مصرف رم)
اگر از apache استفاده می کنید، به جای ماژول fcgid از ماژول fastcgi استفاده کنید. من خیلی زیاد از ماژول fastcgi استفاده می کنم و مشکلی باهاش ندارم. ولی fcgid رو تست نکرده ام.
به نظر میاد که fastcgi بهتر از fcgid باشه.
سرعت هارد دیسک شما غیر عادی و به شدت کند است.
حتما باید از یک vps دیگه استفاده کنید. اگر سرعت هارد دیسک 6 مگابایت در ثانیه باشد، فاجعه است و اصلا هرگز توقع نداشته باشید سایت هایتان به خوبی کار کنند. برای یک VPS خوب، باید سرعت حدود 100 مگابایت در ثانیه باشد.
یا حد اقل کمتر از 50 مگابایت در ثانیه نباشد.
وضعیت CPU هم به نظر کافی می آید.
گمان می کنم که کسی که از او VPS تهیه کرده اید، overselling انجام می دهد.

اگر تمایل داشته باشید، ممکن است بتوانید سایت تان را روی سرور من تست کنید و ببینید که خوب کار می کند یا خیر. برای این کار از فرم تماس، مستقیما به من ایمیل بزنید:
http://www.hejazee.ir/contact

موفق باشید.

I love Drupal

نکته دیگر این که، در مصرف رم باید دقت کنید که مقدار بافر ها زیاد مهم نیست. مصرف اصلی رم بدون بافر ها باید معیار شما جهت اندازه گیری میزان رم مصرفی باشد.
بعلاوه مادامی که از swap استفاده نمی شود، جای نگرانی نیست. هرگاه از swap استفاده شد، آن وقت باید به فکر بیافتید که آن را بهینه کنید.

I love Drupal

با سلام و احترام و تشکر ویژه از لطفتان.
من مقدار حافظه رو از 256 به 512 تغییر دادم الان با خالی کردن کش و اجرای کرون و .... دیگه خطایی نمیاد 504 و سرعتش هم بنظرم خوب شد.
حقیقتش ما از تبیان سرور گرفتیم و دو ماه بعد قراره به پارس آنلاین منتقل شود. باز موارد و نکاتی که اشاره نمودید رو به پشتیبانیشون منتقل کردم و منتظر پاسخشون هستم. اگر نتوانستیم از طریق اونا به نتیجه برسیم مزاحم شما میشویم.
در مورد وب سرور حقیقا بنده تخصص کافی ندارم ولی این رو میدونم هر دو روو سرور مجازی ما نصبه! لازم بذکره کنترل پنل رو خوردمون خرید و نصب کردیم که اونم پلسکه. فکر کنم آپاچی از این طریق نصب شده.

به هر حال لطف بزرگی کردید انشاءالله که خودشون مشکل رو رفع میکنند. نشد، اطلاعات سرور رو میفرستم تا زحمتش رو شما بکشید. و ...
با سپاس مجدد

خوشحالم که مشکل شما برطرف شده.
اتفاقا برای من جالب بود که متوجه شدم سرویس VPS ای که تبیان ارائه میده هم چه وضعی داره!
اگر من باشم، فقط سرویس از خارج تهیه می کنم یا اگر از ایران تهیه کنم، فقط سرور اختصاصی می گیرم که بفهمم چند تا مشتری روش دارم!
بعیده که هم آپاچی و هم nginx نصب باشه چون که پورت هاشان با هم conflict میشه. احتمالا شما از apache به عنوان سرور اصلی و از nginx به عنوان reverse proxy استفاده می کنید که اگر این طور باشد، کانفیگ خیلی خوبی هم هست.
ضمنا حتما یک فکری به حال سرعت I/O هارد بکنید چون این ارقامی که شما ارسال کردید، بسیار بد است. و حتما مشکلات عدیده ای در سایت هایتان و به خصوص برای mysql خواهید داشت. (مثلا موقع پاک کردن cache)

موفق باشید.

I love Drupal

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

درود.
ممکن است پورت شبکه ی سرور کند باشد. یا شبکه ای که سرور در آن قرار گرفته به گونه ای است که کانکشن ها رو drop می کنه و یا کند می کنه.
شاید هم مشکل از سرویس مقصد هست و مثلا ممکنه وب سرویس ارسال پیام کوتاه کند باشه.
بعدش هم معمولا در سایت های فروشگاهی، ارتباط چندانی بین سرور و درگاه پرداخت برقرار نمیشه. فقط transaction های کوتاه برای verification برقرار میشه.
شما از کجا متوجه شدید که این برقراری ارتباط کند هست؟

اگر می خواهید دقیقا مطمئن شوید که آیا واقعا ارتباط با وب سرویس کند است یا نه، باید دقیقا با ابزار سرعت رو اندازه گیری کنید و ببینید چقدر طول میکشه تا رابطه برقرار شه.
نکته ی دیگر این که گاها از سرور های خارج از کشور، بخواهید به سرور های داخل کشور متصل شوید و یا برعکس، ارتباط کند میشه و این به خاطر محدودیت ها و اشکالات اینترنت داخلی کشور ما هست.

به طور کلی، قدر مسلم اینه که کندی ارتباط با وب سرویس ها ربط چندانی به سخت افزار سرور میزبان و یا به میزان هارد و رم سرور مجازی شما نداره.
موفق باشید.

I love Drupal

سلام آقا سایت من اکثر مواقع این پیغام را میده به نظرتون باید چکار کنم .
This request takes too long to process, it is timed out by the server. If it should not be timed out, please contact administrator of this web site to increase ‘Connection Timeout’.

این موضوع رو باید با مدیر سرور (مدیر هاست) تون در میان بگذارید.
یک راه اینه که Connection Timeout رو زیاد کنن.
راه معقول تر اینه که سایت تون رو سبک تر کنید. یا این که مثلا از یک جای بهتر هاست بگیرید.
اگر سایت تون دروپال هست، به سرویس هاستینگ تخصصی ما هم سری بزنید.
http://www.drupalhost.ir/

I love Drupal

افزودن دیدگاه جدید