✅ طابور متعدد الخيوط
كيفية استخدامه على النحو التالي:
pi@centos: ~ /yadihttpd$ ./yadihttpd
usage: ./yadihttpd < port > < websit root > < log dir >
要提前创建好文件夹和响应静态文件
如:./yadihttpd 80 /home/pi/www /home/pi/yadihttpdlog
pi@centos: ~ /yadihttpd$ sudo ./yadihttpd 80 /home/pi/www /home/pi/yadihttpdlog
应设置euid, 如:chmod u+s ./yadihttpdعينة من مشروع المدونة: شجرة ملف المدونة
【مدونة الصفحة الرئيسية】
وظائف مكتملة في الإصدار 0.1:
✅ يتم إنشاء سجلات الطباعة ، وقراءة رؤوس الرسائل ، وأسماء ملفات السجل بناءً على الوقت
✅epoll
✅ قائمة انتظار السجل ، التبديل التلقائي ، كتابة سجل وحده
✅ دعم الملفات الكبيرة
✅ قيود إذن قراءة الملف
✅ مدونة بسيطة
إظهار رقم سطر محدد ، وظيفة ، اسم الملف
عرض مؤشر ترابط السجل:
ينام مؤشر ترابط السجل عمومًا (قائمة الانتظار فارغة ، مما يعني أنه غير مشغول ، يطلق القفل ، ويعزى لثانية واحدة).
؟ الوصول إلى السجل قبل الرابط:
؟ الوصول إلى سجل الارتباط:
؟ عندما يكون عدد معين من سجلات السجل (مثل 5000) ، سيتم تبديل الملف تلقائيًا.
قراءة الصور
دعم الملفات الكبير (قد يكون بعض الأخطاء)
يتولى Epollout المخازن المؤقتة ويضع FDS غير المحظورة. يمكن للخادم التعامل مع طلبات متعددة في نفس الوقت.
تخطيط دليل جذر ملف الخادم
pi@raspberrypi: ~ /www $ tree
.
├── blog # marked转换之后的博客
│ ├── linux_notes.html
│ └── test.html
├── css
│ ├── my.css
│ └── prism.css # 代码高亮等等
├── img
│ ├── 1.jpg
│ ├── eg_tulip.jpg
│ ├── lake.jpg
│ └── log.jpg
├── index.html
├── js
│ └── prism.js # 代码高亮等等
└── md # 初始markdown形式
├── linux_notes.md
├── md2html.sh #批量转换脚本 md->html
├── test.md
└── tmp.mdfileالمكتبة المستخدمة:
ملحوظ: Markdown -> HTML
Prismjs: تمييز الكود والتخطيطات الأخرى
؟ FD التحقيق تسرب
هناك شيء نسيت إغلاقه. بعد الاختبار لفترة من الوقت ، كما هو موضح في الشكل أدناه ، يبدو أنه لا توجد مشكلة في تسرب FD ، ولكن لا يزال هناك segfault من حين لآخر لم يتم العثور عليه بعد.
؟ فحص خطأ القطاع
؟ عنوان URL طويل جدًا: شكرًا لاختبار البرنامج الضار لموقع الويب الخاص بي في الليل
؟ عنوان خطأ URL Direct Access Firk ، كما هو مذكور أعلاه.
يتعامل مؤشر ترابط ACCPET ، وخيط سجل واحد ، وثلاثة مؤشرات ترابط للأطفال مع الطلب ، ويتم طلب كل قلب حوالي 1400 في الثانية.