Adinvite friends
لینوکس

آموزش پیکربندی سرور مجازی و اختصاصی لینوکس

مدیریت سرور مجازی و اختصاصی لینوکس از طریق SSH

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

SSH مخفف عبارت Secure Socket Shell است. یک پروتکل اینترنتی که کمک می‌کند دو کامپیوتر، از طریق روشی امن، روی یک شبکه ناامن به یکدیگر متصل شوند.

طریقه وصل شدن به SSH

ابتدا putty را از اینجا دانلود و نصب کنید .

پس از اجرا پنجره تنظیمات آن جهت اتصال به سرور نمایان می شود.

در قسمت Hostname or IP address آی پی و یا Hostname سرور و یا VPS را بنویسید.

و در مقابل آن پورت مورد نظر برای اتصال را وارد کنید که در سرور های لینوکس این پورت به صورت پیشفرض 22 می باشد و همچنین پورت اتصال برای مدیریت Hypervm به صورت پیشفرض 3131 می باشد.

قسمت Protocol را بر روی SSH گذاشته و سپس بر روی Open کلیک کنید.

سپس در پنجره باز شده نام کاربری را که معمولا root می باشد را به همراه رمز عبور وارد کنید.

و به مدیریت سرور بپردازید.

آموزش نصب اکستنشن gmp در Php

ابتدا آخرین نسخه این افزونه را از لینک زیر دانلود نمایید:

https://gmplib.org/

سپس اقدام به نصب و کامپایل آن نمایید:

cd /usr/local/directadmin/custombuild/
wget https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2
tar xvvf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
./configure ;make;make install

پس از نصب لازم است که تغییراتی در فایل config php ایجاد شود و سپس مجدد php build شود. حال وارد مسیر زیر شده

cd /usr/local/directadmin/custombuild/configure/

مطابق php handler نصب شده در سرور وارد دایرکتوری مربوطه شده، در حال حاضر بیشتر هندلر ها از suphp استفاده می کنند لذا وارد این پوشه شده

cd suphp/

مطابق نسخه Php خود فایل مورد نظر را با nano باز نمایید:

nano configure.php5

بین خطوط میانی این فایل عبارت زیر را وارد نمایید:

“–with-gmp” \

فایل را ذخیره و php را مجدد کامپایل نمایید.

cd /usr/local/directadmin/custombuild
screen ./build php –n

آموزش نصب پایتون python در لینوکس

نصب پایتون در Centos

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

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel
yum install libffi-devel

آخرین نسخه python را از اینجا دانلود نموده و جایگزین مسیر ذکر شده در دستور wget نمائید.(توجه داشته باشید در دستورات زیر آخرین نسخه جایگزین3.7.1کنید)

cd /usr/src/
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
tar zxvf Python-3.7.1.tgz
cd Python-3.7.1
./configure –enable-optimizations
make
make altinstall

با توجه به این که نسخه ی نصب شده ی پیش فرض روی سیستم عامل گلینوکس نسخه ی 2 است، در صورتی که صرفا دستور python را تایپ کنیم نیز نسخه ی 2 زبان پایتون در معرض دید ما قرار خواهد گرفت اما اگر به هر حال بخواهیم در دستور خود نسخه ی مد نظر را نیز بگنجانیم، می توانیم از دستورات python2 برای نسخه ی قدیمی پایتون و python3 و یا python3.x —version(بجای 3.x نسخه مورد نظر نیاز است درج شود) برای نسخه ی جدید پایتون به علاوه version– استفاده کنیم.

python –version
python2 –version
python3 –version

خروجی دستورات فوق به ترتیب به صورت زیر خواهد بود:

Python 2.7.0
Python 2.7.0
Python 3.7.0

پیدا کردن فایل‌های حجیم در سرورهای لینوکس از طریق SSH

پس از اتصال به سرور شما ابتدا نیاز است که از کد دستوری df -h استفاده کنید و وضعیت هارد سرور و درصد فضای اشغال شده از هارد را مورد بررسی قرار دهید.

در توزیع های RedHat / CentOS / Fedora از دستور زیر استفاده کنید:

“find {/path/to/directory/} -type f -size +{size-in-kb}k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’

برای پیدا کردن فایلهای بیش از ۵۰MB در پوشه فعلی از دستور زیر استفاده کنید:

$ find . -type f -size +50000k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’

جهت جستجو در پوشه /var/log/ از دستور زیر استفاده کنید:

# find /var/log -type f -size +100000k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’

در توزیع های Ubunto / Linux از دستور زیر استفاده کنید:

find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} \; | awk ‘{ print $8 “: ” $5 }’

و برای جستجو در پوشه فعلی:

$ find . -type f -size +10000k -exec ls -lh {} \; | awk ‘{ print $8 “: ” $5 }’

نمونه خروجی:

./.kde/share/apps/akregator/Archive/http___blogs.msdn.com_MainFeed.aspx?Type=AllBlogs.mk4: 91M
./out/out.tar.gz: 828M
./.cache/tracker/file-meta.db: 101M
./ubuntu-8.04-desktop-i386.iso: 700M
./MSH/out/mp3/Shadmani: 230M

دستورات فوق فایلهایی را که بیش از ۱۰۰۰۰ کیلوبایت حجم دارند را نمایش می دهند.

جهت پیدا کردن کلیه فایلهایی که در پوشه Home هستند و حجم آنها کمتر از ۵۰۰ بایت می باشد از دستور زیر استفاده کنید:

$ find $HOME -size -500b

یا

$ find ~ -size -500b

برای پیدا کردن فایلهایی که حجم آنها دقیقا ۲۰ بلوک ۵۱۲ بایتی می باشد از دستور زیر استفاده کنید:

# find / -size 20

حذف فایل و فولدرها از طریق ssh

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

کد:

rm

این دستور بنظر ساده و آسان است ولی بسیار کاربردی می باشد.به مثال زیر توجه کنید :

کد:

rm myFile.txt myFile1.txt myFile2.txt …etc…

باید از طریق ssh وارد پوشه مورد نظر بشوید و فایل ها و فولدرهای دلخواه را مانند بالا وارد کنید و حذف کنید.اما وارد کردن نام همه فایل ها و فولدرهای موجود در یک پوشه وقت گیر است و خوشبختانه دستور (command) فوق یعنی rm چند arguments و روش دیگر برای راحتی استفاده دارد.
به مثال زیر دقت کنید :

کد:

rm myFile*.txt

در مثال بالا تمام فایل های موجود در پوشه مورد نظر را که با myFile شروع شده اند و دارای پسوند .txt هستند رو میتوان یکجا حذف کرد.

برای پاک کردن یک پوشه و محتویات آن میتوانید از دستور زیر استفاده کنید :

کد:

rm -rf foldername/

توجه داشته باشید که در دستور بالا فولدر و محتویان آن کلا حذف میشود و باید با دقت استفاده کنید.

برای حذف تمامی فایل ها و فولدرهای موجود در دایرکتوری جاری (دایرکتوری که در آن هستید) میتوانید از دستور زیر استفاده کنید :

کد:

rm -rf *

این دستورات با اینکه ساده و کاربردی هستند اگر اشتباها استفاده کنید خطرناک نیز هستند و ممکن است دچار مشکل شوید پس حتما قبل از اجرا دقیقا مطمئن شوید دایرکتوری و فایل ها رو برای حذف درست انتخاب کرده اید !

ساخت پوشه جدید

برای ساخت یک پوشه (Folder) جدید در پوشه فعلی (Current Working Directory)، می توانیم دستور mkdir را به کار ببریم.

برای این منظور، دستور mkdir به صورت زیر به کار می رود :

mkdir parsfre

که در آن، نام پوشه (Folder) جدید که ساخته می شود را برابر parsfre انتخاب کرده ایم.

نکته:

با دستور chown می توانیم موارد UID و GID مربوط به پوشه ساخته شده (و یا حتی فایل ها و پوشه های درون آن، اگر قبلا فایل ها و پوشه هایی را در آن قرار داده اید) را به کاربر (User) دیگری بدهیم (برای امکان استفاده و دسترسی آن کاربر) (دستور زیر برای کاربر با نام myuser) :

chown -R myuser:myuser parsfre

تعمیر جداول دیتابیس

دلایل کرش دیتابیس در Mysql

1- پر شدن فضای سرور
2- وجود مشکل در سیستم عامل
3- مشکل برق
4- مشکل سخت افزاری
5- متوقف شدن ناگهانی سرویس Mysql

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

پس از ورود به سرور از طریق ssh با استفاده از دستور زیر سرویس Mysql را متوقف کنید.

Ubuntu and Debian
service mysql stop

CentOS and Fedora
service mysqld stop

سپس دستور زیر را اجرا نمایید:

cp -rfv /var/lib/mysql /var/lib/mysql.bak

با اجرای دستور فوق یک بک آپ از پوشه Mysql سرور شما که شامل تمامی دیتابیس ها می باشد در پوشه mysql.bak ذخیره می شود.

توجه: با اجرای دستور فوق و ذخیره بک آپ، از تغییر نسخه Mysql خودداری نمایید چرا که با تغییر نسخه Mysql امکان استفاده از بک آپ موجود در پوشه Mysql.bak وجود نخواهد داشت.

در نهایت با دستور زیر سرویس Mysql را مجدد راه اندازی نمایید:

Ubuntu and Debian
service mysql start

CentOS and Fedora
service mysqld start

پس از اینکه از اطلاعات دیتابیس بک آپ تهیه کردید می توانید جهت تعمیر دیتابیس اقدام نمایید.

تعمیر جداول دیتابیس چه مدت زمان بر است؟

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

تعمیر جداول دیتابیس از طریق SSH

پس از ورود به Mysql server از طریق SSH دستور زیر را اجرا نمایید:

mysqlcheck -r database name

در نظر داشته باشید که به جای database name باید نام دیتابیس خود را وارد کنید.

مشکل Disk quota در directadmin

System Quotas is extremely large

در صورتی که حجم مصرف شده هاست شما کمتر از میزان نشان داده شده در Directadmin می باشد برای رفع این مشکل باید وارد مسیر زیر شوید:

cd /usr/local/directadmin

دستور زیر را اجرا نمایید:

echo “action=tally&value=username&type=user” >> data/task.queue

بجای username نام کاربری اکانت مورد نظر را وارد کنید.

برای debug فرایند انجامی دستور زیر را می توانید اجرا نمایید:

./dataskq d800

برای بروز شدن حجم تمام اکانت های روی سرور دستورات زیر را اجرا نمایید:

repquota /
/usr/sbin/repquota /home
/sbin/quotaoff -a; /sbin/quotacheck -avugm; /sbin/quotaon -a;
echo “action=tally&value=all” >> /usr/local/directadmin/data/task.queue

حذف تمام ایمیل های در صف ارسال Exim

Exim Remove all message from Queue

برای نمایش تعداد پیغام های موجود در صف:

exim –bpc

نمایش لیست تمام پیغام ها:

exim -bp

برای حذف یک پیغام خاص از صف ارسال:

exim -Mrm {message-id}

برای حذف تمام پیغام های صف ارسال:

exim -bp | awk ‘/^ *[0-9]+[mhd]/{print “exim -Mrm ” $3}’ | bash

و یا

exim -bp | exiqgrep -i | xargs exim -Mrm

به یک ابزار رابط کاربری گرافیکی خوب برای MySQL نیاز دارید؟ TablePlus یک ابزار مدرن و بومی با رابط کاربری زیبا است که به شما امکان می دهد چندین پایگاه داده مانند MySQL، PostgreSQL، SQLite، Microsoft SQL Server و غیره را به طور همزمان مدیریت کنید.

Download TablePlus for Mac.

Not on Mac? Download TablePlus for Windows.

On Linux? Download TablePlus for Linux

Need a quick edit on the go? Download TablePlus for iOS.

نمایش بیشتر
فریلنسر | کسب درآمد

دیدگاهتان را بنویسید

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

دکمه بازگشت به بالا