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

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

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

1、为避免发生端口冲突,程序冲突等问题,如果有rpm方式安装的httpd服务,建议将其卸载。
基于Linux搭建Apache网站服务配置详解

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

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

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

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

4、配置:

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

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

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

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

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

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

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

5、执行make && make install命令进行编译安装:
基于Linux搭建Apache网站服务配置详解

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

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

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

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

  • 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目录下的程序控制文件的绝对路径,加上需要进行的操作即可。

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

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

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

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

方法1

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

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

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

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

添加系统服务:

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

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

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

方法2:

建立httpd.service配置文件(注意配置文件的路径,其中配置文件中写入的apachectl路径,需根据实际情况来定)
基于Linux搭建Apache网站服务配置详解

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

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

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

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

1、编辑httpd服务的主配置文件httpd.conf
在末行模式下执行/ServerName,在附近添加一行内容:ServiceName www.aaa.com ,用于设置网站对应的域名。如下:

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

进入末行模式查找ServerName

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

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

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

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来动态查看网站访问情况。
基于Linux搭建Apache网站服务配置详解

4、最为主要的httpd.conf主配置文件
httpd.conf中的注释行以“#”开头,剩下的则是设置行。根据配置所作用的范围不同,设置行又可分为全局配置、区域配置。每条全局配置都是一项独立的配置,不需要包含在其他任务区域中,常用的一些全局配置项作用如下:
基于Linux搭建Apache网站服务配置详解

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

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

转载于:https://blog.51cto.com/14154700/2391114

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100940.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 硬件知识入门「建议收藏」

    硬件知识入门「建议收藏」各位有哪些方面想要了解的,我懂得就都解释给大家,要不我自己也想不到更新哪些方面

  • SNMP Trap 报文

    SNMP Trap 报文    trap是某种入口,到达该入口会使SNMP被管设备主动通知SNMP管理器,而不是等待SNMP管理器的再次轮询。在网管系统中,被管设备中的代理可以在任何时候向网络管理工作站报告错误情况,例如预制定阈值越界程序等等。代理并不需要等到管理工作站为获得这些错误情况而轮询他的时候才会报告。trap语法定义规则包括以下几部分:1.TRAP-TYPE:标识下面定义的是一个trap。2.enterpris…

  • Java 链表结点插入

    Java 链表结点插入PS:链表是一种数据结构,而数据结构就是一种存放数据的方式。为什么需要链表?我们知道,数组也可以存储数据,那么为什么还需要链表呢?接下来,我们来看看数组和链表的区别:1、数组就像身上编了号站成一排的人,要找第10个人很容易,根据人身上的编号很快就能找到。但插入、删除慢,要往某个位置插入或删除一个人时,后面的人身上的编号都要变。当然,加入或删除的人始终末尾的也快。2、链表就…

  • java IO流详尽解析「建议收藏」

    java IO流详尽解析「建议收藏」流的概念和作用,好吧,百度了一张图片,不错学习JavaIO,不得不提到的就是JavaIO流。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流字符流和字节流字符流的由

  • 2020年Vue面试题汇总[通俗易懂]

    2020年Vue面试题汇总[通俗易懂]2020年Vue面试题Interview●●●●作者:@烦恼会解决烦恼vue核心知识——理论篇1、对于Vue是一套渐进式框架的理解渐进式代表的含义是:主张最少。Vue可能有些方面是不如React,不如Angular,但它是渐进的,没有强主张,你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也可以整个用它全家桶开发,当A…

  • 基于canoe 新建一个lin工程_canoe canalyzer 区别[通俗易懂]

    基于canoe 新建一个lin工程_canoe canalyzer 区别[通俗易懂]Vector发布了CANoe以及CANalyzer7.5新版本[2010-12-28]CANoe7.5新特性??改进了“Trace”窗口的用户菜单,集成了过滤器,并增加了……例如通过此控件选择配置文件等CANoeNumericUp/DownPanelHelpButtonCANoe、CANalyzerCANoePathDialogPictu…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号