Linux高级管理案例:构建httpd网站服务器

实验描述

  • 编译安装httpd 服务器.要求支持动态模块扩展、地址重写、多字符集。
  • 网站名称设置为www.bdqn.com,默认首页设置为index.htmi和index.php。
  • 将/usr / share/doc/HTML/zh-CN/目录下的index.html 复制到网站根目录下并改名为redhat。
  • 在浏览器中分别访问http: //www.bdqn.com/redhat与http: //www.bdqn.com/,查看不同的测试万面

思路步骤

  • 编译安装httpd软件包。
  • 配置并启动httpd 服务器。
  • 测试Web站点。

1.准备工作

为了避免发生端口冲突.程序冲突等现象.建议卸载使用RPM方式安装的httpd。

[root@localhost ~]# rpm -e httpd --nodeps

Apache的配置及运行需要apr , pcre等软件包的支持,因此应从系统光盘镜像中预先安装这些软件及其开发包(devel),以便提供相应的库和头文件.确保Apache的安装顺利完成。

[root@localhost ~]# rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-20.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-8.32-17.el7.x86_64.rpm 

下载、解包

将下载获得的httpd源码包解压并释放到/usr/src目录下,且切换到展开后的源码目录中

配置

根据服务器的实际应用需要,可以灵活设置不同的定制选项.如指定安装路径、启用字符集支持等。若要获知可用的各种配置选项及其含义,可以执行“./ configure --help”命令,其中“./表示当前目录。

编译、安装

完成配置以后.执行"make"命令进行编译,将源代码转换为可执行的程序;然后执行"make install^命令完成最后的安装过程,将编译完的httpd程序及相关目录、文件复制到预设的安装目录(由配置时的“——prefix”选项指定)。其中“rnake”的过程可能会需要较长的时间。

[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install

安装结果

使用chkconfig添加系统服务

若希望将httpd添加为系统服务,以便通过chkconfig进行管理,需要建立可控的服务脚本。例如,可将apachectl脚本复制为/etc/init . d/httpd,并在文件开头添加chkconfig 识别配置,然后将其添加为标准的Linux系统服务。

建立[service]. service配置文件

在/lib/systemd/system/目录下,建立一个以.service结尾的单元(unit)配置文件.用于控制由systemd控制或监控的httpd 服务。配置文件主要分为三个部分.控制单元[Unit]的定义、服务[Service]的定义以及安装部分[Install],具体内容如下所示。

[Unit]
Description=The Apache HTTP Server
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pidExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Instal1]
WantedBy=graphical.target

重启测试

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值