-
进程
是操作系统分配资源的资本单位
,进程是程序
的实体 -
进程是动态的
,程序是静态
的
-
线程是进程的基本单位,范围比进程要小
-
一个进程中包含一个线程或者多个线程,所有的线程共享该进程的内存空间
-
如果
进程挂掉,所有线程崩溃
,如果一个线程异常退出,连同其他的线程或者进程会崩溃 -
多线程的好处是
提高访问效率、并发高网站采用多进程
-多线程工作。
-
Apache 、Nginx、Lighttpd、IIS
-
Resin、Tomcat、WebLogic、Jetty等
-
Apache 是一个古老的web服务器软件,基于Apahce 基金会开发的,默认只能发布静态网页
-
Apache 是一个多模块式的软件、模块丰富
-
Apache 有三种工作模式:
Prefork、Worker、Event
-
Prefork:Apche默认工作模式,
多进程模型
,预先生成进程,一个请求用一个进程响应
,预先生成多个空闲进程
,随时等待请求到达,最大不会超过1024个
。 -
缺点:多进程方式,
比较消耗内存和系统资源
。 -
Worker MPM:工作模式。
基于线程工作
,一个请求用一个线程响应
(启动多个进程,每个进程生成多个线程
)内存占用量比较小,适合大并发、高流量的WEB服务器
-
缺点:一个线程崩溃,整个
进程
就会连同其任何线程一起挂掉
-
下载http-2.4.46.tar.bz2:
-
https://downloads.apache.org/httpd/httpd-2.4.46.tar.bz2
[root@localhost usr]# cd src/
[root@localhost src]# wget https://downloads.apache.org/httpd/httpd-2.4.46.tar.bz2
–2021-04-03 15:53:32-- https://downloads.apache.org/httpd/httpd-2.4.46.tar.bz2
Resolving downloads.apache.org (downloads.apache.org)… 88.99.95.219, 2a01:4f8:10a:201a::2
Connecting to downloads.apache.org (downloads.apache.org)|88.99.95.219|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 9363314 (8.9M) [application/x-gzip]
Saving to: ‘httpd-2.4.46.tar.bz2’
100%[===================================================================>] 9,363,314 1.07MB/s in 9.4s
2021-04-03 15:53:43 (972 KB/s) - ‘httpd-2.4.46.tar.bz2’ saved [9363314/9363314]
[root@localhost src]# ll
total 7992
drwxr-xr-x. 2 root root 6 Nov 5 2016 debug
-rw-r–r-- 1 root root 7187805 Aug 5 2020 httpd-2.4.46.tar.bz2
drwxr-xr-x. 2 root root 6 Nov 5 2016 kernels
-
解压http-2.4.46.5安装包:
-
tar -xjf httpd-2.4.46.tar.bz2
[root@localhost src]# tar xjf httpd-2.4.46.tar.bz2 解压.bz2包报错,提示缺bzip2,所以安装bzip2
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
[root@localhost ~]# yum install bzip2 -y 解决报错,安装bzip2
[root@localhost src]# tar -xjf httpd-2.4.46.tar.bz2 再次解压
- 进入解压目录
[root@localhost src]# cd httpd-2.4.46
[root@localhost httpd-2.4.46]# ls
ABOUT_APACHE BuildAll.dsp configure.in include LICENSE README test
acinclude.m4 BuildBin.dsp docs INSTALL Makefile.in README.cmake VERSIONING
Apache-apr2.dsw buildconf emacs-style InstallBin.dsp Makefile.win README.platforms
Apache.dsw CHANGES httpd.dep LAYOUT modules ROADMAP
apache_probes.d CMakeLists.txt httpd.dsp libhttpd.dep NOTICE server
ap.d config.layout httpd.mak libhttpd.dsp NWGNUmakefile srclib
build configure httpd.spec libhttpd.mak os support
[root@localhost httpd-2.4.46]#
-
检测系统环境是否能够达到编译的请求
-
安装apache之前,需要先安装apr apr-devel apr-util apr-util-devell
优化模块。 -
安装编译前,先确认安装编译环境(
gcc-c++
)
[root@localhost httpd-2.4.46]# yum install apr apr-devel apr-util apr-util-devel -y
[root@localhost httpd-2.4.46]# yum -y install gcc-c++ -y
- 预编译./configure
[root@localhost httpd-2.4.46]# ./configure --prefix=/usr/local/apache --with-pmp=worker
……编译过程省略
模块解释:
–prefix=/usr/local/apache/ 指定安装路径
–enable-rewrite 预编译Apache,启用rewrite规则
–enable-so 启用动态加载库;
–enable-ssl 启用ssl功能
–with-mpm=prefork|worker|event() 指定工作模式
–enable-mpms-shared=all 也可以编译为三种都支持,通过修改配置来更换。
- 编译make 根据生成的makefile文件来执行对应的编译
[root@localhost httpd-2.4.46]# make -j4 使用4个内核编译,提升编译速度。(根据内核数量添加)
- 安装配置文件make install
[root@localhost httpd-2.4.46]# make install
[root@localhost ~]# cd /usr/local/apache/
[root@localhost apache]# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
[root@localhost apache]#
- 修改网页内容
[root@localhost ~]# cd /usr/local/apache/htdocs/
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# rm -f index.html
[root@localhost htdocs]# rz
[root@localhost htdocs]# ls
love72.zip
[root@localhost htdocs]# yum -y install unzip*
[root@localhost htdocs]# unzip love72.zip
Archive: love72.zip
creating: images/
inflating: images/1.jpg
inflating: index.html
creating: js/
inflating: js/yiqi.js
creating: style/
inflating: style/main.css
[root@localhost htdocs]# ls
images index.html js love72.zip style
[root@localhost htdocs]# cd …/
[root@localhost apache]# ./bin/apachectl restart 重启服务
- 启动Apache服务,临时关闭selinux、firewalld防火墙
[root@localhost ~]# getenforce
Disabled
[root@localhost ~]#
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@localhost ~]#
[root@localhost ~]# /usr/local/apache/bin/apachectl stop
[root@localhost ~]# /usr/local/apache/bin/apachectl start
- 测试:
============================================================
- Apache按照重启报错处理方法
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!
小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
va)**
[外链图片转存中…(img-JV9kbSom-1712625673236)]
最后
由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!
[外链图片转存中…(img-y4xFmrko-1712625673237)]
小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》
[外链图片转存中…(img-atDr6z7E-1712625673237)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-IiK16tS4-1712625673237)]