در ذهن بسیاری از افراد معنی سرور در زمان خرید سرویس های میزبانی یا سرور بسیار پررنگ شده و تبدیل به یک چالش بزرگ برای آنها خواهد بود. به همین دلیل اساس این مقاله بر روی پرسش سرور چیست و در ادامه کاربرد سرور بنا شده است.
سرور چیست ؟معنی سرور چیست؟ سرور در فارسی به معنی سرویس دهنده ذکر شده است. در پاسخ سوال server به چه معناست باید گفت، کامپیوتری همیشه روشن و قدرتمند است که کاربران در زمانهای متفاوت، از آن انتظار پاسخ به درخواستهای خود را دارند. تاریخچه سرورها از سال ۱۹۸۱ تا کنون به ثبت رسیده است و می توانید در مقاله ای که به همین نام تهیه و تنظیم شده است آنرا مطالعه نمایید.
زمانی که دسترسی به سرور تنها در محدوده یک شبکه داخلی باشد، آنرا سرور شبکه مینامند. به این معنا که تمامی کامپیوترهای موجود در این شبکه، از سرور فرمان میگیرند و نیازهای تحت شبکه خود را به کمک آن تامین میکنند.
حال اگر گستره این شبکه را کمی بیشتر و تشکیل شده از تمام کامپیوترهایی که از طریق اینترنت به هم وصل شدهاند بدانیم، با گروه بسیار بزرگی از کامپیوترهای همیشه روشن و در دسترس از طریق اینترنت، روبرو هستیم. سرورهای اینترنتی، اطلاعاتی که در هر زمان از شبانهروز بر روی پهنای اینترنت جستجو میشوند را، در اختیار کاربران قرار میدهند.
پس از این بخش که تعریفی کلی از معنی سرور چیست ، ارائه کردیم در ادامه می خواهیم به بررسی سخت افزار سرور بپردازیم.
کاربرد سرور با ذکر یک مثال سادهکاربرد سروربه عنوان مثال، همانطور که می دانید مرورگر های مختلفی از جمله Chrome، Mozilla Firefox، Opera و… وجود دارند که شما می توانید از آنها استفاده کنید. زمانی که شما در مرورگر خود (به عنوان مثال مرورگر Chrome) به دنبال موضوعی هستید، در این حالت درخواست خود را به مرورگر داده و این مرورگر به سرور مربوطه مراجعه کرده و اطلاعات و داده های لازم را از آن گرفته و به شما تحویل می دهد.
منابع سخت افزاری سرور چیست ؟
با توجه به اینکه حالا میتوانید به راحتی پاسخی برای سوال سرور یعنی چه داشته باشید، بد نیست از مبحث دیگری یاد کنیم که به چیستی منابع سخت افزاری یک سرور اشاره میکند. سوال اصلی این است که منابع سخت افزاری سرور و تنظیمات سرور چیست و چگونه انجام می شود؟
سرور از قطعات سختافزاری خاصی تشکیل شده است که بالاترین پردازش و عملکرد از آنها انتظار میرود. عموما سرورها از پردازندهای قدرتمند با چندین عدد هسته فیزیکی و مجازی، RAM بالا و هارددیسک با فضای ذخیرهسازی چند ترابایتی، تشکیل میشوند.
با توجه به این میزان قدرت و عملکرد، سرور میبایست در فضایی نگهداری شود که بدون هیچگونه اختلال و قطعی به صورت ۲۴ ساعته روشن و به اینترنت وصل باشد. کاربرد سرور با توجه به این ساختار و پاسخگویی به درخواستهای متعدد کاربران، معنا مییابد.
دیتاسنتر چیست ؟در شبکه اینترنت یکی از مهمترین فاکتورها به هنگام دریافت خدمات، سرور یک پایداری محسوب میشود. پس از این در مقاله ای با عنوان دیتا سنتر چیست با مفهوم آن اشنا شده ایم اما در اینجا نیز بصورت اجمالی اشاره ای خواهیم کرد.
محلهای ویژهای در سراسر دنیا با نام دیتاسنتر یا همان مرکز داده، جهت نگهداری از سرور ها احداث میشوند که تمرکز آنها بر روی کیفیت شبکه، پشتیبانی قطعات و نرمافزارهای مورد نیاز است. این مراکز داده بصورت تخصصی، شرایط را برای استفاده از سرورها به دور از قطعی و مشکلات دیگر، فراهم میآورند.
بنابراین “دیتاسنتر” محلی است که صدها و یا هزاران کیس سرور ( برای نگهداری و پردازش اطلاعات مهم در شبکه استفاده می شود) را در رکها (Rack)، کیجها (Cage) و اتاقهای مختلف، جای میدهد. ساختمان دیتاسنتر از بخشهای مختلفی مانند اتاق کنترل، اتاق سرور، ژنراتورها، تاسیسات خنکسازی، انبار سخت افزار، اتاق UPS و Battery Backup، اتاق نگهداری از وسایل اطفای حریق و اتاق مدیریت شبکه تشکیل میشود. این بخشها با توجه به نیازها، طراحی و امکانات و زیرساخت برای هر مرکز داده، کاملا متفاوت خواهند بود.
سیستم عامل سرور چیست ؟سرور ها دارای نرم افزار و سیستم عامل های مختص به خود هستند که بر روی این کامپیوتر ها نصب می شود. از این جمله سیستم عامل سرور می توان به سیستم عامل های توزیع های مختلف Linux و Windows Server اشاره کرد.
همچنین بر اساس ساختاری، به هنگام خرید سرور اختصاصی خارج بایستی بدانید که سرورها به سه دسته Tower ،Rack و Blade تقسیم می شوند که Rack و Blade بیشتر در محیط ها و شبکه های بزرگ مانند ISP ها استفاده می شوند. این سرور ها باید بطور شبانه روزی کار کنند. به همین دلیل برای مراقبت و خنک کردن آنها بهترین روش ها به کار گرفته می شود.
به همین دلیل در هنگام نصب سیستم عامل سرور باید به کاربرد سرور و نرم افزار هایی که بر روی آن نصب شده است توجه داشت. ویندوز سرور نمونه ای است که میتوان در اینجا به آن اشاره کرد.
انواع سیستم عاملهای سرور چیست ؟انواع سیستم عامل های سرور به شرح زیر است:
لینوکس: تمامی توزیعات لینوکس مانند CentOS، Debian و…ویندوز: تمامی نسخههای مختلف ویندوز مانند Windows Server 2012، windows Server2016 یا نسخههای قدیمی ۲۰۰۸مجازیساز: نرمافزار مجازیسازVmware ESX و Hyper-v ، KVM و…
ویژگی های سرور انحصاریبودن منابع سختافزاریقابلیت افزایش و ارتقا سختافزار سروراتصال دائمی به اینترنتسرعت عملکرد بسیار بالاقدرت پردازش و قدرت محاسباتی سریعامنیت بالاامکان پیادهسازی Raid نرمافزاری و سختافزاری، بر روی سرور
انواع تنظیمات سرور چیست؟همانطور که می دانید، سرور یک کامپیوتر قدرتمند و همیشه روشن میباشد که از یکسری منابع سخت افزاری و نرم افزاری تشکیل شده است و نیاز به تنظیمات و نگهداری دارد. در واقع، میتوان با اجرای تنظیمات مناسب برای سرور، به نوعی ساختار آن را معماری کرد و استفاده بهتری از منابع آن برد. به عبارت دیگر، با استفاده از تنظیمات سرور، نحوه برقراری ارتباط و میزان دسترسی کاربر به منابع سرور را مشخص میکنیم. در اینجا چند نمونه از روشهای تنظیم کردن سرور را بیان کردهایم:
_ ساده ترین شکل تنظیم یک سرور، این است که تمامی منابع آن شامل برنامه نرمافزاری، پایگاه داده و… را در یک محیط قرار دهید. در این روش که به سرعت قابل اجرا است، کاربر ارتباط مستقیمی با سرور دارد. البته عیب یابی این نوع تنظیم کمی مشکل می باشد.
_ میتوان پایگاه داده را از روی اینترنت جدا کرد و ارتباط کاربر با آن را از طریق یک برنامه سرور برقرار نمود. با انجام این کار امنیت و محافظت از بانک اطلاعاتی داده ها افزایش می یابد. از طرفی، اگر پهنای باند و سایر شرایط مناسب برای برقراری ارتباط بین سرور پایگاه داده و سرور برنامه وجود نداشته باشد موجب عملکرد ضعیفی میشود.
_ نوع دیگری از تنظیمات سرور، استفاده از لود بالانسر میباشد. اگر بخواهید چندین برنامه را بر روی یک دامنه ارائه دهید، این روش مناسب خواهد بود. البته، اگر لود بالانسر که رابط بین کاربر و محیط اصلی سرور است، کار نکند، عملکرد برنامه و ارائه خدمات مختل میشود.
_ تکثیر پایگاه داده، روش دیگری می باشد. ساختار این روش، شباهت زیادی به روش قبلی(لود بالانسر) دارد. با این تفاوت که برای هر سرور، یک پایگاه داده قابل خواندن تکثیر می شود. به روز رسانی پایگاه داده(نوشتن)، از طریق سروری که به عنوان Master تعیین شده است، انجام میشود و امکان خواندن برای سایر سرورها وجود دارد. بنابراین، با نقص در سرور Master عمل به روز رسانی پایگاه داده، به تأخیر میافتد.
آوای جنوب
با دستور ذیل میتوانید کلیه دیتابیس های روی سرور را بهینه و تعمیر کنید:
mysqlcheck -Aop -uroot
همچنین دستور زیر هم همین کار را انجام میدهد
mysqlcheck -u root -p --auto-repair --optimize --all-databases
در مقاله قبلی به نحوه ریدایرکت از https به http در هاست سی پنل پرداختم که در صورت استفاده از هاست سی پنل میتونستید بازدیدکنندگان سایت را از آدرس سایت با SSL به آدرس سایت بدون SSL و به صورت 301 ریدایرکت کنید. حالا در این آموزش هم قصد دارم به نحوه انجام دارم این کار در هاست دایرکت ادمین بپردازم. گاهی اوقات لازم میشه ریدایرکت https به http را در هاست دایرکت ادمین خودتون فراهم کنید تا کاربرانی که به آدرس سایت که همراه با HTTPS است وقتی وارد میشوند به صورت خودکار به آدرس سایت با HTTP هدایت شوند. یا اینکه در حالت برعکس کاربران را از HTTP به HTTPS در هاست دایرکت ادمین ریدایرکت کنید. دلایل مختلفی هم میتونه برای ریدایرکت سایت در دو حالت http و https وجود داشته باشه که از جمله این دلایل میشه به نصب SSL در هاست سی پنل یا حذف SSL اشاره کرد.
در این آموزش از پایگاه دانش میزبانفا قصد دارم به معرفی نحوه ریدایرکت کاربران در سایت از پروتکل امن HTTPS به HTTP بپردازم که با استفاده از این آموزش میتونید کاربران را از آدرس خودتون که به صورت HTTPS://site.com هست به آدرس سایت با HTTP://site.com به صورت ریدایرکت 301 هدایت کنید. در این مقاله هم به معرفی دو روش که با استفاده از htaccess. و استفاده از افزونه برای سایتهای وردپرسی هست خواهم پرداخت که میتونید عملیات ریدایرکت در هاست دایرکت ادمین را فراهم کنید.
آموزش ریدایرکت https به http در هاست دایرکت ادمین
برای ریدایرکت کاربران از پروتکل امن HTTPS به HTTP یکی از بهترین راهکارها استفاده از فایل htaccess. هست که در هر سیستم مدیریت محتوایی وجود دارد. برای این منظور باید کدهایی را در فایل htaccess قرار دهید. ابتدا وارد هاست خودتون شده و سپس روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایلها در هاست دایرکت ادمین هدایت شوید.
بعد از اینکه وارد فایل منیجر هاست شدید به مسیر Public_html مراجعه کرده و به دنبال فایلی با نام htaccess. بگردید. سپس روی دکمه Edit که در مقابل این فایل قرار داره مشابه تصویر زیر کلیک کنید تا صفحه ویرایش فایل htaccess. بهتون نمایش داده بشه.
بعد از اینکه وارد صفحه ویرایشگر شدید کدهای زیر را داخل آن قرار داده و ذخیره کنید.
# Redirect HTTPS to HTTP
RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
همانطور که در قطعه کدهای بالا میبینید ریدایرکت از HTTPS به HTTP انجام میگیره که هر زمان کاربری به آدرس سایت که SSL در اون نصب شده وارد بشه به صورت خودکار به آدرس سایت بدون SSL هدایت خواهد شد.
توجه داشته باشید که، اگر فایل htaccess. در هاست شما وجود نداشت کافیه با استفاده از برنامههای ویرایشگر متن مثل notepad یک فایل با نام htaccess. بسازید و بعد از اینکه کدهای بالا را درون فایل قرار دادید در مسیر public_html هاست آپلود کنید.
چند روش برای optimize و repair کردن دیتابیس های موجود در سرور لینوکس و directadmin برای شما عزیزان آماده کرده ام . منبع اصلی اموزش ها iranserver.com میباشد.
آموزش دایرکت ادمین .برای optimize و repair تمامی دیتابیس های موجود در سرور میتوانید تنها با استفاده از دستور زیر بدون نیاز به وارد کردن user و password سرویس mysql خود ، به صروت خودکار شروع به repair و optimize تمامی دیتابیس های موجود میکند .
mysqlcheck -uda_admin -p`grep "^passwd=" /usr/local/directadmin/conf/mysql.conf | cut -d= -f2` --auto-repair --all-databases ; mysqlcheck -uda_admin -p`grep "^passwd=" /usr/local/directadmin/conf/mysql.conf | cut -d= -f2` --optimize --all-databases
برای دریافت نام کاربری و رمز عبور اصلی mysql سرور خود میتوانید ار دستور زیر استفاده کنید :
cat /usr/local/directadmin/conf/mysql.conf
برای repair تمامی دیتابیس های موجود در سرور از دستور :
mysqlcheck -u da_admin -p --auto-repair --all-database
برای optimize تمامی دیتابیس های موجود در سرور از دستور :
mysqlcheck -u root -p --optimize --all-database
توجه داشته باشید 2 دستور بالا نیاز به رمز عبور اصلی mysql دارد که در دستورات بالا نحوه به دست آوردن ان را توضیح دادیم .
برای repair و optimize تنها یک دیتابیس مورد نظر میتوانید از دستور زیر استفاده کنید .
mysqlcheck -u da_admin -p --auto-repair NAMEDB
mysqlcheck -u da_admin -p --optimize DBNAME
چگونه تعمیر table دیتابیس از طریق SSH
توجه داشته باشید Mysql server باید در حال اجرا باشد.با استفاده از دستور زیر می توانید وضعیت آن را بررسی نمایید:
/etc/init.d/mysql status
اکنون با استفاده از دستور زیر به دیتابیس login میکنیم.
mysql> mysql –u databaseusername –p database password databasename
اکنون دیتابیس مورد نظر که مشکل دارد را بصورت زیر انتخاب می نماییم:
;mysql> use databasename
حال با استفاده از دستور زیر بررسی می نماییم که آیا table مورد نظر مشکل دارد یا خیر:
;mysql> check table tablename
اگر پس از اجرای دستور مقدار NULL به عنوان خروجی قرار گرفت یعنی table خراب است در غیر اینصورت مشکلی ندارد.در صورتی که table مشکل داشت برای تعمیر آن از دستور زیر استفاده می نماییم:
;mysql> repair table tablename
اکنون table شما تعمیر میشود.
همچنین میتوانید با استفاده از دستورات زیر در محیط اصلی ssh اعمال optimize , check و repair را یکباره روی کل table ها انجام دهید.
برای repair :
mysqlcheck -u username -p --auto-repair dbanem
برای optimize
mysqlcheck -u username -p --optimize dbanem
برای check
mysqlcheck -u username -p --check dbanem
mysqlcheck -u da_admin -p --auto-repair --all-database
در این آموزش قصد داریم به دستورات restart سرویس های مختلف (وب سرور ، فایروال و ..) توسط ssh در کنترل پنل دایرکت ادمین اشاره کنیم .
برای restart سرویس های مختلف در دایرکت ادمین ابتدا توسط نرم افزار putty وارد ssh شوید و دستورات زیر را وارد کنید.
1- Restart Mysql Server (دیتابیسها)
service mysqld restart
2 – Restart وب سرور :– در صورتی که وب سرور آپاچی باشد
service httpd restart
– در صورتی که وب سرور لایت اسپید باشد
service lsws restart
در صورتی که وب سرور Nginx باشد
service nginx restart
3 – Restart فایروال و iptables
service lfd restart
4 – Restart سرویس SSH
service sshd restart
5 – Restart سرویس exim
service exim restart
6 – Restart دایرکت ادمین
service directadmin restart