介绍
介绍
在linux操作系统下面,apache是非常流行的web服务器,大部分生产环境都是使用apache作为web服务器的,apache和php是亲密搭档,所以学习php编程就一定要学会安装使用apache这个web服务器软件
基本信息
安装环境
CentOS:CentOS Linux release 7.6.1810 (Core)
Linux:Linux version 3.10.0-1062.el7.x86_64
GCC:gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
软件版本
apr-1.6.5.tar.gz
apr-util-1.6.1.tar.gz
httpd-2.4.46.tar.gz
验证时间
2020/09/12
准备工作
本地化
如果是新环境,我们需要设置时区以保证时间显示正确
timedatectl set-timezone Asia/Shanghai
安装wget
如果环境里没有wget,通过yum安装一下
yum -y install wget
安装gcc
如果环境里没有编译工具,通过yum安装一下
yum -y install gcc gcc-c++ make
安装依赖包
这些是apache依赖的软件库
yum -y install expat-devel pcre-devel openssl-devel perl libxml* curl-devel freetype-devel autoconf
建立环境根目录
建立软件安装根目录
mkdir -p /tongfu.net/env/
建立安装包目录并进入
建立软件安装包保存目录
mkdir /packages cd /packages
安装Apache 2.4
准备
apr-1.6.5.tar.gz
apr-util-1.6.1.tar.gz
httpd-2.4.46.tar.gz
下载安装包
下载apr,apr-util,httpd软件包
wget http://mirror.bit.edu.cn/apache/apr/apr-1.6.5.tar.gz wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.46.tar.gz
百度网盘资源
apr-1.6.5.tar.gz
链接: https://pan.baidu.com/s/1-tpTzQy7KeoOLO5IPLsIqA 提取码: buyx
apr-util-1.6.1.tar.gz
链接: https://pan.baidu.com/s/14N5yMQKQQTOACrl4--PutA 提取码: f2fk
httpd-2.4.46.tar.gz
链接: https://pan.baidu.com/s/1BeLWykiEc0_9Txp7AH974g 提取码: uu7m
安装apr
tar xzvf apr-1.6.5.tar.gz cd apr-1.6.5 ./configure --prefix=/tongfu.net/env/apr-1.6.5 make && make install cd ..
安装apr-util
tar xzvf apr-util-1.6.1.tar.gz cd apr-util-1.6.1 ./configure --prefix=/tongfu.net/env/apr-util-1.6.1 \ --with-apr=/tongfu.net/env/apr-1.6.5/bin/apr-1-config make && make install cd ..
安装httpd
tar xzvf httpd-2.4.46.tar.gz cd httpd-2.4.46 ./configure --prefix=/tongfu.net/env/httpd-2.4.46 \ --with-apr=/tongfu.net/env/apr-1.6.5 \ --with-apr-util=/tongfu.net/env/apr-util-1.6.1 \ --with-pcre \ --enable-so \ --enable-rewrite \ --enable-ssl make && make install cd ..
初始化
打开 httpd.conf 配置文件
将 ServerAdmin 设置为 webmaster@tongfu.net
将 ServerName 设置为 localhost
将 Listen 设置为 8080
[root@tfdev]# vi /tongfu.net/env/httpd-2.4.46/conf/httpd.conf ServerAdmin webmaster@localhost ServerName localhost Listen 8080
注意:为什么我们要把Apache的端口设置为 8080 呢?因为一般情况下Apache都是工作在Nginx后面的
启动
启动apache
/tongfu.net/env/httpd-2.4.46/bin/apachectl start
自动启动
添加系统服务脚本
[root@tfdev]# cat > /lib/systemd/system/httpd.service <<EOF [Unit] Description=httpd After=network.target [Service] Type=forking ExecStart=/tongfu.net/env/httpd-2.4.46/bin/apachectl start ExecReload=/tongfu.net/env/httpd-2.4.46/bin/apachectl restart ExecStop=/tongfu.net/env/httpd-2.4.46/bin/apachectl stop PrivateTmp=true [Install] WantedBy=multi-user.target EOF
使用 systemctl 管理 httpd 服务
systemctl enable httpd # 设置自动启动 systemctl start httpd # 启动服务 systemctl stop httpd # 停止服务 systemctl restart httpd # 重启服务
关闭防火墙
默认CentOS 7会开启防火墙,开发环境的话,直接将防火墙关掉就可以了
systemctl stop firewalld systemctl disable firewalld
测试
curl测试
通过curl命令测试
[root@fdev]# curl 'http://localhost:8080/' <html><body><h1>It works!</h1></body></html>
浏览器测试
通过浏览器测试