什么是 Apache HTTP Server
Apache HTTP Server Project 是致力于为现代操作系统(包括UNIX 和 Windows)提供和维护的一个开源 HTTP 服务项目。该项目发起于 1995 年,至今已有20+年的历史。
借助 Apache HTTP Server,我们可以在我们的计算机或服务器上快速部署一个高效、可用的 HTTP 服务。Apache2 是 Apache HTTP Server 的最新版本。
- Apache官网:Link
Apache HTTP Server Project 是致力于为现代操作系统(包括UNIX 和 Windows)提供和维护的一个开源 HTTP 服务项目。该项目发起于 1995 年,至今已有20+年的历史。
借助 Apache HTTP Server,我们可以在我们的计算机或服务器上快速部署一个高效、可用的 HTTP 服务。Apache2 是 Apache HTTP Server 的最新版本。
由于课程需要,需要在 Linux 环境下开发 QT 程序,因此开一篇文章来记录QT的知识点。
内核中只有最基本的调度、内存管理。其他的比如驱动、文件系统等都是用户态的守护进程去实现的。比如Windows NT、OS X
优点是超级稳定,驱动等的错误只会导致相应进程死掉,不会导致整个系统都崩溃,做驱动开发时,发现错误,只需要kill掉进程,修正后重启进程就行了,比较方便。
缺点是效率低。典型代表QNX,QNX的文件系统是跑在用户态的进程,称为resmgr的东西,是订阅发布机制,文件系统的错误只会导致这个守护进程挂掉。
简单来说,就是把很多东西都集成进内核,例如Linux内核,除了最基本的进程、线程管理、内存管理外,文件系统,驱动,网络协议等等都在内核里面。优点是效率高。缺点是稳定性差,开发过程中的bug经常会导致整个系统挂掉。做驱动开发的应该经常有按电源键强行关机的经历。
用了好久的 Linux 系统了,然而却没有从头开始好好系统地认识过 Linux,这两篇,就从以下几个方面,漫游式地重新梳理一下关于 Linux 的知识。
使用 gcc 命令可以很方便地在Linux下编译C源代码,但是,当我们的工程变大了之后,项目下面有很多 .c
、.h
文件,各种依赖关系错综复杂。这时候,手工编译就不是那么划算了。makefile就是用于解决这个问题的。
假设我现在有3个文件,分别是:
mystrlen.c
: 是我自己实现的一个计算字符串长度的算法函数。mystrlen.h
: 该算法的头文件。test.c
: main函数,里面有一些字符串需要调用上面的算法来计算长度那么在 Linux 下,如何用 gcc 把 mystrlen.c 编译成动态链接库,方便 test.c 去使用呢 ?
Linux 学习任重而道远,此文记录了我在 Linux 学习中需要知道或反复查阅使用的命令、表达式等内容,持续更新。
接触Linux越久,掉进莫名其妙的坑里就越多,于是我决定每遇到一个坑就记录下来,这样以后再踩的时候不至于爬不起来。