设为首页 收藏本站
查看: 1170|回复: 0

[经验分享] 编译安装Apache发布多个虚拟主机

[复制链接]

尚未签到

发表于 2018-11-29 07:05:35 | 显示全部楼层 |阅读模式
  编译安装可以自定义软件的功能,优化编译参数提高性能等功能。
  在Linux下编译安装软件大致分为三个步骤:
  1:编译前的配置工作
  2:编译
  3:安装
  这次我们拿apache的安装来实验,我们先把要用的软件包下载到linux里
  下载网址:http://www.apache.org/或者在网上搜索:我这里使用的版本是
  httpd-2.2.17.tar.gz
下面就来着手安装 httpd-2.2.17.tar.gz
我先在根下建立一个目录用来放我们的安装文件/www

  解压httpd-2.2.17.tar.gz包到/www目录下

  进入/www目录,然后再建立一个apache目录用来放我们的apache的安装文件

  查看http-2.2.17目录我们可以看到如下文件
http://blog.运维网.com/attachment/201107/181913401.png
  在编译之前我们还要查看一下有没有安装gcc编译器

  提示我们gcc这个包没有安装,下面我们就要先安装上gcc
  我们这里采用yum的方式来安装,因为用rpm包有过多的依赖关系。
  有关yum的配置方法请参考我的别的文档,这里就不细说了。

  之后我们再来查看gcc是不是安装好了

  下在我们就来做准备前的配置工作
  [root@localhost httpd-2.2.17]# ./configure  --prefix=/www/apache  --enable-so --enable-rewrite
  其中--prefix=/www/apache是指定我们的apache安装在哪里
  --enable-so是编译动态加载模块(DSO)支持到httpd二进制文件。此模块使得Apache的各功能模块可以与核心分开编译、运行时动态加载。
  --enable-rewrite支持地址重写功能,使用1.0版本请将它改为--enable-module=rewrite
  看一下有没有提示错误,有就解决问题,
  还有一些其它选项可以参考:
  --enable-mods-shared=most  告诉编译器将所有标准模块都动态编译为DSO模块。
--enable-module=most
  用most可以将一些不常用的,不在缺省常用模块中的模块编译进来.动态编译大部分常用的模块。

  --enable-mods-shared=all 意思是动态加载所有模块。
  如果没有然后[root@localhost httpd-2.2.17]# make
  看一下有没有提示错误,有就解决问题,
  如果没有然后
  [root@localhost httpd-2.2.17]#make install
  ( 我们也可以
  [root@localhost httpd-2.2.17]# make &&  make install )
  结束之后我们查看/www/apache目录可以看到生成了很多文件

  这时候我们启动apache服务测试一下

  apache服务安装成功了,下面我们就来在这一台linux上用三种方法发布多个网站
1:利用多个端口发布多个网站
2:利用多个IP地址发布多个网站
3:利用不同的主机头发布多个网站
  现在就先来准备几个简单的网页,我们要注意编译安装的apache存放网页的目录要放在apache的安装目录htdocs中,否则提示没有权限打开等错误。
  [root@localhost apache]# vim conf/httpd.conf   大约在106行
http://blog.运维网.com/attachment/201107/105451141.png

  相应的日志文件目录和文件我们也一块建立了后来会用到

  用rpm包安装的apache主配置文件是安装主目录下apache/conf/httpd.conf
  所有配置文档在httpd.conf这个文件里就可以,但是编译安装的就不一样了
  我们需要看配置文件[root@localhost apache]# vim conf/httpd.conf


  我们要把#Include conf/extra/httpd-vhosts.conf前的#号去掉,他的虚拟主机我们应该在
安装目录下apache/conf/extra/httpd-vhosts.conf这个配置文件里实现
  1:利用多个端口发布多个网站
       需要修改的配置文件如下:
  [root@localhost apache]# vim conf/httpd.conf
http://blog.运维网.com/attachment/201107/110731137.png 大约在40行

  然后再编辑[root@localhost apache]# vim conf/extra/httpd-vhosts.conf
  在配置文件的最后修改成:
http://blog.运维网.com/attachment/201107/111540282.png
  然后我们重启服务
  [root@localhost apache]# bin/apachectl stop
[root@localhost apache]# bin/apachectl start
用客户端测试:



  2:利用多个IP地址发布多个网站
  首先在一个网卡上绑定多个IP地址
  我们可以临时绑定一下:
  方法1:[root@localhost ~]# ifconfig eth0:1 192.168.8.9 netmask 255.255.255.0 up
重启网络服务就不再有
  方法2:如果想让绑定的IP地址永久生效可以复制eth0配置文件
  [root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0               /etc/sysconfig/network-scripts/ifcfg-eth0:1
  需要修改的配置文件为
  [root@localhost apache]# vim conf/httpd.conf
http://blog.运维网.com/attachment/201107/122025427.png 去掉刚才加的两个端口的这两行(不去也不影响)

  然后再编辑[root@localhost apache]# vim conf/extra/httpd-vhosts.conf   效果如下:

  重启apache服务测试
  [root@localhost apache]# bin/apachectl stop
[root@localhost apache]# bin/apachectl start

用windows客户端测试


3:利用不同的主机头发布多个网站
  利用不同的主机头来标识多个网站这是我们用的最多的,这一个需要我们DNS服务的支持。(我们这里就在windows客户端的hosts文件里添加记录做实验)
  (首先我们把刚才的配置还原一下 )
  httpd.conf这个配置文件不需要修改,
  然后要配置[root@localhost apache]# vim conf/extra/httpd-vhosts.conf 效果如下:

  把 NameVirtualHost   * : 80      大约在19行前的#号去掉
  最后几行修改成:

  重启apache服务
  [root@localhost apache]# bin/apachectl stop
  [root@localhost apache]# bin/apachectl start
  我们用windows客户端测试
  我们要先在hosts文件里添加一些条目


   打开浏览器






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640902-1-1.html 上篇帖子: web自动安装脚本(apache/nginx+php+mysql) 下篇帖子: 详细搭建Windows+Apache+MySQL+PHP+BBS+PHPMyadmin
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表