源码编译安装LAMP(Linux, Apache ,Mysql ,PHP)-------------- (连载篇(一)----Apache)

前言:LAMP平台概述

  • 什么是LAMP?
    目前最为成熟的一种企业网站应用模式,可提供动态的Web站点应用及开发环境
  • 构成组件
    Linux, Apache ,Mysql ,PHP/Perl/Python
  • 优势:
    成本低廉
    可定制,易于开发
    方便易用,安全和稳定

在虚拟环境下编译安装的LAMP, 详细描述如何源码编译安装服务。
制作不易,脑壳摇摇欲坠,有错请包涵,指出!!!!!

一,Apache简介

  • 起源咱们就不说了,有兴趣可以专门搜索一下
  • 官方站点:http://httpd.apache.org/
  • 主要特点
    开放源代码,跨平台应用
    支持多种网页编程语言
    模块化设计,运行稳定,良好的安全性
    • 软件版本
      ◆ 1 x
      目前最高版本是1.3,运行稳定
      向下兼容性较好,但缺乏一些较新的功能
      ◆2 x
      目前最高版本是2.4
      具有更多的功能特性
      与1.X相比,配置管理风格存在较大差异

二,编译安装

  • 编译安装的优点
    ●具有较大的自由度,功能可定制
    ●可及时获得最新的软件版本
    ●普遍适用于大多数Linux版本,便于移植使用
  • 获得Apache服务器的源码包
    参考地址: http://httpd.apache.org/download.cgi

步骤一:搭建yum本地源

安装的前提是在yum环境已经搭建好了;没搭建的话首先要搭建yum源

1.mount /dev/cdrom    /mnt
2.echo  mount /dev/cdrom  /mnt   iso9660  defaults  0 0  >> /etc/fstab
3.cd  /etc/yum.repos.d/
4.mkdir   bakup
5.mv  C*    bakup
6.cp backup/CentOS-Base.repo local.repo
7.cat > local.repo <<EOF
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
8. yum clean all
9.yum makecache

步骤二:编译安装apache服务

1.所需安装包:(有安装包的话,将安装包导入/opt   xfp软件也可以)
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
2.cd /opt
3.解压文件
 tar  zxvf apr-1.6.2.tar.gz
 tar  zxvf  apr-util-1.6.0.tar.gz
 yum -y install bziop2                   ###解压bzip2的压缩包,需要下载解压工具 
 tar jxvf  httpd-2.4.29.tar.bz2
4. mv apr-1.6.2  httpd-2.4.29/srclib/apr        #将解压的apr apr-util   放进解压后的htpd/srclib/里咱们指定的文件
5.mv apr-util-1.6.0  httpd-2.4.29/srclib/apr-util

步骤三:安装编译环境

1. yum -y install gcc gcc-c++ make pcre-devel expat-devel perl  
2. cd   /opt/ httpd-2.4.29
(在httpd下编译安装,指定路径,和其它配置模块)
3.  ./configure  --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
4. 4.make  &&  make install          ###先make -j3   然后make install 也可以  -j3是你核心数,最大不要超过虚拟机的核心数
5. ####优化执行路径####
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
httpd -v      ###查看下HTTP版本
6.###建立[service].service 配置文件添加系统给服务####/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件,用于控制由 systemd 管理或监控的 httpd 服务
cd /lib/systemd/system/
vi httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
7. systemctl  start httpd                 ##开启服务
    systemctl  enable  httpd            ###开机自启http
    systemctl   is-enable  httpd       ###检查HTTP单元是否启动 
8.####httpd.conf修改配置文件###
vi /usr/local/httpd/conf/httpd.conf
ServerName www.51xit.top:80        ###更改下网站域名


systemctl restart httpd                  ####重启httpd服务

步骤四:测试

9.###用系统的浏览器验证###
netstat -anpt | grep 80
在这里插入图片描述

验证成功
(网页默认显示内容为:/usr/local/httpd/htdocs/index.html)

10.vi /usr/local/httpd/htdocs/index.html ##可以更改网页显示内容
在这里插入图片描述

  • 真机测试网页
    在这里插入图片描述
  • 虚拟机测试
    首先在hosts文件做下主机映射,可以测试输入域名,也可以直接输入ip;
    在这里插入图片描述
    注:lynx是文本浏览器,需要安装,yum -y install lynx
    在这里插入图片描述
    在这里插入图片描述

二,构建虚拟主机

注意了!注意了!注意了!
构建虚拟主机是针对web部署
安装LAMP平台的时候可不要做哦,安装LAMP直接一个一个服务搭好就行了!!(linux–apche–mysql–php)不要做构建虚拟web主机流程哦!!!!
提醒下!!!!!!!!!!!!!!

  • 虚拟Web主机
    ●在同一台服务器中运行多个Web站点,其中每-个站点并
    不独立占用一台真正的计算机
  • httpd支持的虚拟主机类型
    ●基于域名的虚拟主机
    ●基于IP地址的虚拟主机
    ●基于端口的虚拟主机

基于域名的虚拟主机

步骤一:在主机映射hosts文件里,做主机映射

●为虚拟主机准备网页文档
1.创建目录
   mkdir  -p /opt/www/html/51xit.top
   mkdir  -p /opt/www/html/52xit.top
2. 创建网页文档 (index.html是网页编辑文档  <h1> ...</h1>之间的是自定内容)
   echo "<h1>woaihgg</h1>" > /opt/www/html/51xit.top/index.html   
   echo "<h1>woaias</h1>" > /opt/www/html/52xit.top/index.html
3.vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>                                                             ####设置 51xit.top 虚拟站点区域
    DocumentRoot "/opt/www/html/51xit.top" 
    ServerName www.51xit.top
    ErrorLog "logs/www.51xit.top.error_log" 
    CustomLog "logs/www.51xit.top.access_log" common
    <Directory "/opt/www/html">                                       ####设置目录访问权限
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>                                                             ####设置 52xit.top 虚拟站点区域
    DocumentRoot "/opt/www/html/52xit.top" 
    ServerName www.52xit.top
    ErrorLog "logs/www.52xit.top.error_log" 
    CustomLog "logs/www.52xit.top.access_log" common
    <Directory "/opt/www/html">                                        ####设置目录访问权限
       Require all granted
    </Directory>
</VirtualHost>

当虚拟 Web 主机的数量较多时,建议使用独立的虚拟主机配置文件,然后在 httpd.conf
文件中通过 Include 加载这些配置。这样可以将对 httpd.conf 文件的改动减至最少,更方便
配置内容的维护。

步骤二:加载独立模块httpd-vhosts

在主配置文件里把然后去掉vhosts.conf前面那个#号
vi /etc/httpd.conf
在这里插入图片描述

步骤三:测试

  • 在主机名映射文件里hosts ,添加主机名映射
    在这里插入图片描述
  • ping 测试一下,确保能和服务主机通信!
    在这里插入图片描述
  • 验证
    在这里插入图片描述

基于IP地址的虚拟主机

步骤一:添加网卡配置,并修改配置信息;

1.cd  /etc/sysconfig/network-scipts/
2.cp ifcfg-ens33   ifcfg-ens36
复制ifcfg-ens33的配置,把信息更改为ens36
3.vi ifcfg-ens36
4.systemctl   restart network
5. ifconfig    #查看网卡配置,发现ens36没有开启成功,重新关闭,再开启网卡
    ifdown ens36
    ifup ens36

在这里插入图片描述

扫描二维码关注公众号,回复: 11597298 查看本文章

步骤二:更改配置文件信息

  1. vi /usr/local/httpd/conf/extra/httpd-vhosts.conf
    在这里插入图片描述
    2.咱们做的那个路径优化软连接,可以直接从/etc/下面文件做更改,一样的
    vi /etc/httpd.conf
    在这里插入图片描述
    3.重启服务
    systemctl restart httpd

步骤三:测试

第一个网卡虚拟机:20.0.0.15
1.同样也是hosts文件里添加映射关系
在这里插入图片描述
在这里插入图片描述
第二个网卡真机测试:192.168.100.15
1.在真机用到hosts,直接添加,保存
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

基于端口的虚拟主机

步骤一:修改httpd-vhosts.confi配置文件

在这里插入图片描述
2.主配置文件添加监听端口号
在这里插入图片描述

步骤二:测试

1.虚拟机测试
在这里插入图片描述

在这里插入图片描述
2.真机测试
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_47320286/article/details/108331211