先下载好文件:

[root@VM-24-10-centos software]# ll
total 13188
-rw-r--r--  1 apache apache 1093896 Nov 15 21:07 apr-1.7.0.tar.gz
-rw-r--r--  1 apache apache  554301 Nov 15 21:07 apr-util-1.6.1.tar.gz
-rw-r--r--  1 apache apache 9743277 Nov 15 21:08 httpd-2.4.54.tar.gz
-rw-r--r--  1 apache apache 2096552 Nov 15 21:13 pcre-8.45.tar.gz
[root@VM-24-10-centos software]#

1. 创建一个 apache的用户

groupadd apache

useradd -g apache -m apache

1.1 给apache设置个密码

passwd apache   ##回车后,输入2次密码;本次输入的是:apache123

1.2 创建目录

mkdir -p /apache/{8080-apache,relpkg,logs/8080-apache,software}

1.3 上传包到 ,/apache/software

[root@VM-24-10-centos software]# pwd
/apache/software
[root@VM-24-10-centos software]# ll
total 13188
-rw-r--r--  1 apache apache 1093896 Nov 15 21:07 apr-1.7.0.tar.gz
-rw-r--r--  1 apache apache  554301 Nov 15 21:07 apr-util-1.6.1.tar.gz
-rw-r--r--  1 apache apache 9743277 Nov 15 21:08 httpd-2.4.54.tar.gz
-rw-r--r--  1 apache apache 2096552 Nov 15 21:13 pcre-8.45.tar.gz
[root@VM-24-10-centos software]#

1.4 设置目录权限

chown -R apache:apache /apache/

2.开始安装

2.1 切换  apache用户

su - apache

2.2 安装 apr

cd /apache/software
tar -zxvf apr-1.7.0.tar.gz
cd apr-1.7.0
./configure --prefix=/apache/relpkg/apr
echo $?     ##返回0 ,代表 执行成功,其他数字代表失败
make && make install
echo $?

2.3 安装apr-util

cd /apache/software
tar -zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/apache/relpkg/apr-util --with-apr=/apache/relpkg/apr/bin/apr-1-config
echo $?
make && make install
echo $?

2.3.1 如果 make && make install 执行 报错:

xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory

linux服务器离线安装Gitlab linux离线安装httpd_apache

 

2.3.2 则 尝试,切换到 root用户安装:

yum -y install expat-devel

2.3.3 然后再切会 apache用户 继续安装  make && make install

linux服务器离线安装Gitlab linux离线安装httpd_运维_02

2.4  安装 pcre

cd /apache/software
tar -zxvf pcre-8.45.tar.gz
cd pcre-8.45
./configure --prefix=/apache/relpkg/pcre
echo $?
make && make install
echo $?

linux服务器离线安装Gitlab linux离线安装httpd_运维_03

 

linux服务器离线安装Gitlab linux离线安装httpd_服务器_04

 

2.5 安装 openssl (不需要的可以跳过这一步, openssl是为了添加 https)

cd /apache/software
tar -zxvf openssl-1.0.2r.tar.gz 
cd openssl-1.0.2r
./config --prefix=/apache/openssl-1.0.1m -fPIC no-gost no-shared no-zlib
echo $?
make depend
echo $?
make install
echo $?

2.6 安装 httpd

cd /apache/software
tar -zxvf httpd-2.4.54.tar.gz
cd httpd-2.4.54
cp -r ../apr-1.7.0 srclib/apr
cp -r ../apr-util-1.6.1 srclib/apr-util
==不安装openssl执行:
./configure --prefix=/apache/8080-apache --with-included-apr --with-pcre=/apache/relpkg/pcre/bin/pcre-config
==安装openssl执行:
./configure --prefix=/apache/8080-apache --with-included-apr --with-pcre=/apache/relpkg/pcre/bin/pcre-config --enable-ssl --with-ssl=/apache/openssl-1.0.1m
 

==如果是 yum install 安装的 openssl ,则执行:

./configure --prefix=/apache/8080-apache --with-included-apr --with-pcre=/apache/relpkg/pcre/bin/pcre-config --enable-ssl --with-http_ssl_module

echo $?
make && make install
ehco $?

linux服务器离线安装Gitlab linux离线安装httpd_linux_05

 

linux服务器离线安装Gitlab linux离线安装httpd_apache_06

 

2.7 修改配置:

2.7.1 修改 httpd.conf

cd /apache/8080-apache/conf/
cp httpd.conf httpd.conf`date +%Y%m%d`
vim httpd.conf

##修改监听端口,默认是80端口
Listen 8080

##打开模块,即将注销掉的打开
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so

##修改服务名称和端口
ServerName localhost:8080

##将Options Indexes FollowSymLinks中的Indexes去掉,加强访问安全
Options FollowSymLinks

##修改错误日志目录和格式,默认:ErrorLog "logs/error_log",
##修改后1天生成一个错误日志文件
ErrorLog "|/apache/8080-apache/bin/rotatelogs /app/logs/8080-apache/error_%Y%m%d.log 86400 480"

##修改访问日志目录和格式,CustomLog "logs/access_log" common,
##修改后一天生成一个错误日志文件,正常后为了性能可以注销掉访问日志
CustomLog "|/apache/8080-apache/bin/rotatelogs /app/logs/8080-apache/access_%Y%m%d.log 86400 480" common

##打开引用文件,为优化做准备,默认:注销掉 
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-default.conf

##此文件尾部添加跳转
<Location /xxx>
##访问app服务F5地址
webLogicHost xxx
##访问app服务F5地址端口号
webLogicPort 7001   
##连接超时时间,单位:秒
ConnectTimeoutSecs  20 
##关闭动态服务列,使用Weblogic集群需打开
DynamicServerList OFF 
##打开连接保持,即连接复用
KeepAliveEnabled ON  
##连接保持5秒,单位:秒
KeepAliveSecs 5 
</Location>

##禁用WWW服务对TRACE请求支持
TraceEnable off

2.7.2 修改 httpd-default.conf

cd extra/
cp httpd-default.conf httpd-default.conf`date +%Y%m%d`
vim httpd-default.conf

##修改超时时间,默认60秒
Timeout 80
##打开连接保持
KeepAlive On
##修改最大保持连接数,默认200,设置0为不限制
MaxKeepAliveRequests  500
##修改每个连接保持时间,单位:秒
KeepAliveTimeout  5
##避免请求重构URL,为了提高性能,打开此配置项
UseCanonicalName  On
##减少DNS查询的次数,为了提高性能,关掉此配置项
HostnameLookups  Off

2.7.3 修改 httpd-mpm.conf

cp httpd-mpm.conf httpd-mpm.conf`date +%Y%m%d`
vim httpd-mpm.conf

##修改mpm_event_module模块中的内容
<IfModule mpm_event_module>
    ## 系统配置的最大进程数量
    ServerLimit    100  
    ## 服务器启动时建立的子进程数量 
    StartServers    20  
    ## 空闲子进程的最小数量,默认75
    MinSpareThreads  75 
    ## 空闲子进程的最大数量,默认250
    MaxSpareThreads  1200 
    ## 每个子进程产生的线程数量
    ThreadsPerChild  50 
    ## 服务器同一时间内客户端最大请求数
    MaxRequestWorkers  2000 
    ## 每个子进程在其生命周期内允许最大的请求数量
    MaxConnectionsPerChild  10000 
</IfModule>