温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Apache Web服务器实战

发布时间:2020-02-14 11:10:07 来源:网络 阅读:1989 作者:sky9890 栏目:建站服务器

一、Apache Web服务器简介

1.Apache Web是目前世界使用排名第一的Web服务器软件。Apache服务器的特点是使用简单、速度快、性能稳定、可以作为负载均衡及代理服务器来使用。

2.在企业中Apache最常用的处理模块为Prefork MPM和Worker MPM,Event MPM很少用,默认Apache处理模块为Prefork MPM方式。

3.Prefork MPM工作原理:控制进程Master在最初建立"StartServers"个进程后,为了满足MinSpareServers设置的最小空闲进程,所以需创建第一个空闲进程,等待一秒钟,继续创建两个,依次按照递增指数级创建进程数,最多每秒同时创建32个空闲进程,直到满足至少有两MinSpareServers设置的值为止。Apache的预派生模式不必请求到来时再产生新的进程,从而减少了系统开销以增加性能,该引擎是基于多进程方式提供对外服务,每个进程只有一个线程,每个进程在某个确定的时间只能维持一个连接,优点是稳定,但每个进程占内存也相对较高

4.Worker MPM工作原理:控制进程Master在最初建立"StartServers"个进程,每个进程会创建ThreadsPerChild设置的线程数,多个线程共享该进程内存空间,同时每个线程独立处理用户的Http请求。该模式使用多个进程,每个进程包括多个线程,每个线程在某个确定的时间只能维持一个连接,内存占用量比较小,适合大开发、高流量的Web服务器。Worker MPM缺点是一个线程崩溃,整个进程就会连同其任何线程一起挂掉

二、Apache Web服务器安装

[root@localhost tools]# wget http://archive.apache.org/dist/httpd/httpd-2.4.29.tar.gz

[root@localhost tools]# tar -xzvf  httpd-2.4.29.tar.gz 

[root@localhost tools]# cd httpd-2.4.29

[root@localhost httpd-2.4.29]# yum install apr apr-devel apr-util apr-util-devel -y

[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/apache2/ --enable-rewrite --enable-so

Apache Web服务器实战

[root@localhost httpd-2.4.29]# make     # 编译

[root@localhost httpd-2.4.29]# make install   #安装

[root@localhost local]# /usr/local/apache2/bin/apachectl  start    

测试:

Apache Web服务器实战

三、Apache虚拟主机企业应用

Web虚拟主机配置方法有以下三种:

1.基于单IP多个socket端口

2.基于多IP地址一个端口

3.基于单IP一个端口不同域名。

实战步骤如下:

[root@localhost conf]# pwd
/usr/local/apache2/conf
[root@localhost conf]# vim httpd.conf
......
# Virtual hosts
Include conf/extra/httpd-vhosts.conf  #去掉前面的#号即可
......
[root@localhost extra]# pwd
/usr/local/apache2/conf/extra
[root@localhost extra]# vim httpd-vhosts.conf
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2//docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/usr/local/apache2//docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

创建www.sky9890.com及www.sky9899.com发布目录,重启Apache服务,并分别创建index.html页面,命令如下:

[root@localhost extra]# mkdir -p /usr/local/apache2/htdocs/{sky9890,sky9899}/
[root@localhost extra]# echo "<h2>www.sky9890.com Pages</h2>">/usr/local/apache2/htdocs/sky9890/index.html
[root@localhost extra]# echo "<h2>www.sky9899.com Pages</h2>">/usr/local/apache2/htdocs/sky9899/index.html
修改配置文件:[root@localhost extra]# vim httpd-vhosts.conf

<VirtualHost *:80>  #虚拟机80端口
 ServerAdmin 553752017@qq.com    #管理员邮箱
 DocumentRoot "/usr/local/apache2/htdocs/sky9890"  #虚拟主机发布目录。
 ServerName www.sky9890.com       #虚拟主机完整域名
 # ServerAlias www.dummy-host.example.com   #别名
 RewriteCond %{HTTP_HOST} www.sky9890.com  [NC,OR]   #NC表示不区分大小写,OR表式或。
 RewriteCond %{HTTP_HOST} www.sky9899.com [NC,OR]
 RewriteCond %{HTTP_HOST} ^sky9899.com [NC,OR]
 RewriteCond %{HTTP_HOST} ^sky9890.com [NC,OR]
 RewriteRule ^/(.*)$ http://www.51cto.com  [L] #L表示最后一条匹配规则,停止匹配后续规则。将www.sky9890.com、www.sky9899.com、sky9899.com、sky9890.com跳转至www.51cto.com
 ErrorLog "logs/www.sky9890.com_error_log"
 CustomLog "logs/www.sky9890.com_access_logg" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin  553752017@qq.com
DocumentRoot "/usr/local/apache2/htdocs/sky9899"
ServerName  www.sky9899.com
RewriteCond %{HTTP_HOST} www.sky9890.com  [NC,OR]
RewriteCond %{HTTP_HOST} www.sky9899.com [NC,OR]
RewriteCond %{HTTP_HOST} ^sky9890.com [NC]
RewriteRule ^/(.*)$ http://www.51cto.com  [L]
ErrorLog "logs/www.sky9899.com_error_log"
CustomLog "logs/www.sky9899.com_access_log" common
</VirtualHost>

四、Apache rewrite规则实战

1.rewrite规则也称为规则重写,主要功能实现浏览器访问HTTP URL的跳转。

2.rewrite规则重写的用途如下:

1)对搜索引擎优化友好,利于搜索引擎页面。

2)隐藏网站URL真实地址,浏览器显示更加美观。

3)网站变更升级,可以基于rewrite临时重定向到其他页面。

五、其他配置技能

1)LoadModule rewrite_module modules/mod_rewrite.so  #http.conf配置文件中找到该条并把前面的#号去掉。

2)虚拟主机配置段设置如该指令来开启rewrite功能:RewriteEngine on

3)AllowOverride None,改成AllowOverride All

4)将rewrite规则要写入到httpd-vhosts.conf文件中,要写在<VirtualHost *:80>......</VirtualHost>

5)%{ 两符号之间是不能有空格的,否则执行无效果。

6)Windows客户端设置hosts映射,www.sky9890.com、www.sky9899.com与192.168.153.142进行映射绑定,映射的目的将域名跟IP进行绑定,配置如下:

C:\Windows\System32\drivers\etc\hosts    #用记事本打开hosts文件,并添加下列行
192.168.153.142  www.sky9890.com
192.168.153.142  www.sk9899.com
192.168.153.142  sky9890.com
192.168.153.142  sky9899.com

六、测试结果如下:

在浏览器中分别输入上述四个地址,都会自动跳转到如下界面:

Apache Web服务器实战

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI