构建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 *:80>
        ServerAdmin wgkgood@163.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 *:80>
        ServerAdmin wgkgood@163.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 与下一条规则关联。

猜你喜欢

转载自www.cnblogs.com/aqicheng/p/12019901.html