构建Apache WEB服务器三部曲之一 源码安装

简介:

    Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。下图为

全球主流Web服务器份额:

wKiom1UXnM-wD1T5AAFLc-BTjn4887.jpg

Apache工作模式有多种,其中最常用的有两种:

    Prefork模式:PreforkMPM 使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。

    在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并且对于那些线程调试困难的平台而言,它也更容易调试一些。

    Worker模式:WorkerMPM 使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。

Worker MPM也由不完善的地方,如果一个线程崩溃,整个进程就会连同其所有线程一起"死掉".由于线程共享内存空间,所以一个程序在运行时必须被系统识别为"每个线程都是安全的"。

环境:

CentOS 6.5 x86_64

Server IP:192.168.1.2

安装Apache服务器

http://apache.dataguru.cn/httpd/httpd-2.2.27.tar.gz

安装之前需要安装 gcc、apr、apr-util

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@jacken ~] # cd /software/
[root@jacken software] # ls
httpd-2.2.27. tar .gz
[root@jacken software] # tar -zxf httpd-2.2.27.tar.gz
[root@jacken software] # ls
httpd-2.2.27 httpd-2.2.27. tar .gz
[root@jacken httpd-2.2.27] #
. /configure  --prefix= /usr/local/apache2  && make  &&  make  install
[root@jacken httpd-2.2.27] # echo $?
0
启动Apache服务
[root@jacken ~] # /usr/local/apache2/bin/apachectl  start
httpd: apr_sockaddr_info_get() failed  for  jacken
httpd: Could not reliably determine the server'sfully qualified domain name, using 127.0.0.1  for  ServerName

wKiom1UXnZnBbYf-AADfH1-J0EI794.jpg

之所以启动Apache的时候报

httpd: apr_sockaddr_info_get() failed for jacken

httpd: Could not reliably determine the server'sfully qualified domain name, using 127.0.0.1 for ServerName

这不能属于一个错误,因为这个不影响服务的正常运行,但我看着就是不爽。

原因:这个问题应该是没有在 httpd.conf 中设定 ServerName

解决办法:

1
2
3
4
5
6
7
8
9
[root@jacken /] # vim /usr/local/apache2/conf/httpd.conf
[root@jacken /] # cat/usr/local/apache2/conf/httpd.conf | grep ^ServerName
ServerName localhost:80
[root@jacken /] # /usr/local/apache2/bin/apachectlstop
[root@jacken /] # /usr/local/apache2/bin/apachectlstart
[root@jacken /] #
[root@jacken /] # netstat -ntl | grep 80
tcp       0      0 :::80                       :::*                        LISTEN      
[root@jacken /] #

Apache安装成功。

添加自启动脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@jacken bin] # cp -p/usr/local/apache2/bin/apachectl /etc/init.d/httpd
[root@jacken ~] # vim /etc/init.d/httpd
在文件头部加入如下内容
### 
# Comments to support chkconfig on RedHatLinux 
# chkconfig: 2345 90 90 
# description:http server 
###
[root@jacken bin] # chkconfig --add httpd
[root@jacken bin] # chkconfig --level 35httpd on
[root@jacken bin] # chkconfig | grep httpd
httpd              0:off1:off2:on3:on4:on5:on6:off
[root@jacken bin] # /etc/init.d/httpd stop
[root@jacken bin] # /etc/init.d/httpd start
[root@jacken bin] # /etc/init.d/httpd status
[root@jacken bin] #


本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1626157,如需转载请自行联系原作者
相关文章
|
9天前
|
编解码 前端开发 JavaScript
构建高效响应式Web界面:现代前端框架的比较
【4月更文挑战第9天】在移动设备和多样屏幕尺寸盛行的时代,构建能够适应不同视口的响应式Web界面变得至关重要。本文深入探讨了几种流行的前端框架——Bootstrap、Foundation和Tailwind CSS,分析它们在创建响应式设计中的优势与局限。通过对比这些框架的栅格系统、组件库和定制化能力,开发者可以更好地理解如何选择合适的工具来优化前端开发流程,并最终实现高性能、跨平台兼容的用户界面。
|
9天前
|
网络安全 Apache
Apache服务器安装SSL证书
Apache服务器安装SSL证书
14 0
|
9天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
3天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
7天前
|
JavaScript 前端开发 API
Vue.js:构建高效且灵活的Web应用的利器
Vue.js:构建高效且灵活的Web应用的利器
|
14天前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox与Grid布局的深度对比
【4月更文挑战第4天】 在现代前端开发中,构建灵活且响应式的用户界面是至关重要的。随着移动设备浏览量的增加,能够适应不同屏幕尺寸和分辨率的布局技术变得必不可少。Flexbox和Grid是CSS提供的两种强大的布局机制,它们各自以独特的方式解决了响应式设计的挑战。本文将深入探讨Flexbox和Grid的核心概念、使用场景和性能考量,为开发者提供在面对不同布局需求时做出明智选择的依据。
|
27天前
|
Shell Linux 网络安全
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
29 0
|
27天前
|
Shell Linux Apache
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
156 1
|
30天前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox的力量
【2月更文挑战第28天】 在现代网页设计中,创建能在不同设备上保持一致性和功能性的响应式界面是至关重要的。Flexbox,一个CSS布局模块,为前端开发者提供了强大工具来轻松实现灵活的布局设计。本文将深入探讨Flexbox的核心概念、使用场景以及如何通过它来优化响应式设计流程。

热门文章

最新文章

推荐镜像

更多