httpd:是一个提供网站服务的程序

监听端口:80

环境准备:

Linux CentOS7.3系统

使用一台服务端,一台客户端即可;

一、安装httpd

1:安装

[root@localhost ~]# systemctl stop firewalld        

[root@localhost ~]# setensorce  0    

 

[root@localhost ~]# rpm -e httpd –nodeps                 #卸载系统自带的httpd

[root@localhost ~]# mkdir /media/cdrom                 #创建挂载点文件夹

[root@localhost ~]# mount /dev/cdrom /media/cdrom          #挂载光盘

[root@localhost ~]# yum -y install gcc* apr-devel apr-util-devel pcre-devel     #安装开发包

 

[root@localhost ~]# tar zxvf httpd-2.4.25.tar.gz                      #解压缩包

[root@localhost ~]# cd httpd-2.4.25

[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi     

注释:

--prefix:制定程序的安装目录

--enable-so:启用动态加载模块DSO的支持,使httpd具备进一步扩展功能的能力

--enable-rewrite:启用网页地址重写功能,用于网站优化

--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页

--enable-cgi:启用cgi脚本程序支持,扩展网站的应用访问能力

 

[root@localhost httpd-2.4.25]# make && make install          

[root@localhost httpd-2.4.25]# ls /usr/local/httpd      

[root@localhost httpd-2.4.25]# /usr/local/httpd/bin/apachectl  start 

[root@localhost httpd-2.4.25]# netstat -anpt |grep httpd 

[root@localhost httpd-2.4.25]# /usr/local/httpd/bin/apachectl  stop       

[root@localhost httpd-2.4.25]# netstat -anpt |grep httpd 

 

2:优化执行路径

[root@localhost httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin/    

[root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl  

 #查看软连接

[root@localhost httpd-2.4.25]# httpd  -v                                     

[root@localhost httpd-2.4.25]# apachectl  start                             

[root@localhost httpd-2.4.25]# netstat -anpt |grep httpd          

[root@localhost httpd-2.4.25]# apachectl  stop              

[root@localhost httpd-2.4.25]# netstat -anpt |grep httpd        

3:添加httpd系统服务

使用chkconfig添加为系统服务

[root@localhost httpd-2.4.25]# cp /usr/local/httpd/bin/apachectl  /etc/init.d/httpd              #复制配置文件

[root@localhost httpd-2.4.25]# vi /etc/init.d/httpd                         //编辑配置文件

添加:

#!/bin/sh        

#chkconfig:35 85 21         

#description:httpd server

[root@localhost httpd-2.4.25]# chkconfig --add httpd           #加入系统服务,开机启动

[root@localhost httpd-2.4.25]# chkconfig --list httpd       

[root@localhost httpd-2.4.25]# service httpd start                   #启动httpd

 

二、httpd服务器的基本配置

1:确定网站的名称、ip地址和域名

2:配置并启动httpd

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf

修改(前面的数字是行号):

    ServerName www.bdqn.com           ##200行        

 

[root@localhost ~]# apachectl -t                                               #检测配置文件语法

2:启动httpd服务

[root@localhost ~]# systemctl start httpd                                 #启动httpd

[root@localhost ~]# netstat -anpt | grep httpd      

3:部署网页

[root@localhost ~]# vim /usr/local/httpd/htdocs/index.html         #编辑主页

<html><body><h1>It works!</h1></body></html>

[root@localhost ~]# service httpd restart                                          #重启httpd服务

 

4:测试

打开网站

http://192.168.10.101

 

5:查看站点访问情况

[root@localhost ~]# tail /usr/local/httpd/logs/access_log  

[root@localhost ~]# tail /usr/local/httpd/logs/error_log    

 

 

三、httpd.conf配置文件解释

1:全局配置项

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf

ServerRoot "/usr/local/httpd"      

Listen 80                                                                  #监听端口(默认80)

User daemon                                                          #用户     (默认daemon)

Group daemon                                                       #用户组(默认daemon)

ServerAdmin you@example.com                          #邮箱地址

ServerName www.bdqn.com                         #网站域名

DocumentRoot "/usr/local/httpd/htdocs"           #网页存储位置

DirectoryIndex index.html                                     #默认主页

ErrorLog "logs/error_log"                                      #错误日志文件存储位置

LogLevel warn                                                        #日志级别

CustomLog "logs/access_log" common               #正常访问日志

 

Include conf/extra/proxy-html.conf                     #虚拟主机路径

 

 

2:区域配置项

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf

<Directory />                      #根目录

    AllowOverride none

    Require all denied

</Directory>

 

<Directory "/usr/local/httpd/htdocs">    #限制路径

    Options Indexes FollowSymLinks

    AllowOverride None

    Require all granted                  #允许所有主机访问还可以拒绝所有人访问

</Directory>

 

 

 

Centos7源码部署apache/httpd服务的更多相关文章

  1. InfluxDB源码阅读之httpd服务

    操作系统 : CentOS7.3.1611_x64 go语言版本:1.8.3 linux/amd64 InfluxDB版本:1.1.0 服务模块介绍 源码路径: github.com/influxda ...

  2. Centos7源码安装Apache和PHP

    源码安装Apache 安装需要的依赖 yum -y install gcc autoconf automake make pcre pcre-devel openssl openssl-devel​# ...

  3. centos7源码安装Apache及Tomcat

    源码安装Apache (1) 一.通过 https://apr.apache.org/  下载 APR 和 APR-util 通过 http://httpd.apache.org/download.c ...

  4. CentOS7 实战源码部署apache网站服务器

    简介:实战演练apache网站服务器的搭建 Apache简介: Apache软件基金会的一个开源免费的网页服务器,也是目前世界上使用最广泛的一种web server , apache最出名的是它跨平台 ...

  5. centos7 源码部署LNMP

    一.环境 系统环境:centos 7.4 64位 Nginx:1.7.9 MySQL: 5.7.20 (二进制包) PHP:5.6.37 二.Ngin 安装 Nginx部署 yum install   ...

  6. Centos7源码部署Redis3.2.9

    目录 一.环境准备 二.安装 三.测试 四.编写启动脚本 一.环境准备 [Redis-Server] 主机名 = host-1 系统 = centos-7.3 地址 = 1.1.1.1 软件 = re ...

  7. linux下源码安装apache服务

    1.搭建静态网站是,我们只需要搭建apache服务即可满足要求. 例如:如果我再客户端游览器输入地址,他会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器.apache他 ...

  8. Linux学习日记——源码编译Apache

    [本文为笔者在学习Linux 下的软件安装时,尝试使用源码安装Apache 的过程,事后进行一个小小的总结,发现错误望指正.] 一.典型的源码编译安装软件的过程包括以下3步: 1) 运行 config ...

  9. 烂泥:源码安装apache

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以 ...

随机推荐

  1. MNN配置

    1.github链接:https://github.com/alibaba/MNN/tree/master/tools/converter 2.教程 (1)使用教程:https://www.books ...

  2. CSS继承控制:inherit、initial和unset

    CSS里有三种常用的属性值继承方式:inherit,initial和unset.我们用一个简单的例子来演示一下: <ul style="color: green;"> ...

  3. Maven多模块工程打包指定模块工程方法

    Maven多模块工程打包指定模块工程执行如下命令: mvn clean package -pl  指定模块工程名 -am 参数说明: -am --also-make 同时构建所列模块的依赖模块:-am ...

  4. Mysql 添加用户并授所有权

    创建用户并授权GRANT ALL PRIVILEGES ON *.* TO 'caoxiaobo'@'%' IDENTIFIED BY 'Caoxiaobo0917!' WITH GRANT OPTI ...

  5. activiti学习6:启动流程后动态获取流程图

    目录 activiti学习6:启动流程后动态获取流程图 一.绘图原理 二.根据流程定义id绘图 三.根据流程实例id绘图 3.1 基本原理 3.2 当前节点的获取 3.3 走过的节点的获取 3.4 绘 ...

  6. git lfs指令解决git status显示lib文件被修改,但是没有修改的问题。此时,git checkout没有用。

    $ git lfs migrate import --everything --include='*.LIB'https://github.com/git-lfs/git-lfs/issues/283 ...

  7. Java生成二进制文件与Postman以二进制流的形式发送请求

    业务描述: 模拟终端(智能家居)发送HTTP POST请求,请求参数为二进制流:而且,二进制流是加密后的数据,因此调试分两步: 1.Java代码生成加密后数据,并保存为二进制流文件 (电脑上的图片就是 ...

  8. a++与++a,谈谈C++的参数传递

    先看一段代码: #include<iostream> using namespace std; void func(int a, int b) { cout << a < ...

  9. c++11多线程记录4:死锁

    简单示例 举个例子,桌上有一支笔和一张纸,小A和小B都要拿到纸笔写字 小A拿了笔,小B拿了纸,这时就形成了死锁(两人都不愿意让出纸笔). 其实只要稍加控制就可以避免这种情况:规定必须先拿到纸再能去尝试 ...

  10. Gin上传文件到MongoDB gridfs

    目录 上传图片 下载图片 上传图片 func imagePost(c *gin.Context) { image, err := c.FormFile("file") if err ...