构建Apache Web服务器
Apache 是世界使用排名第一的 Web 服务器软件。它可以运行在几乎所有广泛使用的计
算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。Apache
工作模式有多种,其中最常用的有两种:
Prefork 模式:Prefork MPM 使用多个子进程,每个子进程只有一个线程。每个进程
在某个确定的时间只能维持一个连接。
在大多数平台上,Prefork MPM 在效率上要比 Worker MPM 要高,但是内存使用大得多。
prefork 的无线程设计在某些情况下将比 worker 更有优势:它可以使用那些没有处理好线
程安全的第三方模块,并且对于那些线程调试困难的平台而言,它也更容易调试一些。
京峰教育-人 只为有梦想的人 www.jfedu.net
Worker 模式:Worker MPM 使用多个子进程,每个子进程有多个线程。每个线程在某
个确定的时间只能维持一个连接。通常来说,在一个高流量的 HTTP 服务器上,Worker MPM
是个比较好的选择,因为 Worker MPM 的内存使用比 Prefork MPM 要低得多。
Worker MPM 也由不完善的地方,如果一个线程崩溃,整个进程就会连同其所有线程一
起"死掉".由于线程共享内存空间,所以一个程序在运行时必须被系统识别为"每个线程都是
安全的"。
源码安装 Apache
官 方 下 载 目 前 稳 定 版 本 ,
http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.41.tar.bz2 ,解压安装如下,安
装 apache 之前,需要先安装 apr apr-util。

然后启动 apache 服务: /usr/local/apache2/bin/apachectl start

查看 apache 进程及端口:

源码包安装 Apache 默认发布目录为:/usr/local/apache2/htdocs/下。
Apache 基于域名虚拟主机配置
修改 vi /usr/local/apache2/conf/extra/httpd-vhosts.conf 虚拟主机配置文件内容
如下:
<VirtualHost *:>
ServerAdmin wgkgood@.com
DocumentRoot "/data/webapps/www1"
ServerName www.qicheng1.com
<Directory "/data/webapps/www1">
AllowOverride All
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
ErrorLog logs/error_log
CustomLog logs/access_log common
</VirtualHost>
<VirtualHost *:>
ServerAdmin wgkgood@.com
DocumentRoot "/data/webapps/www2"
ServerName www.qicheng2.com
<Directory "/data/webapps/www2">
AllowOverride All
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
ErrorLog logs/error_log
CustomLog logs/access_log common
</VirtualHost>
然后在/usr/local/apache2/conf/httpd.conf 最末尾取消注释如下配置:
Include conf/extra/httpd-vhosts.conf
重新加载 apache 即可,/usr/local/apache2/bin/apachectl graceful 效果演示如下:


解决这个报错信息:


pache 基于 IP 虚拟主机同样跟域名一直,在服务器配置多个 IP,然后把域名改成 IP
即可。
Apache Rewrite 规则讲解
Rewrite URL 重定向就是实现 URL 的跳转和隐藏真实地址,可以把复杂的 URL 变成简洁
直观的 URL,对 seo 优化有很大的帮助。如下几个简单的举例:
把所有配置的域名都跳转到一个域名:
RewriteEngine on //启用 rewrite 引擎
RewriteCond %{HTTP_HOST} ^wugk1.com [NC] //匹配以 wugk1.com 开头的域名,NC
忽略大小写。
RewriteRule ^/(.*)$ http://www.wugk1.com/$1 [L]
//匹配上面条件,然后跳转到 http://www.wugk1.com
1) R 强制外部重定向。
2) F 禁用 URL,返回 403HTTP 状态码。
3) G 强制 URL 为 GONE,返回 410HTTP 状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联。
构建Apache Web服务器的更多相关文章
- 构建apache web 服务器
一.Apache服务器工作模式 1.Prefork模式:Prefork MPM使用多个子进程,每个子进程只有一个线程,每个进程在某个确定的时间只能维护一个连接 2.Worker模式: Worker M ...
- 如何在Ubuntu 16.04上安装Apache Web服务器
转载自:https://www.howtoing.com/how-to-install-the-apache-web-server-on-ubuntu-16-04 介绍 Apache HTTP服务器是 ...
- 如何在Ubuntu 18.04上安装Apache Web服务器
一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...
- Apache web服务器(LAMP架构)
Apache web服务器(LAMP架构) apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 ...
- 步骤详解安装Apache web服务器
1.在上右键è安装 安装后apache web服务器自动启动. 在右下角出现. Apache安装之后有一个默认的网站目录 在浏览器上通过网站就可以访问到该目录下的文件. 2.测试 在浏览器输上请求lo ...
- Apache Web服务器 安装步骤 和遇到的坑
Apache Web服务器是开发放源码的网页服务器,我们看到的网页都是上传到服务器然后呈现给用户的. 在开发中,在自己的电脑上安装Apache Web服务器,你的电脑也会成为服务器,配置文件,访问你的 ...
- C语言构建小型Web服务器
#include <stdio.h> #include <sys/socket.h> #include <stdlib.h> #include <string ...
- Apache web服务器(LAMP架构)(week3_day4)--技术流ken
apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 3).URL 统一资源定位符 http:/ ...
- Apache web服务器(LAMP架构)
1.apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 3).URL 统一资源定位符 http ...
随机推荐
- python使用execjs执行含有document、window等对象的js代码,使用jsdom解决
当我们分析爬虫时,有时候会遇到一些加密参数,这个时候就需要我们逆向分析js python执行js有一些第三方库 https://www.jianshu.com/p/2da6f6ad01f0 因为我用的 ...
- docker镜像导入导出备份迁移
导出: docker save -o centos.tar centos:latest #将centos:latest镜像导出为centos.tar文件 导入: docker load -i cent ...
- assets文件夹与static文件夹的区别
assets文件夹与static文件夹的区别原地址==>https://www.cnblogs.com/x123811/p/9230700.html 相同点===>assets文件夹和st ...
- LeetCode 动态规划
动态规划:适用于子问题不是独立的情况,也就是各子问题包含子子问题,若用分治算法,则会做很多不必要的工作,重复的求解子问题,动态规划对每个子子问题,只求解一次将其结果保存在一张表中,从而避免重复计算. ...
- 剑指Offer-14.链表中倒数第k个结点(C++/Java)
题目: 输入一个链表,输出该链表中倒数第k个结点. 分析: 第一个解法,我们可以先遍历一遍链表,计算下节点的总数n,然后再从头结点查n-k个节点,即是倒数第k个节点. 第二个解法,便是使用双指针,两个 ...
- Alpha冲刺(1/4)
队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪些任务:SVN管理工具搭建 展示G ...
- Redis系列1——概述
1. 简介 Redis,key-value内存存储的数据库,全称“”Remote Dictionary Service(Sever)“”,默认端口号:6379 Redis是一个开源的使用ANSI C语 ...
- 如何编写一个 SendFile 服务器
如何编写一个 SendFile 服务器 前言 之前讨论零拷贝的时候,我们知道,两台机器之间传输文件,最快的方式就是 send file,众所周知,在 Java 中,该技术对应的则是 FileChann ...
- Docker系列之学习笔记
一.Docker简介 1.1.Docker架构 Docker 使用客户端-服务器 (C/S) 架构模式,分为Docker守护进程和客户端,Docker 客户端,实际上是 docker 的二进制程序,D ...
- Mysql相关问题-----1045 Access denied for user 'root'@'localhost' (using password: YES)报错
MySQL 连接错误,使用Navicat连接MySQL出现错误:1045 Access denied for user 'root'@'localhost' (using password: YES) ...