در این آموزش، مراحل مورد نیاز برای میزبانی وبسایت شما بر روی یک VPS لینوکس را بررسی خواهیم کرد. این مراحل شامل انتخاب یک ارائهدهنده VPS خوب ، راهاندازی محیط سرور، نصب وب سرور، استقرار فایلهای وبسایت و مدیریت تنظیمات دامنه و DNS برای دسترسی آنلاین به سایت شما میشود.
چرا به یک ارائه دهنده VPS نیاز دارید؟ #
یک ارائه دهنده VPS زیرساخت لازم برای میزبانی وب سایت شما را در یک محیط اختصاصی در اختیار شما قرار میدهد. برخلاف میزبانی اشتراکی، VPS در پیکربندی منابع با توجه به نیازهای شما، کنترل کامل، عملکرد بهتر و انعطافپذیری بیشتری را به شما میدهد. عملکرد سریعتر وبسایت و امنیت بهتر، رتبهبندی بالاتری را در موتورهای جستجو به همراه دارد. بنابراین، انتقال به میزبانی VPS میتواند مستقیماً تلاشهای سئو شما را بهبود بخشد. علاوه بر این، در میزبانی اشتراکی، عملکرد ایمیل میتواند تحت تأثیر ارسال هرزنامه توسط سایر کاربران یا سوءاستفاده از منابع قرار گیرد. میزبانی VPS کنترل بهتری بر سیستم ایمیل شما فراهم میکند.
ارائه دهندگانی مانند NovinHost پلنهای VPS مقیاسپذیر با پشتیبانی عالی ارائه میدهند که به شما امکان میدهد محیط سرور را با نیازهای وبسایت خود سفارشی کنید.
پیش نیازها #
قبل از اینکه میزبانی وبسایت خود را روی یک VPS لینوکس شروع کنید، موارد خاصی باید رعایت شوند.
- یک نام دامنه ثبت کنید که بازدیدکنندگان از طریق آن به سایت شما دسترسی پیدا کنند.
- برای مدیریت سرور خود، به یک اتصال اینترنتی پایدار و پرسرعت نیاز دارید.
- با یک ارائه دهنده VPS معتبر مانند نوین هاست ثبت نام کنید.
- یک VPS با منابع کافی برای وبسایت خود انتخاب کنید، حداقل ۱ گیگابایت رم برای وبسایتهای سبک، یک پردازنده چند هستهای برای عملکرد بهتر و فضای ذخیرهسازی کافی برای فایلها و پایگاه داده وبسایت شما.
مراحل فوق را نمیتوان نادیده گرفت و به عنوان پایه و اساس سیستم میزبانی وب سایت شما عمل میکنند .
چگونه یک وبسایت را روی VPS لینوکس میزبانی کنیم؟ #
اکنون که پیشنیازها را تکمیل کردهاید، در موقعیت خوبی برای اجرای این فرآیند هستید. مراحل ذکر شده در زیر را برای راهاندازی موفقیتآمیز وبسایت خود دنبال کنید.
مرحله ۱: راه اندازی VPS لینوکس #
اولین کاری که باید انجام دهید، راهاندازی محیط سرور است. برای این کار، باید توزیعی را انتخاب کنید که متناسب با نیازهای شما باشد. رایجترین توزیعهایی که برای میزبانی وب مناسب هستند عبارتند از اوبونتو، سنتاواس و دبیان. اوبونتو برای مبتدیان بسیار توصیه میشود زیرا کار با آن آسان است و جامعه بزرگی در پشت آن قرار دارد.
سپس، با استفاده از SSH و با استفاده از اطلاعات کاربری ارائه دهنده VPS خود، به VPS خود دسترسی پیدا کنید. اکنون میتوانید از راه دور به ترمینال سرور خود متصل شوید، جایی که تمام پیکربندیها را انجام خواهید داد.
با اجرای دستور، یک کاربر جدید با امتیازات محدود برای اهداف امنیتی ایجاد کنید adduserو سپس یک رمز عبور ایمن تنظیم کنید. به دلیل نگرانیهای امنیتی، نباید از حساب کاربری پیشفرض root برای عملیات روزانه استفاده کرد.
اکنون، سرور خود را با یک فایروال پیکربندی کنید تا از دسترسی غیرمجاز محافظت شود. از یک ابزار ساده مانند UFW برای تنظیم قوانین اولیه فایروال استفاده کنید. پورتهای مورد نیاز را برای عملکرد مناسب مجاز کنید – SSH برای ورود از راه دور روی پورت ۲۲، HTTP برای وب روی پورت ۸۰ و HTTPS برای ترافیک وب ایمن روی پورت ۴۴۳.
همیشه مطمئن شوید که فایروال شما با سایر سیاستها یا رویههای امنیتی خاص مربوط به سرور شما مطابقت دارد. اکنون آمادهاید تا تنظیمات بیشتری را روی سرور مجازی لینوکس خود انجام دهید.
مرحله دوم: راهاندازی وب سرور #
پس از راهاندازی یک VPS لینوکس، مرحله بعدی نصب یک وب سرور است که میزبان وبسایت شما باشد. دو گزینهای که طبیعتاً به ذهن خطور میکنند آپاچی و انجینایکس هستند. آپاچی بسیار انعطافپذیر و دارای مستندات خوبی است. بنابراین، انتخابی عالی برای یک مبتدی است. انجینایکس به دلیل عملکردش در مدیریت بارهای بالا شناخته شده است و از این رو بهترین انتخاب برای وبسایتهای مقیاسپذیر است.
برای نصب آپاچی روی سرور مجازی لینوکس خود، دستور زیر را در ترمینال خود اجرا کنید.
sudo apt-get update
sudo apt-get install apache2
برای Nginx، این را اجرا کنید.
sudo apt update
sudo apt install nginx
وب سرور شما باید پس از نصب به طور خودکار شروع به کار کند. فقط برای تأیید، سعی کنید از طریق یک مرورگر وب به آدرس IP سرور مجازی خود دسترسی پیدا کنید. اگر آپاچی را نصب کردهاید، این باید صفحه پیشفرض آپاچی۲ اوبونتو را به شما نشان دهد. اگر Nginx را نصب کردهاید، باید یک صفحه خوشامدگویی به شما نشان دهد که نصب موفقیتآمیز را تأیید میکند.
شما میتوانید با اجرای دستور زیر مطمئن شوید که با شروع سیستم، وب سرور به طور خودکار راهاندازی میشود.
برای آپاچی:
sudo systemctl enable apache2
برای نگینکس:
sudo systemctl enable nginx
با راهاندازی و اجرای وب سرور، یک قدم به میزبانی وبسایت خود نزدیکتر شدهاید.
مرحله ۳: تست وب سرور #
پس از نصب وب سرور، باید عملکرد آن را آزمایش کنید. یک مرورگر وب باز کنید و آدرس IP عمومی سرور خود را وارد کنید. روش دیگر، استفاده از دستور زیر برای بررسی پاسخ است.
curl -I localhost
با این حال، اگر از دستگاه دیگری به سیستم دسترسی دارید، میتوانید از دستور زیر استفاده کنید.
curl -I server-ip
شما باید هدرهای HTTP را مشاهده کنید که تأیید میکنند وب سرور در حال اجرا است، مانند ۲۰۰ OK یا ۳۰۱ Moved permanent برای Nginx. اگر همه چیز به درستی کار میکند، میتوانید ادامه دهید.

در مرورگر وب، آدرس IP یا نام دامنه سرور را وارد کنید. صفحه خوشامدگویی زیر را مشاهده خواهید کرد:
برای آپاچی #

برای Nginx #

مرحله ۴: تنظیم نام دامنه #
اکنون باید یک نام دامنه را به VPS خود متصل کنید. به این ترتیب، بازدیدکنندگان میتوانند به جای آدرس IP سرور شما، با استفاده از یک نام آشنا به وبسایت شما دسترسی پیدا کنند.
ابتدا، یک نام دامنه از یک ثبتکننده دامنه مانند GoDaddy، Namecheap یا Google Domains خریداری کنید. پس از خرید دامنه، باید DNS آن را از طریق کنترل پنل ثبتکننده خود پیکربندی کنید. یک رکورد ‘A’ ایجاد کنید تا نام دامنه به IP عمومی نمونه VPS شما اشاره کند. آدرس IP VPS خود را در رکورد ‘A’ مشخص کنید. برای دامنه ریشه، آن را خالی بگذارید یا از نام میزبان به عنوان زیر دامنه استفاده کنید.
بهروزرسانیهای DNS ممکن است چندین ساعت طول بکشد تا در کل اینترنت منتشر شوند. نام دامنه خود را در یک مرورگر وب وارد کنید تا اتصال بررسی شود. اگر همه چیز به درستی پیکربندی شده باشد، صفحه پیشفرض وب سرور باید برای شما نمایش داده شود. همچنین میتوانید دستور جستجوی DNS را از ترمینال اجرا کنید.
dig yourdomain.com
این نشان میدهد که آیا دامنه به درستی به VPS شما اشاره میکند یا خیر. اگر IP صحیح ذکر شده باشد، دامنه شما با موفقیت متصل شده است و شما آمادهاید تا به پیکربندی وبسایت خود ادامه دهید.
مرحله ۵: راهاندازی پایگاه داده #
اکثر وبسایتها برای ذخیره و مدیریت محتوا به پایگاههای داده متکی هستند. بنابراین، با دقت مطالعه کنید و پایگاه داده را بر اساس آن تنظیم کنید. برای وبسایتها، MySQL و MariaDB احتمالاً محبوبترین DBMSهای متنباز هستند. MariaDB انشعابی از MySQL است و همیشه برای استفاده در محیط تولید توصیه میشود زیرا پیشرفتهای زیادی در عملکرد و امنیت دارد. در حالی که هر دو گزینه عالی هستند، این مقاله بر روی MySQL تمرکز خواهد کرد.
حالا، بیایید پایگاه داده را روی سرور مجازی لینوکس خود راهاندازی کنیم. با بهروزرسانی لیست بستههای خود و نصب سرور MySQL شروع کنید.
sudo apt update
sudo apt install mysql-server -y
پس از اتمام نصب، MySQL به طور خودکار شروع به کار میکند. میتوانید با بررسی وضعیت سرویس، این موضوع را تأیید کنید.
sudo systemctl status mysql

پس از تأیید اجرای MySQL، به عنوان کاربر ریشه (root) وارد پوسته MySQL شوید .
sudo mysql -u root -p
با دستور زیر یک پایگاه داده جدید برای وب سایت خود ایجاد کنید.
CREATE DATABASE my_website_db;
در مرحله بعد، یک کاربر ایجاد کنید و مجوزهای لازم برای دسترسی و مدیریت پایگاه داده را به آن اعطا کنید.
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'securepassword';
GRANT ALL PRIVILEGES ON my_website_db.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
برای امنیت بیشتر، اسکریپت mysql_secure_installation را اجرا کنید.
sudo mysql_secure_installation
حتماً یک سیاست اعتبارسنجی رمز عبور قوی تنظیم کنید.

در مرحله بعد، این اسکریپت شما را در ایمنسازی نصب MySQL با حذف تنظیمات پیشفرض ناامن، تنظیم رمز عبور root و موارد دیگر راهنمایی میکند. پس از اتمام، پایگاه داده MySQL شما آماده استفاده خواهد بود و مدیریت دادههای ایمن و کارآمد را برای وبسایت شما تضمین میکند.

مرحله ششم: آپلود فایلهای وبسایت #
بلافاصله پس از تنظیم پایگاه داده، باید فایلهای وبسایت خود را در VPS لینوکس خود آپلود کنید. فایلها را میتوان با استفاده از روشهای امنی مانند SCP، FTP یا SFTP منتقل کرد. کاربران خط فرمان SCP را ترجیح میدهند، در حالی که FTP یا SFTP رابط کاربری سادهای را برای کسانی که ابزارهای گرافیکی را ترجیح میدهند، ارائه میدهد.
قبل از آپلود، یک ساختار دایرکتوری خوب روی سرور خود ایجاد کنید. فایلهای وبسایت معمولاً در /var/www/دایرکتوری نگهداری میشوند. میتوانید با اجرای دستور زیر، یک پوشه برای وبسایت خود ایجاد کنید.
sudo mkdir -p /var/www/mywebsite
پس از تنظیم دایرکتوری، فایلهای خود را با استفاده از روش انتخابی خود منتقل کنید. حتماً فایلهای HTML، CSS، جاوا اسکریپت و سایر فایلهای خود را در این پوشه آپلود کنید.
پس از آپلود، مجوزهای فایل مناسب را برای اطمینان از امنیت پیکربندی کنید. از دستور chmod برای اعطای دسترسی لازم استفاده کنید.
sudo chmod -R 755 /var/www/mywebsite
این امر تعادل مناسبی از دسترسی و امنیت را برای فایلهای وبسایت شما تضمین میکند.
مرحله ۷: پیکربندی وب سرور شما #
برای اطمینان از اینکه وب سرور شما به درستی وبسایت شما را ارائه میدهد، هاستهای مجازی را برای آپاچی یا بلوکهای سرور را برای Nginx پیکربندی کنید.
برای آپاچی، یک فایل میزبان مجازی در /etc/apache2/sites-available/دایرکتوری ایجاد کنید. در اینجا نحوه تنظیم آن آمده است.
sudo nano /etc/apache2/sites-available/mywebsite.conf
پیکربندی زیر را اضافه کنید و به جای mywebsite.com، دامنه خود را قرار دهید.
<VirtualHost *:80>
ServerAdmin webmaster@mywebsite.com
ServerName mywebsite.com
DocumentRoot /var/www/mywebsite
</VirtualHost>
ErrorLog ${APACHE_LOG_DIR}/mywebsite.com-error.log
CustomLog ${APACHE_LOG_DIR}/mywebsite.com-access.log combined
سایت را فعال کنید و آپاچی را مجدداً راهاندازی کنید.
sudo a2ensite mywebsite.conf
sudo systemctl restart apache2
برای Nginx، یک ساختار دایرکتوری برای فایلهای وبسایت خود ایجاد کنید. در این مثال، من آن را در /var/wwwدایرکتوری ایجاد خواهم کرد.
sudo nano /var/www/mywebsite/html
مطمئن شوید که فایلهای HTML، CSS، جاوا اسکریپت و سایر فایلهای مهم را در این پوشه آپلود کردهاید.
سپس، یک بلوک سرور در ایجاد کنید /etc/nginx/sites-available/.
sudo nano /etc/nginx/sites-available/mywebsite
خطوط کد زیر را اضافه کنید:
server {
listen 80;
server_name mywebsite.com www.mywebsite;
root /var/www/mywebsite.com/public_html;
index index.html;
access_log /var/log/nginx/mywebsite.com.access.log;
error_log /var/log/nginx/mywebsite.com.error.log;
}
در مرحله بعد، یک پیوند نمادین برای فعال کردن سایت ایجاد کنید. پیوند نمادین به Nginx اجازه میدهد تا پیکربندی شما را تشخیص داده و آن را در سایتهای فعال خود قرار دهد.
sudo ln -s /etc/nginx/sites-available/mywebsite
/etc/nginx/sites-enabled/
پس از ایجاد پیوند نمادین، برای اعمال تغییرات، باید Nginx را مجدداً راهاندازی کنید.
sudo systemctl restart nginx
با دسترسی به دامنه خود، پیکربندی را آزمایش کنید. اگر همه چیز به درستی تنظیم شده باشد، وبسایت شما باید فعال باشد.
مرحله ۸: ایمن سازی وب سایت با SSL #
چگونه میتوانید از دادههای رد و بدل شده بین بازدیدکنندگان و سرور خود محافظت کنید؟ رمزگذاری SSL راه حل است. این رمزگذاری از دادههای بین سرور و بازدیدکنندگان شما محافظت میکند، حریم خصوصی آنها را ایمن نگه میدارد و حتی رتبه سئو شما را افزایش میدهد. این روزها، اگر یک فروشگاه آنلاین یا هر برنامه وب مدرنی را اداره میکنید، گواهینامه SSL بیشتر شبیه یک ضرورت است. خوشبختانه، Let’s Encrypt، یک مرجع صدور گواهینامه، مراحل راهاندازی را آسانتر میکند و کاملاً رایگان است! علاوه بر این، نصب ابزار Certbot تنها کاری است که برای خودکارسازی فرآیند نصب SSL لازم است.
برای آپاچی:
sudo apt-get install certbot python3-certbot-apache
برای Nginx:
sudo apt-get install certbot python3-certbot-nginx
سپس، درخواست گواهی SSL بدهید.
برای آپاچی:
sudo certbot --apache
برای Nginx:
sudo certbot --nginx
برای تکمیل نصب، دستورالعملها را دنبال کنید.
گواهینامههای Let’s Encrypt به مدت ۹۰ روز اعتبار دارند، اما Certbot میتواند به طور خودکار آنها را تمدید کند. با این دستور، تمدید خودکار را تنظیم کنید.
sudo systemctl enable certbot.timer
با پیکربندی SSL، وبسایت شما با HTTPS ایمن میشود.
مرحله ۹: تنظیم پشتیبان گیری و نظارت #
برای ایمن نگه داشتن دادههای وبسایت خود، تنظیم پشتیبانگیری دورهای و بررسی سلامت سرور ضروری است. این پشتیبانگیریهای خودکار، بازیابی سریع شما را در صورت از دست دادن دادهها یا خرابی سرورها تسهیل میکنند. میتوانید با استفاده از ابزارهایی مانند rsync یا tar، پشتیبانگیری از فایلها و پایگاه داده وبسایت خود را برنامهریزی کنید. یک cron job تنظیم کنید تا پشتیبانگیریهایی مانند این به صورت خودکار انجام شود.
۰ ۲ * * * /usr/bin/rsync -av /var/www/mywebsite /backup/directory/
این دستور، پشتیبانگیری را روزانه ساعت ۲ بامداد اجرا میکند.
شما باید مراقب سلامت سرور خود نیز باشید. برای این کار، باید با استفاده از ابزارهایی مانند htop، top، nmon، آمار استفاده از منابع سیستم را به صورت بلادرنگ به دست آورید، در حالی که نظارت بیشتر را میتوان با Netdata، Monit یا Prometheus برای ردیابی استفاده از CPU، حافظه و دیسک انجام داد. هشدارهایی را تنظیم کنید تا به شما اطلاع دهند تا بتوانید قبل از اینکه مشکلی بر عملکرد وبسایت شما تأثیر بگذارد، آن را برطرف کنید. پشتیبانگیری و نظارت منظم، قابلیت اطمینان مداوم را تضمین میکند.
عیب یابی مشکلات رایج #
هنگام میزبانی وبسایت روی VPS لینوکس، ممکن است چندین مشکل رایج پیش بیاید.
- تأخیر در انتشار DNS: ممکن است از چند دقیقه تا ۴۸ ساعت طول بکشد تا تغییرات در رکوردهای DNS دامنه شما به صورت جهانی منتشر شود. در طول این مدت، وبسایت شما ممکن است به طور متناوب در دسترس نباشد. اگر این فرآیند خیلی طول بکشد، تأیید کنید که تنظیمات DNS شما به درستی پیکربندی شده است و با استفاده از ابزارهایی مانند dig یا nslookup، هرگونه مشکل را به صورت پیشگیرانه حل کنید.
- خطاهای وب سرور: اگر وبسایت شما بارگیری نمیشود یا صفحات خطا نشان میدهد، فایلهای لاگ وب سرور را برای یافتن سرنخ بررسی کنید. خطاهای رایج شامل پیکربندی اشتباه در فایلهای میزبان مجازی یا بلوک سرور است که با بررسی و اصلاح تنظیمات پیکربندی شما قابل حل هستند.
- مشکلات اتصال به پایگاه داده: این مشکلات معمولاً به دلیل اعتبارنامههای نادرست یا تنظیمات سرور رخ میدهند. اطمینان حاصل کنید که اعتبارنامههای MySQL شما در فایل پیکربندی با اعتبارنامههای موجود در پایگاه داده شما مطابقت دارند و تأیید کنید که سرور پایگاه داده در حال اجرا است.
نتیجه گیری #
میزبانی VPS لینوکس امکان انعطافپذیری، کنترل کامل و قابلیت مقیاسپذیری را فراهم میکند، به همین دلیل است که بسیاری از مدیران وب آن را به عنوان بهترین گزینه انتخاب میکنند. با مراحلی که در بالا مورد بحث قرار گرفت، راهاندازی VPS، نصب وب سرور، پیکربندی دامنه، ایمنسازی سایت با SSL و ایجاد پشتیبانگیریهای منظم و نظارت برای ایجاد یک محیط میزبانی امن و قابل اعتماد نباید مشکلی ایجاد کند. خوب است بدانید که چگونه مسائلی مانند تأخیر DNS، خطاهای سرور یا مشکلات مربوط به اتصالات پایگاه داده را مدیریت کنید تا وبسایت شما روان اجرا شود. پیکربندی و نگهداری صحیح VPS لینوکس شما، یک محیط میزبانی قابل اعتماد برای وبسایت شما، با امنیت و عملکرد تضمین شده، را تضمین میکند.
