基于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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python 去除字符串中指定字符[通俗易懂]

    python 去除字符串中指定字符[通俗易懂]python中的strip()可以去除头尾指定字符ss=’我的电话是18827038663,也是微信号,\n请加入,谢谢\n\n\n’print(ss.strip(‘\n’))结果:我的电话是18827038663,也是微信号,请加入,谢谢可以看到只能删除头尾指定字符。想要去除中间字符,可以使用replace()函数ss=’我的电话是188270386…

    2022年6月13日
  • NLTK使用汇总_bom用量计算公式

    NLTK使用汇总_bom用量计算公式0.如何离线安装NLTK1.LookupError:Resourcenotfound.2.分句、分词和停用词3.词性标注和词形还原4.分句5.N-gram

    2022年10月26日
  • ansi是什么编码格式_ansi编码是什么意思

    ansi是什么编码格式_ansi编码是什么意思用Notepad++创建一个文本文件text.txt,其默认编码格式为ANSI(乍看之下,还以为是ASCII呢),输入汉字居然不是乱码:保存为test.txt,发送给你美国的同事Bob。他也用Notepad++,不幸的是,却发现你的文件内容是这样的:也许你会认为:你用的是中文系统,能正常显示中文;他用的是英文系统,不能显示中文!这么想,好像很有道理呢!但是再细想一下:一个系

    2022年9月24日
  • IDEA打包maven项目同时带上依赖

    IDEA打包maven项目同时带上依赖我们在使用IDEA中maven的LifeCycle去打包时,打出的jar包只包含代码,在使用时会出现“找不到包或者无法加载“ClassNotFoundException”报错。这是因为我们的jar包没有maven项目中的其他依赖包,所以我们可以在打包时把依赖也打入到jar包中,步骤如下:1、选中项目,点击File,选择打开“ProjectStructure”2、然后选择左边的“Artifacts”,点击“加号”添加jar包,“Frommodul…

    2022年5月30日
  • Eclipse 运行时弹出A Java Exception has occurred

    Eclipse 运行时弹出A Java Exception has occurred错误原因:较高版本的JDK编译的javaclass文件试图在较低版本的JVM上运行而产生的错误。首先,因为之前jdk版本是10,后来安装了jdk1.7,想用1.7的,但是由于eclipse的编译器中仍然使用原来的版本所以导致错误。因为我用的eclipse的编译器来编译的。因为很多编译器都自带javac,而不是采用操作系统中的编译器。如果你的编译器是eclipse的话,那么需要在项目的属性里设置j…

    2022年7月14日
  • Library Search Paths

    Library Search Paths最近由于各种原因总是移动xian

    2022年11月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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