✅ cola múltiples hilos
Cómo usarlo es el siguiente:
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 ./yadihttpdProyecto de blog de muestra: árbol de archivos de blog
【Página de inicio del blog】
Funciones completadas en la versión 0.1:
✅ Imprimir registros, leer los encabezados de mensajes y los nombres de los archivos de registro se generan en función del tiempo
✅Epole la versión y devuelva el archivo correspondiente
✅ cola de registro, conmutación automática, redacción de registro solo hilo
✅ Soporte de archivos grandes
✅ Limitaciones del permiso de lectura de archivos
✅ Blog simple
Mostrar número de línea, función, nombre de archivo específico
Ver el hilo de registro:
El hilo de registro generalmente duerme (la cola está vacía, lo que significa que no está ocupado, libera el bloqueo, bloquea por un segundo).
? Acceda al enlace de registro antes:
? Acceda al registro de enlaces:
? Cuando un cierto número de registros de registro (como 5000), el archivo se cambiará automáticamente.
Lectura de imágenes
Soporte de archivo grande (puede ser algunos errores)
Epollout maneja los amortiguadores y establece FDS sin bloqueo. El servidor puede manejar múltiples solicitudes al mismo tiempo.
Diseño del directorio raíz del archivo del servidor
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 biblioteca utilizada:
marcado: markdown -> html
PRISMJS: Destacación de código y otros diseños
? Investigación de fugas de FD
Hay algo que olvidé cerrar. Después de probar por un tiempo, como se muestra en la figura a continuación, parece que no hay ningún problema con la fuga de FD, pero todavía hay un Segfault ocasional que aún no se ha encontrado.
? Verificación de error de segmento
? URL es demasiado larga: gracias por probar el programa malicioso de mi sitio web por la noche
? URL Directory Directy Directory Error Fix, igual que el anterior.
Un hilo ACCPET, un hilo de registro y tres subprocesos de niños manejan la solicitud, y cada núcleo se solicita alrededor de 1400 por segundo.