源码编译安装Apache服务

文章目录

  • 前言
  • 一、Apache简介
  • 二、Apache网站服务源码编译安装
    • 1.安装Apache所需软件
    • 2.安装环境
    • 3.configure配置
    • 4.make编译安装
    • 5.配置启动脚本
    • 6.开启Http服务端口
  • 测试


前言

Apache源码编译安装


提示:以下是本篇文章正文内容,下面案例可供参考

一、Apache简介

源码编译安装Apache服务_第1张图片
源码编译安装Apache服务_第2张图片

二、Apache网站服务源码编译安装

1.安装Apache所需软件

:操作如下所示

apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.gz

##将上面3个包传到opt目录下##
cd /opt
ll
总用量 8020
-rw-r--r--  1 root root 1071074 84 17:33 apr-1.6.2.tar.gz
-rw-r--r--  1 root root  565507 84 17:33 apr-util-1.6.0.tar.gz
-rw-r--r--  1 root root 6567926 84 17:33 httpd-2.4.29.tar.bz2
-rw-r--r--  1 root root 6567926 84 17:33 httpd-2.4.29.tar.bz2

解压安装包

tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.29.tar.bz2

为了实现Apache服务跨平台,必须移动下面俩个目录

mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

2.安装环境

yum -y install \  
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

gcc ,gcc-c++ 是源码编译器( 作用:将输入的代码解析成电脑能识别的语言)
make 是可以将配置文件构建出二进制文件 递给电脑
pcre-devel 支持正则表达式
expat-devel 使网站能解析标签语言的工具
perl 一种拥有各种语言功能的梦幻脚本语言


3.configure配置

cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

–prefix:指定将 httpd 服务程序安装到哪个目录下,如/usr/local/httpd
–enable-so:开启HTTP的核心模块
–enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
–enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网
–enable-cgi:支持多种语言,对语言进行规范设

4.make编译安装

make && make install                 
make -j3   然后make install   -j3是你核心数,最大不要超过虚拟机的核心数

####优化执行路径####
ln -s /usr/local/httpd/conf/httpd.conf /etc/ ##简化配置文件的地址
ln -s /usr/local/httpd/bin/* /usr/local/bin/ ##将http执行文件放入系统中便于管理
httpd -v ###查看下HTTP版本

5.配置启动脚本

方法一:

[root@localhost bin]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[root@localhost httpd]# cd bin
[root@localhost bin]# ls
ab            apu-1-config  dbmmanage    fcgistarter   htdigest  httxt2dbm
apachectl     apxs          envvars      htcacheclean  htpasswd  logresolve
apr-1-config  checkgid      envvars-std  htdbm         httpd     rotatelogs
[root@localhost bin]# cp apachectl /etc/init.d/httpd '//将启动脚本复制到/etc/init.d/初始化脚本文件中,并重命名为httpd'
[root@localhost bin]# cd /etc/init.d/
[root@localhost init.d]# ls
functions  httpd  netconsole  network  README
[root@localhost init.d]# vim httpd 
#!/bin/sh '//在行首插入下两行内容,并保存退出'
# chkconfig: 35 85 21   '//35级别自动运行  第85个启动 第21个关闭'
# description: Apache is a World Wide Web server
#
#...省略内容
[root@localhost init.d]# chkconfig --add httpd  '//将httpd加入到SERVICE管理器'
[root@localhost init.d]# chkconfig --list httpd       ###查看http服务自启状态 该输出结果只显示Sysv服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖    

方法二:建立[service].service 配置文件添加系统给服务
在/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件,用于控制由 systemd 管理或监控的 httpd 服务

cd /lib/systemd/system/
##建立配置文件##
vim 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

验证配置文件的语法(两种方式)
(1)httpd -t
(2)apachectl -t

[root@localhost system]# systemctl start httpd.service
[root@localhost system]# systemctl enable httpd.service ###开机自启http
[root@localhost system]# systemctl is-enabled httpd.service ###检查HTTP单元是否启动

6.开启Http服务端口

vi /usr/local/httpd/conf/httpd.conf
ServerName www.51xit.top:80  ###更改下
systemctl restart httpd      ####重启httpd服务

如何查看服务是否起来?

ps aux | grep httpd ##查看进程

netstat -ntap | grep 80 ##查看端口
tcp 0 0 192.168.197.139:80 0.0.0.0:* LISTEN 69155/httpd

测试

关闭防火墙

systemctl stop firewalld.service
setenforce 0    查看核心防护

登录验证,Apache服务启动成功
源码编译安装Apache服务_第3张图片

你可能感兴趣的:(群集,apache)