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

محمد اشرافی
سلام وقت بخیر تاحالا ندیدم روی cpanel برنامه های asp رو اجرا کنن ولی از chatgpt پرسیدم اینو گفت
You said:
چطوری برنامه asp.net core رو روی لینوکس و cpanel پابلیش کنم
ChatGPT said:
برای انتشار (Deploy) یک برنامه ASP.NET Core روی لینوکس و cPanel، چند مرحله وجود دارد. از آنجایی که cPanel بیشتر برای میزبانی PHP و Node.js طراحی شده، اجرای ASP.NET Core روی آن نیاز به کمی تنظیمات دارد. در اینجا مراحل کلی را توضیح میدهم:
۱. پابلیش کردن برنامه
ابتدا باید برنامه را برای لینوکس پابلیش (Publish) کنید. اگر برنامه را روی ویندوز توسعه دادهاید، میتوانید با این دستور در CMD یا ترمینال VS Code آن را کامپایل کنید:
sh
Copy code
dotnet publish --configuration Release --runtime linux-x64 --self-contained
true
-o ./publish
--runtime linux-x64
→ مشخص میکند که خروجی برای لینوکس است.--self-contained true
→ باعث میشود که همه فایلهای لازم همراه برنامه باشند، بنابراین نیازی به نصب .NET Runtime روی سرور نیست.-o ./publish
→ خروجی را در پوشه publish/ قرار میدهد.
۲. آپلود روی سرور (cPanel)
بعد از پابلیش، باید فایلهای خروجی را روی سرور آپلود کنید.
- وارد cPanel شوید.
- به File Manager بروید.
- یک پوشه جدید در مسیر
public_html
یا بیرون از آن (مثلاً/app
) بسازید. - فایلهای داخل پوشه
publish
را فشرده (ZIP) کرده و در پوشهی سرور آپلود کنید. - فایل ZIP را اکسترکت (Extract) کنید.
۳. اجرای برنامه روی لینوکس (از طریق SSH)
چون cPanel بهصورت پیشفرض از ASP.NET Core پشتیبانی نمیکند، باید از SSH برای اجرای برنامه استفاده کنید.
- به cPanel بروید و در قسمت Terminal یا SSH Access، اتصال را برقرار کنید.
- به پوشهای که فایلهای برنامه را در آن آپلود کردید بروید:
sh
Copy code
cd
/home/your-cpanel-user/app
- برنامه را اجرا کنید:
sh
Copy code
./your-app-name
🔹 نکته: اگر برنامه اجرا نشد، ممکن است نیاز باشد مجوز اجرای فایل را تنظیم کنید:
sh
Copy code
chmod
+x your-app-name
۴. اجرای برنامه در پسزمینه (با nohup
یا screen
)
اگر نمیخواهید بعد از بستن SSH، برنامه متوقف شود، میتوانید آن را با nohup
اجرا کنید:
sh
Copy code
nohup
./your-app-name > output.log 2>&1 &
یا از screen
استفاده کنید:
sh
Copy code
screen -S myapp
./your-app-name
(با زدن Ctrl + A + D
از screen خارج شوید، ولی برنامه در پسزمینه بماند.)
۵. تنظیم یک دامنه یا سابدامنه برای برنامه
برنامه ASP.NET Core بهطور پیشفرض روی localhost:5000
اجرا میشود. شما باید کاری کنید که درخواستهای HTTP از طریق دامنه شما به این برنامه هدایت شوند.
ایجاد سابدامنه یا دامنه سفارشی:
- در cPanel به Domains بروید و یک Subdomain یا Addon Domain بسازید.
ریدایرکت کردن درخواستها به پورت برنامه (مثلاً 5000):
- در cPanel > Apache Handlers یا
.htaccess
، یک Reverse Proxy تنظیم کنید.
افزودن این تنظیمات در .htaccess
:
apache
Copy code
RewriteEngine On
RewriteRule ^(.*)$ http://127.0.0.1:5000/$1 [P,L]
🔹 نکته: در بیشتر هاستهای اشتراکی، امکان اجرای برنامه روی یک پورت خاص (مثلاً 5000) وجود ندارد، مگر اینکه هاست از Reverse Proxy پشتیبانی کند. در این صورت بهتر است با پشتیبانی هاست مشورت کنید.
۶. استفاده از Supervisor (در صورت امکان)
اگر cPanel شما Supervisor را پشتیبانی کند، میتوانید برنامه را در آن تعریف کنید تا همیشه اجرا بماند. اگر پشتیبانی نشود، باید از nohup
یا screen
که در مرحلهی ۴ گفتم استفاده کنید.
نتیجهگیری
- ASP.NET Core روی cPanel قابل اجرا است، اما به دلیل محدودیتهای هاستهای اشتراکی، ممکن است نیاز به تنظیمات خاصی مانند Reverse Proxy یا سرور مجازی (VPS) داشته باشید.
- اگر هاست شما دسترسی به پورتهای سفارشی ندارد، پیشنهاد میکنم از یک VPS لینوکسی با Nginx یا Apache برای هاستینگ برنامه خود استفاده کنید.
سوالی داشتی بپرس!

Saeed Papi
شما خودتون با چه سروری و پنلی کار میکنید ؟؟؟
و اینکه من تابحال با داکر برنامه رو روی سرور پاپلیش نکردم
میشه بابت اونم توضیحاتی بدید
محبوب ترین مقالات



