🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ هومن کریمی
توضیح در خصوص Ports و PIDs
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۱۵ مرداد ۱۴۰۲

با سلام

لطفاً می‌خواستم کمی در خصوص Portها و PIDها در آپاچی و MySQL توضیح بدید. با کمی سرچ به این نوع توضیحات رسیدم که توی آموزش و همچنین بعد از نصب XAMPP هم همین اعداد دیده می‌شن:

The two default ports apache listens on are HTTP (80) and HTTPS (443) both of which the main process listens on.

سلام،

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

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

براساس پورت مشخص میشود این درخواست‌ها باید به کدام نرم افزار ارسال شوند چون اگر به اتاق(نرم افزار) اشتباهی ارسال شود، کاری صورت نمیگیرد و بی پاسخ میماند. برای همین معمولا انتهای آدرس url‌ها پورت 80 یا 443 میبینید که مربوط به نرم افزار وب سرور است. یعنی درخواستی دارم برای فلان آدرس سایت و فلان برنامه(پورت)

نرم افزار وب سرورها (و همچنین وب سرور آپاچی) روی پورت پیش فرض 80 و 443 کار میکند.

نرم افزار mysql روی پورت پیش فرض 3306 اجرا میشود.

PID یعنی پروسس آیدی، یک شناسه منحصر به فرد و یونیک است که هر نرم افزار که اجرا میشود سیستم عامل برای هویت و شناسایی آن اختصاص میدهد. برای مثال شما با کامند زیر در ویندوز چک میکنید چه پروسس هایی روی پورت 80 باز هستند:

netstat -ano | findstr :80
//=======================//
TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       24784

24784 نشان دهنده PID هست که برهمین اساس میتونیم این پردازش رو با کامند زیر ببندیم:

taskkill /PID 24784 /F

نکته: برای اجرای چنین دستوری باید cmd در حالت run as administrator باز بشه.

همین فرایند میتونه برای پورت‌های دیگر هم مثل 3306 مای اس کیو ال پیش بره.

بعضا خطایی در اجرای xampp میبینید که apache یا mysql ران نمیشن و خطا دارن، میتونید چک نید که آیا پورتی اشغال است یا نه که اگر پروسسی باز بود kill کنید و مجدد start کنید.

بهترین پاسخ
محسن موحد ۱۵ مرداد ۱۴۰۲، ۲۲:۱۸

از توضیحات خوب شما بسیار سپاسگزارم.

هومن کریمی ۱۶ مرداد ۱۴۰۲، ۰۵:۳۰