✅ File d'attente multi-threading
Comment l'utiliser est comme suit:
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 ./yadihttpdExemple de projet de blog: arbre de fichiers de blog
【Page d'accueil du blog】
Fonctions remplies dans la version 0.1:
✅ Les journaux d'impression, les en-têtes de message et les noms de fichiers journaux sont générés en fonction du temps
✅Peoll Version et renvoyez le fichier correspondant
✅ File d'attente de journal, commutation automatique, écriture de journal seul thread
✅ Prise en charge des fichiers importants
✅ Limites de lecture de fichiers
✅ Blog simple
Afficher le numéro de ligne spécifique, la fonction, le nom de fichier
Afficher le fil du journal:
Le fil de journal dort généralement (la file d'attente est vide, ce qui signifie qu'il n'est pas occupé, libère le verrou, les blocs pour une seconde).
? Accéder au journal avant le lien:
? Accéder au journal des liens:
? Lorsqu'un certain nombre d'enregistrements de journal (tels que 5000), le fichier sera automatiquement commuté.
Lecture d'image
Support de fichier important (peut être quelques bogues)
Epollout gère les tampons et définit les FD non bloquants. Le serveur peut gérer plusieurs demandes en même temps.
Répertoire des racines du fichier de serveur
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.mdfileLa bibliothèque utilisée:
Marqué: Markdown -> HTML
PrismJs: mise en évidence du code et autres dispositions
? enquête de fuite de FD
Il y a quelque chose que j'ai oublié de fermer. Après avoir testé un certain temps, comme le montre la figure ci-dessous, il ne semble pas y avoir de problème avec la fuite FD, mais il y a encore une segfault occasionnelle qui n'a pas encore été trouvée.
? Vérification des erreurs du segment
? L'URL est trop longue: merci d'avoir testé le programme malveillant de mon site Web la nuit
? Correction d'erreur du répertoire d'accès direct URL, identique à celle ci-dessus.
Un thread ACCPET, un thread de journal et trois fils d'enfants gèrent la demande, et chaque noyau est demandé environ 1400 par seconde.