اجرای اسکریپت پایتون روی هاست cPanel

نسخهٔ پایتون را روی هاست بررسی کنید، اسکریپت را در محیط مجازی با Terminal اجرا کنید و کارهای دوره‌ای را با Cron Jobs زمان‌بندی کنید.

اجرای اسکریپت پایتون روی هاست cPanel
اجرای اسکریپت پایتون در cPanel با Terminal، محیط مجازی و Cron Jobs.
فهرست مطالب

در این راهنما یاد می‌گیرید

  • نسخهٔ پایتون را بررسی کنید و برای پکیج‌های پروژه محیط مجازی بسازید.
  • فایل را خارج از مسیر عمومی وب بگذارید و ابتدا دستی اجرا کنید.
  • برای کار دوره‌ای، مسیر کامل مفسر و فایل را در Cron وارد کنید و لاگ را ببینید.

۱. ترمینال cPanel را باز کنید

برای اجرای اسکریپت پایتون در هاست، اول به مفسر Python و راهی برای اجرای فرمان نیاز دارید. در این راهنما یک اسکریپت می‌سازیم که زمان اجرا را چاپ می‌کند و پایان می‌یابد. همان فایل را ابتدا دستی و بعد با Cron اجرا می‌کنیم.

cPanel پنل مدیریت هاست شماست؛ فایل‌ها، دیتابیس و ترمینال را از همین صفحه مدیریت می‌کنید. برای ورود، اطلاعات سرویس فعال خود را آماده داشته باشید.

  1. وارد ناحیهٔ کاربری پایتون هاست شوید؛ از حسابی استفاده کنید که هاست را با آن تهیه کرده‌اید.
  2. در بخش سرویس‌ها، هاست فعال خود را باز کنید و گزینهٔ ورود به cPanel را بزنید. اگر لینک ورود مستقیم ندارید، از آدرس و اطلاعات ورودِ پیام فعال‌سازی سرویس استفاده کنید.
  3. پس از ورود، صفحهٔ اصلی cPanel را می‌بینید. نام ابزار موردنیاز، مثل File Manager یا Terminal را در کادر جست‌وجوی پنل بنویسید.

نام کاربری cPanel را از اطلاعات سرویس پیدا کنید. هر جا در فرمان‌ها USERNAME دیدید، همین نام را جایگزین کنید؛ این مقدار، ایمیل یا نام نمایشی حساب شما نیست.

در صفحهٔ اصلی cPanel، ابزار Terminal را پیدا کنید. اگر در حساب شما نمایش داده نمی‌شود، از میزبان دربارهٔ فعال‌بودن Terminal یا دسترسی SSH بپرسید. نمایش این ابزار به دسترسی حساب و تنظیمات سرور بستگی دارد. مستندات Terminal در cPanel

۲. نسخهٔ Python را بررسی کنید و محیط مجازی بسازید

اگر دنبال نصب پایتون روی هاست هستید، ابتدا python3 --version را در Terminal اجرا کنید. در هاست اشتراکی، نسخه‌های پایتون را ارائه‌دهنده در سطح سرور آماده می‌کند. شما می‌توانید از یک نسخهٔ در دسترس و سازگار با پروژه استفاده کنید و پکیج‌ها را در محیط مجازی خودتان نصب کنید.

اگر فرمان نسخهٔ مناسبی نشان داد، دستورهای زیر را اجرا کنید. پوشهٔ python-scripts زیر Home و خارج از public_html ساخته می‌شود. خروجی pwd مسیر کامل آن را نشان می‌دهد. این مسیر را برای Cron نگه دارید.

ساخت پوشه و محیط مجازی پایتون
mkdir -p "$HOME/python-scripts"
cd "$HOME/python-scripts" && python3 -m venv .venv
pwd
.venv/bin/python --version
    

اگر python3 در دسترس نیست یا نسخهٔ دیگری لازم دارید، نسخه‌های ارائه‌شده را از میزبان بپرسید. اگر از قبل محیط سازگاری در Setup Python App دارید، دستور فعال‌سازی همان محیط را از پنل بگیرید و با python -c 'import sys; print(sys.executable)' مسیر مفسرش را ببینید. در مراحل بعد، همان مفسر را به جای مفسر .venv به کار ببرید. مستندات انتخاب نسخهٔ Python در CloudLinux

اگر پروژهٔ شما requirements.txt دارد، آن را در همین پوشه بگذارید و .venv/bin/python -m pip install -r requirements.txt را با مفسر محیط پروژه اجرا کنید. اسکریپت نمونهٔ این مقاله از کتابخانهٔ استاندارد استفاده می‌کند. مستندات محیط مجازی Python

۳. فایل پایتون را بسازید و دستی اجرا کنید

در File Manager به پوشهٔ python-scripts بروید. فایل main.py را بسازید و محتوای زیر را در آن ذخیره کنید. اگر از قبل اسکریپت دارید، فایل‌های پروژه را در همین پوشه بارگذاری کنید و نام فایل ورودی را در فرمان اجرا جایگزین کنید.

main.py؛ چاپ زمان اجرای اسکریپت
from datetime import datetime, timezone

now = datetime.now(timezone.utc)
print(f"Python script ran at {now.isoformat(timespec='seconds')}")
    

در Terminal، از پوشهٔ پروژه مفسر محیط مجازی را مستقیم اجرا کنید. با این روش همان مفسری استفاده می‌شود که پکیج‌های پروژه را در آن نصب کرده‌اید.

اجرای دستی اسکریپت از پوشهٔ پروژه
cd "$HOME/python-scripts" && .venv/bin/python main.py
    

باید پیامی با عبارت Python script ran at و زمان UTC ببینید. اگر به‌جای خروجی با خطا روبه‌رو شدید، اول همان خطا را در اجرای دستی رفع کنید. بعد سراغ زمان‌بندی بروید.

۴. اسکریپت را با Cron Jobs زمان‌بندی کنید

برای کاری مثل ساخت گزارش دوره‌ای، Cron Jobs را از cPanel باز کنید. برای مثال اجرای ساعتی، در Common Settings گزینهٔ اجرای هر ساعت را انتخاب کنید یا مقدار Minute را 0 و چهار فیلد بعدی را * بگذارید. زمان‌بندی را با منطقهٔ زمانی Cron در سرویس خود تطبیق دهید.

در کادر Command فقط فرمان زیر را وارد کنید. مسیر نمونهٔ /home/USERNAME/python-scripts را در همهٔ قسمت‌ها با خروجی واقعی pwd جایگزین کنید. اگر مفسر در مسیر دیگری است، مسیر کامل همان مفسر را قرار دهید.

فرمان Cron با مسیر کامل و ذخیرهٔ خروجی در لاگ
cd "/home/USERNAME/python-scripts" && "/home/USERNAME/python-scripts/.venv/bin/python" "/home/USERNAME/python-scripts/main.py" >> "/home/USERNAME/python-scripts/cron.log" 2>&1
    

با Add New Cron Job زمان‌بندی را ذخیره کنید. پس از اولین نوبت، با tail -n 20 "$HOME/python-scripts/cron.log" خروجی یا خطا را بخوانید. زمان چاپ‌شدهٔ نمونه UTC است. فاصلهٔ اجرا را بیشتر از زمان معمول اجرای کار بگذارید تا نوبت‌ها روی هم نیفتند و حجم فایل لاگ را دوره‌ای بررسی کنید. مستندات Cron Jobs در cPanel

برای اجرای کد پایتون روی سرور کدام روش مناسب است؟

  • اجرای دستی در Terminal. برای آزمایش اولیه یا کاری که یک بار انجام می‌دهید.
  • Cron Jobs. برای کاری که در زمان مشخص شروع می‌شود، نتیجه می‌دهد و تمام می‌شود.
  • مدیریت پردازش مداوم. برای ربات polling یا برنامه‌ای که منتظر پیام می‌ماند، هاست باید اجازهٔ اجرای پیوسته و مدیریت فرایند را بدهد. راهنمای اجرای ربات و مشاهدهٔ لاگ با BotCTL
  • محیط برنامهٔ وب. برای سایت یا API، از روش استقرار سازگار با فریم‌ورک استفاده کنید. راهنمای استقرار جنگو و راهنمای استقرار فلسک

برای آزمودن دسترسی به Terminal، نسخهٔ پایتون و اجرای اسکریپت، جزئیات تست سه‌روزهٔ هاست پایتون را ببینید. اگر کارتان به زمان‌بندی یا پردازش مداوم وابسته است، فعال‌بودن امکانات لازم را روی همان پلن بررسی کنید.

رفع خطاهای اجرای پایتون روی هاست

چرا خطای ModuleNotFoundError می‌گیرم؟

پکیج را با مفسری نصب کنید که اسکریپت را اجرا می‌کند. مسیر Python در فرمان نصب، اجرای دستی و Cron باید به همان محیط پروژه برسد.

اسکریپت دستی اجرا می‌شود، اما در Cron چه چیزی را بررسی کنم؟

فرمان کامل Cron را یک بار در Terminal آزمایش کنید. مسیر مفسر، پوشهٔ کاری، نام فایل و مسیر لاگ را بررسی کنید. اگر برنامه به متغیر محیطی نیاز دارد، مطمئن شوید اجرای زمان‌بندی‌شده هم به تنظیمات خصوصی لازم دسترسی دارد.

آیا برای اجرای یک فایل پایتون به دامنه نیاز دارم؟

اسکریپتی که از Terminal یا Cron اجرا می‌شود و رابط وب ندارد، به دامنه نیاز ندارد. برای انتشار سایت یا API، تنظیمات دسترسی وب و HTTPS را جداگانه انجام دهید.

از آموزش تا اجرای پروژه

اسکریپت خود را روی هاست پایتون آزمایش کنید

پلن سازگار با نسخهٔ پایتون، وابستگی‌ها و روش اجرای پروژه‌تان را انتخاب کنید.

مشاهدهٔ قیمت و انتخاب هاست پایتون ۳ روز تست رایگان

برای راه‌اندازی پروژه، پشتیبانی تخصصی پایتون هاست همراه شماست.

قدم بعدی شما

همهٔ آموزش‌ها
هاست پایتون چیست و بهترین را چطور انتخاب کنیم؟
انتخاب هاست · ۶ دقیقه

هاست پایتون چیست و بهترین را چطور انتخاب کنیم؟

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

ادامهٔ آموزش
آموزش ساخت کلید API در cPanel
سی‌پنل · ۷ دقیقه

آموزش ساخت کلید API در cPanel

راهنمای قدم‌به‌قدم ساخت API Token در cPanel؛ ورود به پنل، تعیین تاریخ انقضا، کپی و نگهداری کلید، نمونهٔ استفاده با پایتون و لغو توکن.

ادامهٔ آموزش
آموزش استفاده از ابزار BotCTL
مدیریت ربات · ۸ دقیقه

آموزش استفاده از ابزار BotCTL

راهنمای مبتدی مدیریت ربات با BotCTL؛ از ورود به cPanel و بازکردن Terminal تا ثبت ربات، اجرا، خواندن لاگ و فعال‌کردن راه‌اندازی خودکار.

ادامهٔ آموزش