资源规划

组件 bigdata-node1 bigdata-node2 bigdata-node3
OS centos7.6 centos7.6 centos7.6
Apache httpd、apachectl N.A N.A

安装介质

  • httpd-2.4.6.tar.gzhttp://archive.apache.org/dist/httpd/httpd-2.4.6.tar.gz
  • apr-1.7.0.tar.gzhttps://mirrors.bfsu.edu.cn/apache/apr/apr-1.7.0.tar.gz
  • apr-util-1.6.1.tar.gzhttps://mirrors.bfsu.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
  • openssl-1.1.1g.tar.gzhttps://www.openssl.org/source/openssl-1.1.1g.tar.gz
  • pcre-8.10.ziphttps://nchc.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip
  • expat_2.0.1.orig.tar.gzhttps://launchpad.net/ubuntu/+archive/primary/+sourcefiles/expat/2.0.1-7.2ubuntu1.4/expat_2.0.1.orig.tar.gz

    安装Apache

    解压缩

    1. tar -zxvf /share/httpd-2.4.6.tar.gz -C ~/modules/

    安装准备

    安装apr

    1. tar -zxvf /share/apr-1.7.0.tar.gz -C ~/modules/httpd-2.4.6/srclib/
    2. cd ~/modules/httpd-2.4.6/srclib
    3. mv apr-1.7.0 apr

    安装apr-util

    1. tar -zxvf /share/apr-util-1.6.1.tar.gz -C ~/modules/httpd-2.4.6/srclib/
    2. cd ~/modules/httpd-2.4.6/srclib
    3. mv apr-util-1.6.1 apr-util

    安装ssl(可选)

    1. tar -zxvf /share/openssl-1.1.1g.tar.gz -C ~/modules/httpd-2.4.6/srclib/
    2. cd ~/modules/httpd-2.4.6/srclib/openssl-1.1.1g
    3. ./config -fPIC --prefix=/home/vagrant/modules/ssl && make && make install

    安装pcre

    1. cd ~/modules/httpd-2.4.6/srclib
    2. cp /share/pcre-8.10.zip ./
    3. # sudo yum install -y unzip zip
    4. unzip -o pcre-8.10.zip
    5. cd pcre-8.10
    6. ./configure --prefix=/home/vagrant/modules/pcre
    7. make -j8 && make install

    安装expat

    1. # 在线安装
    2. #sudo yum install expat-devel
    3. tar -zxvf /share/expat_2.0.1.orig.tar.gz -C ~/modules/httpd-2.4.6/srclib/
    4. cd ~/modules/httpd-2.4.6/srclib/expat-2.0.1
    5. ./configure --prefix=/home/vagrant/modules/expat
    6. make -j8 && make install

    对于64位操作系统,需要手动的拷贝下动态链接库到“lib64”下:

    1. mkdir /home/vagrant/modules/expat/lib64
    2. cp -a /home/vagrant/modules/expat/lib/* /home/vagrant/modules/expat/lib64/

    安装httpd

    1. cd ~/modules/httpd-2.4.6
    2. # expat在线安装
    3. # ./configure --with-included-apr --with-pcre=/home/vagrant/modules/pcre --prefix=/home/vagrant/modules/apache2 --enable-mods-shared=most
    4. # expat离线安装
    5. ./configure --with-expat=/home/vagrant/modules/expat --with-included-apr --with-pcre=/home/vagrant/modules/pcre --prefix=/home/vagrant/modules/apache2
    6. # ssl支持
    7. ./configure --with-included-apr --with-pcre=/home/vagrant/modules/pcre --with-ssl=/home/vagrant/modules/ssl --prefix=/home/vagrant/modules/apache2 --enable-mods-shared=most
    8. # httpd安装
    9. make -j8 && make install

    参数说明:

  • —prefix:安装目录。

  • —with-included-apr:apr & apr-util安装目录,Socket调度。
  • —with-pcre:pcre安装目录,用于正则匹配。
  • —with-expat:expat安装目录,用于解析XML格式的文件。
  • —enable-mods:静态加载模块()。most:加载通用模块;all:加载所有模块。
  • —enable-mods-shared:动态加载模块(LoadModule)。most:加载通用模块;all:加载所有模块。

    配置

    配置非root用户无法绑定80特权端口,打开${APACHE_HOME}/conf/httpd.conf修改端口并配置其他信息。

    1. vi ~/modules/apache2/conf/httpd.conf

    内容如下:

    1. Listen 8083
    2. ServerName bigdata-node1
    3. User vagrant
    4. Group vagrant

    配置环境变量:

    1. vi ~/.bashrc

    内容如下:

    1. export APACHE_HOME=/home/vagrant/modules/apache2
    2. export PATH=${APACHE_HOME}/bin:$PATH

    配置生效:

    1. source ~/.bashrc

    启动

  • 特权端口支持

因为普通用户只能用1024以上的端口,1024以内的端口只能由root用户使用。但是为了避免每次启动都通过root用户,可以通过set UID的方式来解决此问题。一次性进行如下操作即可完成。

  1. # 切换到root用户
  2. sudo su
  3. cd /home/vagrant/modules/apache2/bin
  4. chown root httpd
  5. chmod u+s httpd
  6. # 切换到普通用户
  7. su - vagrant
  • apachectl启停Apache
    1. apachectl -k start
    2. apachectl -k stop
    3. # 推荐
    4. httpd -k start
    5. httpd -k stop
    说明:-k:表示向父进程发送信号,是源于UNIX的kill命令向运行中的进程发送信号(TERM、HUP、USR1)。

    验证

    1. # 查看服务是否运行
    2. ps -ef | grep httpd
    3. ps aux |grep httpd
    4. # 查看端口
    5. sudo netstat -anpl | grep httpd
    6. # URL访问
    7. curl http://bigdata-node1:8083
    8. curl http://bigdata-node1

    参考

    博文:Apache离线安装参考
    http://www.bubuko.com/infodetail-2572548.html