设为首页 收藏本站
查看: 1054|回复: 0

[经验分享] Apache2.4.25编译安装之虚拟主机For Centos7

[复制链接]

尚未签到

发表于 2018-11-29 08:45:22 | 显示全部楼层 |阅读模式
  安装之前准备:

  •   配置好防火墙,selinux,时区.
  •   检查系统是否安装了httpd服务
  •   yum install gcc gcc-c++ zlib-devel
  •   下载软件,pcre,apr,apr-util,apache

  wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz
  wget http://mirror.bit.edu.cn/apache//apr/apr-1.5.2.tar.gz
  wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
  wget http://apache.fayea.com/httpd/httpd-2.4.25.tar.gz
  

  创建软件安装目录及下载目录
  1.下载目录: /opt/dowanload
  2.安装目录:
  
[root@bbs ~]# tree -L 1 /opt/app/
/opt/app/                      #主目录
├── apache -> /opt/app/apache2.4.25  #软连接,方便以后升级及管理
├── apache2.4.25               #apache安装目录,所有文件存放地
├── apr                     #apr 目录
├── apr-util                 #apr-util 目录
└── pcre                    #pcre 目录
  
编译安装依赖包

  
tar zxf apr apr-util pcre
先安装apr,apr-util依赖apr


#cd /opt/download
#cd  apr-1.5.2
#./configure --prefix=/opt/app/apr
#make && make install


#cd apr-util-1.5.4
#./configure --prefix=/opt/app/apr-util --with-apr=/opt/app/apr
#make && make install


#cd pcre-8.40
#./configure --prefix=opt/app/pcre
#make && make install
  

  开始编译安装apache
# tar zxf  httpd-2.4.25.tar.gz
# cd http-2.4.25
# ./configure --prefix=/opt/app/apache2.4.25 --with-apr=/opt/app/apr --with-apr-util=/opt/app/apr-util --with-pcre=/opt/app/pcre --with-mpm=worker --enable-rewrite --enable-so --enable-headers --enable-expires --enable-deflate
# make && make install
  
虚拟主机篇(先备份好需要改动的配置文件)
  #软连接 ln -s /opt/app/apache2.4.25 /opt/app/apache
  
默认安装完成后有如下文件:

[root@bbs extra]# tree -L 1 /opt/app/apache
/opt/app/apache
├── bin    #启动目录
├── build                                 
├── cgi-bin
├── conf
├── error
├── htdocs
├── icons
├── include
├── logs
├── man
├── manual
└── modules


[root@bbs ~]# tree -L 1 /opt/app/apache/conf/
/opt/app/apache/conf/
├── extra    #此文件存放虚拟主机配置文件等           
├── httpd.conf #主配置文件
├── magic                             
├── mime.types                       
└── original
  
配置虚拟主机
[root@bbs extra]# tree -L 1 /opt/app/apache/conf/extra
/opt/app/apache/conf/extra
├── httpd-autoindex.conf
├── httpd-dav.conf
├── httpd-default.conf
├── httpd-info.conf
├── httpd-languages.conf
├── httpd-manual.conf
├── httpd-mpm.conf
├── httpd-multilang-errordoc.conf
├── httpd-ssl.conf
├── httpd-userdir.conf
├── httpd-vhosts.conf         #虚拟主机文件,
├── httpd-vhosts.conf.2017-04-05
└── proxy-html.conf
  
  

  编辑虚拟主机文档,跟2.4版本前的稍微有些变动
[root@bbs extra]# egrep -v "^$|#"  /opt/app/apache/conf/extra/httpd-vhosts.conf
                  
    ServerAdmin sadoc.blog.运维网.com      
    DocumentRoot "/var/www"             #web网站存放目录,请mkdir好目录
    ServerName bbs.5iyunv.com            #域名
    ServerAlias 52ctt.com              #域名别名
    ErrorLog "logs/bbs-error_log"         #错误日志
    CustomLog "logs/bbs-access_log" common   #客户端访问日志

  修改主配置文件
  
DocumentRoot "/opt/app/apache2.4.25/htdocs"

    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted

#新增如下,不增加会报错403错误.

   Options Indexes FollowSymLinks
   AllowOverride None
   Require all granted



#取消了vhost的加载注释


  Include conf/extra/httpd-vhosts.conf


  apache服务启动方式:
  
[root@bbs ~]# /opt/app/apache/bin/apachectl -t  #检查配置文件是否正常.
Syntax OK   
[root@bbs ~]# /opt/app/apache/bin/apachectl -k start  #启动服务
  
  
自己手动写启动脚本,方便启动.
  脚本写的很简单,也可以用进程数量判断
[root@bbs ~]# cat /etc/init.d/httpd


#!/bin/bash
#author:http://sadoc.blog.运维网.com/
#2017-04-06


#加载函数库
. /etc/rc.d/init.d/functions


#定义变量本脚本以Pid文件是否存在判断启动.
PID="/opt/app/apache/logs/httpd.pid"
STARTING="/opt/app/apache/bin/apachectl"


start(){
if [ ! -s "$PID" ];then
  $STARTING -k start
  action "Apache Start" /bin/true
fi


}


stop(){
if [ -s "$PID" ];then
  $STARTING -k stop
  action "Apache Stop:" /bin/true
fi


}


case "$1" in


start)
start

;;

stop)
  stop
  
  ;;


  restart)
    $0 stop;
    $0 start;
  
  ;;

esac
  # chmod +x /etc/init.d/httpd
  用了脚本后,直接yum方式启动,centos7可以用systemctl管理启动
  
[root@bbs ~]# systemctl status httpd.service  
● httpd.service - (null)
   Loaded: loaded (/etc/rc.d/init.d/httpd; bad; vendor preset: disabled)
   Active: active (running) since Wed 2017-04-05 17:20:03 CST; 22h ago
   Docs: man:systemd-sysv-generator(8)
  Process: 3873 ExecStart=/etc/rc.d/init.d/httpd start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/httpd.service
           ├─3877 /opt/app/apache2.4.25/bin/httpd -k start
           ├─3879 /opt/app/apache2.4.25/bin/httpd -k start
           ├─3880 /opt/app/apache2.4.25/bin/httpd -k start
           ├─3881 /opt/app/apache2.4.25/bin/httpd -k start
           └─3963 /opt/app/apache2.4.25/bin/httpd -k start
Apr 05 17:20:03 bbs.5iyunv.com systemd[1]: Starting (null)...
Apr 05 17:20:03 bbs.5iyunv.com httpd[3873]: Apache Start [  OK  ]
Apr 05 17:20:03 bbs.5iyunv.com systemd[1]: Started (null).
  
# 查看服务端口
  [root@bbs ~]# lsof -i:80
  COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
  httpd   3877   root    4u  IPv6  29554      0t0  TCP *:http (LISTEN)
  httpd   3879 daemon    4u  IPv6  29554      0t0  TCP *:http (LISTEN)
  httpd   3880 daemon    4u  IPv6  29554      0t0  TCP *:http (LISTEN)
  httpd   3881 daemon    4u  IPv6  29554      0t0  TCP *:http (LISTEN)
  httpd   3963 daemon    4u  IPv6  29554      0t0  TCP *:http (LISTEN)
  [root@bbs ~]# ps -ef | grep httpd
  root           3877      1  0 Apr05 ?           00:00:03 /opt/app/apache2.4.25/bin/httpd -k start
  daemon     3879   3877  0 Apr05 ?        00:00:00 /opt/app/apache2.4.25/bin/httpd -k start
  daemon     3880   3877  0 Apr05 ?        00:00:00 /opt/app/apache2.4.25/bin/httpd -k start
  daemon     3881   3877  0 Apr05 ?        00:00:00 /opt/app/apache2.4.25/bin/httpd -k start
  daemon     3963   3877  0 Apr05 ?        00:00:00 /opt/app/apache2.4.25/bin/httpd -k start
  root           6074   2380  0 15:45 pts/0   00:00:00 grep --color=auto httpd
  

  查PID文件
  
[root@bbs ~]# cat /opt/app/apache/logs/httpd.pid
3877
  

  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640965-1-1.html 上篇帖子: cronolog apache日志大小限制2G的问题 下篇帖子: 日记 [2007年05月09日]Apache 和Tomacat 整合(jk)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表