基于Linux搭建Apache网站服务配置详解

Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org ,下载到源码包后开始准备安装:

1、为避免发生端口冲突,程序冲突等问题,如果有rpm方式安装的httpd服务,建议将其卸载。

2、挂载系统镜像,切换至系统盘中的Packages目录,安装相关依赖包(注意,最好一个一个的依次安装,因为如果有些安装包已经安装了,一次安装下面的安装包的话,就会报错)

3、将httpd源码包进行解包,并指定释放目录,然后切换到展开后的源码目录中:

4、配置:

上面配置命令中,各个选项的含义如下:

--prefix:指定将httpd服务安装到哪个目录下。

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

--enable-rewrite:启用网页地址重写功能,用于网站优化和目录迁移维护。

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

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

5、执行make && make install命令进行编译安装:

若在上面配置、编译、安装过程中报错,排除命令错误的前提下,那么一般是少了依赖包,检查依赖包有没有少装吧!

6、安装完成后,切换至安装成功的目录后,会看到以下几个目录:

各个主要子目录的用途如下:

  • bin:存放httpd服务的各种执行程序文件。包括主程序httpd、服务控制工具apachectl等。
  • cgi-bin:存放各种CGI程序文件。
  • logs:存放httpd服务的日志文件。
  • conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra等。
  • htdocs:存放网页文档,包括默认首页文件index.html等。
  • module:存放httpd服务的各种模块文件。

7、优化执行路径(根据实际情况来定,可以不进行优化):

通过源码安装的httpd服务属于第三方服务,所以程序路径并不在默认的搜索路径中,如果现在要启动Apache的话,需要执行命令:/usr/local/httpd/bin/apachectl start,也就是安装完成后bin目录下的程序控制文件的绝对路径,加上需要进行的操作即可。

那么,为了使这个服务使用起来更加方便些,可以进行执行路径优化,过程如下:

为相关程序添加符号链接:

这样,再执行相关命令时,就不用输入很长的路径了,如若想要启动服务,直接执行/usr/local/bin/apachectl start即可,但这样依旧没有控制系统服务那么方便,那么,还可以继续操作,添加httpd系统服务,有以下两种方法:

方法1

复制apachectl文件到/etc/init.d/httpd,然后编辑该文件,:

按照下面进行修改,然后保存退出:

添加系统服务:

至此,即可跟控制系统服务一样,使用systemctl start/status/restart httpd来控制apache服务了。

还有一种方法可以将它添加为系统服务,不过还要编辑配置文件,比较麻烦,可能可以对服务进一步的定义,个人觉得了解即可吧,没有什么特殊要求的话,采用上面的那种方法即可。

方法2:

建立httpd.service配置文件(注意配置文件的路径,其中配置文件中写入的apachectl路径,需根据实际情况来定)

配置文件中的各配置项的作用如下所示:

两种方法各有各的好处,方法2可以对服务进行详细的控制定义,并且还可以使用systemctl enable httpd.service 来设置httpd服务开机自动启动,这是方法1无法实现的。

当服务的控制进行优化后,即可对httpd服务进行基本配置:

1、编辑httpd服务的主配置文件httpd.conf

在末行模式下执行/ServerName,在附近添加一行内容:ServiceName www.aaa.com ,用于设置网站对应的域名。如下:

进入末行模式查找ServerName:

修改httpd.conf文件的配置内容后,可以使用命令apachectl -t或httpd -t对配置内容进行语法检测,如若没有错误,将会显示如下:

2、部署网页文档:

对于新编译安装的httpd服务,网站根目录位于/usr/local/httpd/htdocs下,需要将web站点的网页文档复制或上传到此目录下。

3、查看web站点的访问情况

httpd服务器使用了两种类型的日志:访问日志和错误日志。这两种日志的文件名分别为acces_log和error_log,都在/usr/local/httpd/logs目录下。可以使用命令tail -f /usr/local/httpd/logs/access_log来动态查看网站访问情况。

4、最为主要的httpd.conf主配置文件

httpd.conf中的注释行以“#”开头,剩下的则是设置行。根据配置所作用的范围不同,设置行又可分为全局配置、区域配置。每条全局配置都是一项独立的配置,不需要包含在其他任务区域中,常用的一些全局配置项作用如下:

除了全局配置项以外,httpd.conf文件中的大多数配置时包括在区域内的。区域配置使用一对组合标记,限定了配置项的作用范围,如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • centos下yum搭建安装linux+apache+mysql+php环境的方法

    一.脚本YUM源安装: 1.yum install wget #安装下载工具wget 2.wget http://www.atomicorp.com/installers/atomic #下载atomic yum源,配置CentOS 6.5第三方yum源 3. sh ./atomic #脚本执行 4. yum check-update #更新yum软件包 二.163yum源的安装 1.进入yum源配置目录 cd /etc/yum.repos.d 2.备份系统自带的yum源 mv CentOS-B

  • Linux+php+apache+oracle环境搭建之CentOS下安装Oracle数据库

    这里推荐使用OTK脚本安装Oracle,会大大提高安装Oracle的成功系数. Description oraToolKit is the Swiss Army Knife for Oracle. Standards and well designed tools help DBA's mastering Oracle 10g / 11g throughout the whole lifecycle. OTK runs on Linux, zLinux, Solaris, AIX, HP-UX

  • Linux+php+apache+oracle环境搭建之CentOS下源码编译安装PHP

    首先需要安装下面几个安装包,可以在CD-ROM数据源里找到以下安装包yum安装 yum install perl* freetype libpng* libxm2 libxm2-devel curl curl-devel libjpeg* 手动下载安装 jpegsrc.v8c.tar libmcrypt-2.5.8.tar.gz 安装 jpegsrc # tar -xvzf jpegsrc.v8c.tar # cd jpeg-8c # ./configure --prefix=/usr/loca

  • centos下yum搭建安装linux+apache+mysql+php环境教程

    我们利用linux系统中yum安装Apache+MySQL+PHP是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本YUM源安装: 1.yum install wget                                                     #安装下载工具wget 2.wget http://www.atomicorp.com/installers/atomic       #下载atomic yum源,配置CentOS 6.5第三方yum源 3. sh 

  • Linux+php+apache+oracle环境搭建之CentOS下安装Apache

    CentOS系统安装的是Basic Server.安装apache之前所必须的缺少的组件比较多,下面罗列下本次需要安装的组件 apache - aprapache - apr-utilperl - pcreapache 官网下载Apache,下载地址:http://httpd.apache.org/download.cgi 下载稳定版本httpd-2.4.9.tar.gz,上传到服务器/usr/packages目录下. 安装Apache: # tar -xvzf httpd-2.4.9.tar.

  • 基于Linux搭建Apache网站服务配置详解

    Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org ,下载到源码包后开始准备安装: 1.为避免发生端口冲突,程序冲突等问题,如果有rpm方式安装的httpd服务,建议将其卸载. 2.挂载系统镜像,切换至系统盘中的Packages目录,安装相关依赖包(注意,最好一个一个的依次安装,因为如果有些安装包已经安装了,一

  • 基于docker 搭建Prometheus+Grafana的过程详解

    一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作.Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus.现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控. Prometheus基本原理是通过HTT

  • apache服务器全局配置详解(全)

    Apache服务器全局配置之服务器标识配置篇 服务器标识相关指令:ServerNameServerAdminServerSignatureServerTokensUseCanonicalNameUseCanonicalPhysicalPort ServerAdmin和ServerTokens指令控制有关服务器的哪些信息将出现在服务器生成的文档中(如错误消息).ServerTokens指令设置服务器HTTP响应头字段的值.ServerName.UseCanonicalName. UseCanoni

  • linux虚拟网络设备之vlan配置详解

    简介 VLAN是网络栈的一个附加功能,且位于下两层.首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去.下两层涉及到具体的硬件设备,日趋完善的Linux内核已经做到了很好的代码隔离,对网络设备驱动也是如此,如下图所示: 这里要注意的是,Linux下的网络设备net_dev并不一定都对应实际的硬件设备,只要注册一个struct net_device{}结构体(netdevice.h)到内核中,那么这个网络设备就存在了.该结构体很庞大,其中包含设备的协议地址(对于IP即I

  • spring基于通用Dao的多数据源配置详解

    有时候在一个项目中会连接多个数据库,需要在spring中配置多个数据源,最近就遇到了这个问题,由于我的项目之前是基于通用Dao的,配置的时候问题不断,这种方式和资源文件冲突:扫描映射文件的话,SqlSessionFactory的bean名字必须是sqlSessionFactory 他读不到sqlSessioNFactory2或者其他名字,最终解决方法如下: 1.在项目中加入如下类MultipleDataSource.java package com.etoak.util; import org.

  • Centos6.5搭建java开发环境配置详解

    一.安装jdk 1.查看Linux自带的JDK是否已安装 java –version 如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk. 2.查看jdk信息 rpm -qa|grep java 3.卸载OpenJDK,执行以下操作: rpm -e --nodeps tzdata-java-2012c-1.el6.noarch rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64 4.新

  • vue脚手架搭建项目的兼容性配置详解

    使用vue-cli搭建项目,面临着解决ie兼容性问题(ie9+),因为ie浏览器并不支持es6语法等. 首先安装babel-polyfill,解决ie不支持promise对象的问题 npm install --save-dev babel-polyfill 安装成功之后,在main.js第一行引入 import 'babel-polyfill' 安装引入成功之后,如果项目还不能正常运行 则需要安装babel进行解析 (推荐阮一峰老师的文章https://www.jb51.net/article/

  • 基于linux程序中段的学习总结详解

    linux程序的段陆陆续续接触过一些,今天适当的总结一下,时间仓促,总结的比较零散.linux 段:text:已编译程序的机器代码..rodata:只读数据.printf中的格式串,或者开关语句的跳转表.data:已初始化的全局变量.bss:未初始化的全局变量.symtab:符号表.注意:1.如果定义一个全局变量,int i = 0;它被初始化为0,但是,它却不是放在data段中的,而是放在bss段中的.因为编译器可能会做一些优化,如果初始化为0,则它会将它等同于未初始化的变量.这样的可能要求他

  • spring boot基于注解的声明式事务配置详解

    事务配置 1.配置方式一 1)开启spring事务管理,在spring boot启动类添加注解@EnableTransactionManagement(proxyTargetClass = true):等同于xml配置方式的 <tx:annotation-driven />(注意:1项目中只需配置一次,2需要配置proxyTargetClass = true) 2)在项目中需要添加事务的类或方法上添加注解@Transactional(建议添加在方法上),一般使用默认属性即可,若要使用事务各属性

  • 深入apache host的配置详解

    <VirtualHost *:80>    ServerAdmin webmaster@dummy-host.127.0.0.1    DocumentRoot "D:/dev/Apache2.2/docs/dummy-host.127.0.0.1"    ServerName dummy-host.127.0.0.1    ServerAlias www.dummy-host.127.0.0.1    ErrorLog "logs/dummy-host.127.

随机推荐