وبسروری در ابعاد 🐤 برای کارهای کوچک
وبسروری که تنظیمات مودم TP-link TD-8811 توی اتاقم رو serve میکنه اسمش micro_httpd بود. از سر بیکاری اسم وبسرورش رو سرچ کردم و به این مخزن رسیدم. کدش برام جالب بود و به سرم زد که برای مرور کردن و یادگرفتن چیزهای جدید از مهندسی کامپیوتر یک وبسرور ساده دیگه شبیه micro_httpd خودم از صفر بنویسم و چیزهایی که یاد میگیرم رو نیز با بقیه به نحوی به اشتراک بگذارم.
در این مخزن سعی میکنم گامبهگام پیش برم و وبسروری ساده طبق قواعد Hypertext Transfer Protocol -- HTTP/1.1 بسازم. از اونجایی که من در حالحاضر با زبان PHP بیشتر کار میکنم ترجیح دادم ابتدا با PHP 8.0 این کار رو انجام بدم و بعد در زبان دیگری (احتمالا C) بازنویسی کنم.
برای استفاده در محیط داکری کافیه دستور زیر رو وارد کنید:
docker run --name jojo --init --rm \
-v YOUR_WEB_DIR:/jojo \
-p 80:8000 \
ohmydevops/jojo-server:v1.1.0
به جای YOUR_WEB_DIR کافیه آدرس دایرکتوری وبسایتتون رو بزارید (ریشه وبسایت). مثلا اگر در دایرکتوری /home/user/website
وبسایت استاتیک شما قرار دارد کافیه بدین صورت اجرا کنید:
docker run --name jojo --init --rm \
-v /home/user/website:/jojo \
-p 80:8000 \
ohmydevops/jojo-server:v1.1.0
سپس میتونید با مرورگرتون وبسایت خودتون رو مشاهده کنید.
- Serve basic web files (html, css, js)
- Serve basic static files (images, videos, sounds)
- Support 200 status code
- Support 404 status code
- Support GET method
- Handle requests in blocking-mode
- Dockerise (upload images in docker hub)
- Can config root directory with ENV
- Handle requests in concurrent-mode (multi-process)
- Directory index