自学内容网 自学内容网

Linux(CentOS7)部署httpd-2.4.37源码包

部署MySQL-5.6.31源码点击跳转
部署PHP-7.2.17源码包点击跳转

准备工作apache

  1. 下载源码包和依赖的源码包,资源见文章顶部
  2. 把压缩包内的文件上传到服务器,这里用MobaXterm远程连接工具

安装httpd依赖

安装apr-1.5.2.tar.xz

  1. 解压
tar xf apr-1.5.2.tar.xz
  1. 进入apr-1.5.2文件夹
cd ./apr-1.5.2/
  1. 安装apr
./configure && make && make install

安装apr-util-1.5.4

  1. 解压
tar xf apr-util-1.5.4.tar.xz
  1. 进入apr-util-1.5.4文件夹
cd ./apr-util-1.5.4/
  1. 指定软件apr的路径
./configure --with-apr=/usr/local/apr/bin/apr-1-config
  1. 安装apr-util
make && make install

安装httpd

防止默认安装,先卸载一下

yum remove httpd -y

1. 解压并进入httpd-2.4.37文件夹

tar xf httpd-2.4.37.tar.bz2
cd ./httpd-2.4.37/

2. 编写apache.sh脚本

vim apache.sh

编写内容

./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--with-pcre \
--enable-ssl \
--with-mpm=prefork \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config

配置参数说明(默认什么功能都没有,必须通过模块的进行添加!)
–enable-modules=all 加载所有支持模块
–enable-mods-shared=all 共享方式加载大部分常用的模块
–enable-so 启动动态模块加载功能
–enable-rewrite 启用url地址重写功能
–enable-ssl 编译ssl模块,支持https
–with-pcre 支持正则表达式
–with-apr=/usr/local/apr/bin/apr-1-config 指定依赖软件apr路径
–with-apr-util=/usr/local/apr/bin/apu-1-config 指向apr-util工具的路径
–with-mpm=prefork 插入式并行处理模块,称为多路处理模块,Prefork 是类UNIX平台上默认的MPM

–with-mpm选项说明
(1)prefork
多进程模型,每个进程响应一个请求
(2)worker
多进程多线程模型,每个线程处理一个用户请求
(3)event(最优)
事件驱动模型,多进程模型,每个进程响应多个请求

3. 安装httpd

apache.sh文件添加x执行权限

chmod +x apache.sh

运行apache.sh文件

./apache.sh

进行编译安装

make && make install

4. 运行测试是否成功

apachectl文件路径写到环境变量中

echo 'export PATH=$PATH:/usr/local/apache2/bin' >> /etc/profile

执行apachectl启动apache

apachectl start

可用选项start:启动;restart:重启;stop:停止
如果报错检查一下80端口是否占用
在浏览器输入IP地址或域名,成功的话可以看见下面这样的信息
在这里插入图片描述

不同端口号访问不同项目

假定在根目录下的www文件夹里有个html项目

mkdir -p /www/html

在其中新建一个index.html并编写用于测试,内容随便

vim /www/html/index.html

1. 修改配置文件

进入apache软件目录

cd/usr/local/apache2/

开始编辑httpd.conf文件

vim conf/httpd.conf

增加监听的端口,在52行Listen 80下面添加所需端口号

Listen 8080

开启虚拟主机的配置文件,找到下面代码,解掉注释,大概在490行

Include conf/extra/httpd-vhosts.conf

在最后一行编写下面配置

<Directory "/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
  • Options Indexes FollowSymLinks 允许生成目录列表,改为Options FollowSymLinks就不允许
  • AllowOverride None不允许使用.htaccess文件来修改这个目录的配置
  • Require all granted允许所有用户自由访问这个目录中的内容,改为Require all denied就不允许

2. 编写虚拟机配置文件

编写httpd-vhosts.conf文件

vim conf/extra/httpd-vhosts.conf

文件内的内容为示例内容,删除或注释后将下面配置信息写在文件最后

<VirtualHost *:8080>
    DocumentRoot "/www/html"
    ServerName www.ceshi.com
    ErrorLog "/www/logs/error_log"
    CustomLog "/www/logs/access_log" common
</VirtualHost>

保存并退出,重启即可生效

apachectl restart

打开apache对中文的支持

进入apache软件目录

cd/usr/local/apache2/

开始编辑httpd.conf文件

vim conf/httpd.conf

找到下面代码解掉注释保存并退出,大概在160行和482行

LoadModule negotiation_module modules/mod_negotiation.so
Include conf/extra/httpd-languages.conf

然后修改./conf/extra/httpd-languages.conf文件

vim conf/extra/httpd-languages.conf

找到下面代码,并修改我下面代码,大概在19行和78行

DefaultLanguage zh-CN
LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-TW

重启即可生效

apachectl restart

原文地址:https://blog.csdn.net/thetender/article/details/139937828

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!