Linux之Apache服务器安装及配置

一、Apache服务器简介

  Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用。Apache曾经是世界使用排名第一的Web服务器软件(2019年4月后nginx第一)。它可以运行在几乎所有广泛使用的计算机平台上。Apache 源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。当前最新稳定版是2.4.52,博文实验环境:

  • 操作系统:centos7.6
  • Apache版本:2.4.6

二、YUM安装Apache

  在另外一篇博文Linux之WEB服务器Apache httpd源码编译安装中介绍了如何源码编译安装Apache服务,如果对于版本没有特别要求,centos环境下最简单快捷的安装方式还是yum安装,centos7环境下yum安装版本为2.4.6。

1、YUM安装Apache

[root@s152 ~]# yum install -y httpd

2、查看版本

[root@s152 ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: May 30 2023 14:01:11

3、服务管理

#启动服务
[root@s152 /]# systemctl start httpd
#停止服务
[root@s152 /]# systemctl stop httpd
#服务开机自启动
[root@s152 /]# systemctl enable httpd
#查看服务状态
[root@s152 /]# systemctl status httpd
#检查配置文件
[root@s152 /]# httpd -t
Syntax OK
#重载配置文件,不重启服务,如下三种方式都可以
[root@s152 /]# httpd -k graceful
[root@s152 /]# apachectl graceful
[root@s152 /]# systemctl reload httpd

三、常见配置参数说明

  如下是Apache服务器安装完成后的默认配置文件,这里我们只针对其中常用的配置参数进行释义说明。

1、默认httpd.conf配置

[root@s152 ~]# cat /etc/httpd/conf/httpd.conf |grep -Ev "^$|#"
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
<Directory />
    AllowOverride none
    Require all denied
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
<Files ".ht*">
    Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>
<IfModule mime_module>
    TypesConfig /etc/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on
IncludeOptional conf.d/*.conf

2、常用参数释义

参数参数说明配置示例
ServerRootApache服务器的根目录ServerRoot “/etc/httpd”
Listen指定Apache监听的IP地址和端口Listen 80
DocumentRoot指定Web服务器的文档根目录,即网站文件存放的位置DocumentRoot “/var/www/html”
Directory配置目录的权限和特性<Directory “/var/www/html”>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
DirectoryIndex指定当访问一个目录时默认显示的文件DirectoryIndex index.html、
AllowOverride指定是否允许使用.htaccess文件覆盖目录配置AllowOverride All
LogLevel设置日志级别,用于记录错误和警告信息LogLevel warn
ErrorLog指定错误日志文件的路径ErrorLog “/var/log/httpd/error_log”
CustomLog指定访问日志文件的路径和格式CustomLog “/var/log/httpd/access_log” combined
ServerSignature控制服务器生成的错误页面中是否包含服务器的签名信息ServerSignature Off
KeepAlive启用或禁用Keep-Alive功能,决定是否保持持久连接KeepAlive On
Timeout设置服务器等待客户端请求的超时时间Timeout 300
MaxClients限制同时连接到服务器的最大客户端数MaxClients 150
IncludeOptionalApache主配置文件中引入其他配置文件IncludeOptional conf.d/*.conf
Userhttpd服务运行用户User apache
Grouphttpd服务所属群组Group apache
ServerName虚拟服务器主机名和端口,主机名可以是IP地址也可以是域名ServerName 192.168.0.152:80

四、服务配置举例

  这里我们以部署猜拳游戏为例,介绍如何在Apache服务上部署服务。

1、创建一个虚拟主机配置文件

  进入/etc/httpd/conf.d/目录下创建一个虚拟主机配置文件,主机名为mytest.com,对应监听的80端口,如果需要更换其他端口需要在主文件中listen添加或者修改,这是与nginx不同的地方。

[root@s152 mytest]# cd /etc/httpd/conf.d/
[root@s152 conf.d]# cat test.conf 
<VirtualHost *:80>
    # 设置虚拟主机的域名
    ServerName mytest.com
    ServerAlias www.mytest.com

    # 设置文档根目录
    DocumentRoot "/var/www/mytest"

    # 日志文件
    ErrorLog "/var/log/httpd/mytest_error_log"
    CustomLog "/var/log/httpd/mytest_access_log" combined

    # 目录权限
    <Directory "/var/www/mytest">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>

    # 可以添加其他定制的配置项,如重定向、代理等

</VirtualHost>

2、将猜拳服务代码打包上传到Directory

  配置文件中虚拟服务目录位于/var/www/mytest目录下,我们创建该目录后将软件包上传到该目录下。

[root@s152 www]# mkdir mytest
[root@s152 www]# cd mytest/
[root@s152 mytest]# ll
总用量 40
drwxr-xr-x. 2 root root 100 11月 1 2022 caiquan
-rw-r–r–. 1 root root 38541 11月 29 15:33 caiquan.zip

3、重启httpd服务

  使用httpd -t检查配置文件,检查无误后我们重启服务或者重新加载配置文件。

[root@s152 conf.d]# httpd -t
Syntax OK
[root@s152 conf.d]# systemctl restart httpd

4、修改hosts文件

  这里实验用的域名非正式域名,我们需要在hosts文件添加自定义解析。
在这里插入图片描述

5、访问验证

  打开浏览器,通过域名和路径就可以访问我们的猜拳游戏内容啦!
在这里插入图片描述

五、QA

1、启动报错httpd: Could not reliably determine the server’s fully qualified domain name

  • 报错信息:httpd: Could not reliably determine the server’s fully qualified domain name
  • 报错原因:httpd.conf配置文件中未配置ServerName
  • 解决方案:修改httpd.conf配置文件,添加ServerName = domain.com:80 参数配置

2、启动报错httpd (pid xxxxx) already running导致无法启动

  • 报错信息:httpd (pid xxxxx) already running 和 httpd.service: control process exited, code=exited status=1
  • 报错原因:httpd服务未正常退出导致无法启动
  • 解决方案:执行pgrep -f httpd |xargs kill后再次启动。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Linux配置Apache服务器,需要进行以下步骤: 1. 安装Apache服务器:使用命令行工具,输入sudo apt-get install apache2,即可安装Apache服务器。 2. 配置Apache服务器:在安装完成后,需要进行一些配置,如修改配置文件等。配置文件位于/etc/apache2/目录下,主要包括apache2.conf、httpd.conf、sites-available/和sites-enabled/等文件。 3. 配置虚拟主机:虚拟主机是指在一台服务器上运行多个网站。在Apache服务器中,可以通过配置虚拟主机来实现。需要在sites-available/目录下创建一个新的配置文件,并在其中配置虚拟主机的相关信息。 4. 配置SSL证书:如果需要在Apache服务器上启用HTTPS协议,需要配置SSL证书。可以通过使用Let's Encrypt等工具来生成SSL证书。 5. 重启Apache服务器:在完成以上配置后,需要重启Apache服务器,使配置生效。可以使用命令行工具,输入sudo service apache2 restart,即可重启Apache服务器。 以上就是在Linux配置Apache服务器的基本步骤。 ### 回答2: 在Linux系统中,Apache是最常用的Web服务器,是一个开源软件,非常稳定、安全、可靠,而且高效。下面是关于如何在Linux下进行Apache服务器配置的一些基础知识。 1. 安装ApacheLinux系统中,可以使用如下命令安装Apache: $ sudo apt-get install apache2 2. 配置Apache Apache配置文件存储在/etc/apache2/下面。打开apache2.conf文件,编辑器为vim,命令如下: $ sudo vim /etc/apache2/apache2.conf 修改完配置文件后,需要重新启动Apache $ /etc/init.d/apache2 restart 3. 配置Virtual Hosts Virtual Hosts是Apache的一个核心功能,它可以设置多个域名,默认情况下所有请求都是由默认Virtual Host处理。下面是如何创建Virtual Hosts的步骤: 3.1 在Apache配置文件中开启Virtual Hosts 打开apache2.conf文件 $ sudo vim /etc/apache2/apache2.conf 找到以下行: # Include generic snippets of statements IncludeOptional conf-enabled/*.conf IncludeOptional sites-enabled/*.conf 将IncludeOptional sites-enabled / *。打开CONF取消注释或手动添加即可 3.2 创建Virtual Host 在/etc/apache2/sites-available目录下创建配置文件: $ sudo vim /etc/apache2/sites-available/example.com.conf sudo vim /etc/apache2/sites-available/test.com.conf 3.3 激活Virtual Host 使用以下命令将Virtual Host中的配置文件链接到Apache配置目录中。 $ sudo a2ensite example.com.conf sudo a2ensite test.com.conf 须输入密码后才会生效 3.4 重启Apache $ service apache2 restart 4. 配置Apache的防火墙规则 在Linux系统中,一般使用iptables命令来配置防火墙规则。如果我们需要允许外部访问Web服务器,我们需要添加规则: iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT 这些规则会允许HTTP和HTTPS流量通过防火墙,并将它们转发到Apache服务器。 总之,Linux配置Apache服务器需要关注一些基本方面,如安装配置Virtual Hosts和防火墙规则等内容。正确的配置可以提高Web服务器的安全性和性能,从而更好地满足用户的需求。 ### 回答3: Apache服务器是当前世界上最为广泛使用的Web服务器,其稳定性与安全性受到了广泛的认可与推崇。在Linux操作系统中,通过配置Apache服务器可以实现Web服务的搭建与管理,下面是LinuxApache服务器配置的相关内容。 1. 安装Apache服务器Linux操作系统中,可以通过命令行安装Apache服务器。如在CentOS系统中,可以使用yum命令安装Apache服务器,具体命令如下: yum install httpd 在完成安装后,可以启动Apache服务器,并将其设置为开机自启动: systemctl start httpd systemctl enable httpd 2. 配置Apache服务器 Apache服务器配置文件位于/etc/httpd/conf/httpd.conf中,因此可以通过修改该文件来实现Apache服务器配置。具体配置内容如下: a. 设置监听端口 默认情况下,Apache服务器监听80端口,支持HTTP协议。如果需要同时支持HTTPS协议,则需要监听443端口。可以通过修改httpd.conf文件中的Listen指令来设置监听端口: Listen 80 Listen 443 b. 配置虚拟主机 Apache服务器支持虚拟主机功能,可以通过在httpd.conf文件中配置虚拟主机,实现同时承载多个网站。具体配置方式如下: <VirtualHost *:80> ServerName www.example.com DocumentRoot /var/www/html/example </VirtualHost> c. 配置访问控制 Apache服务器可以通过.htaccess文件实现访问控制,可以通过在httpd.conf文件中配置Allow和Deny指令来设置访问控制规则: <Directory "/var/www/html"> Allow from 10.0.0.0/8 Deny from all </Directory> 3. 其他常用配置 a. 设置默认首页 在httpd.conf文件中可以使用DirectoryIndex指令设置默认首页: DirectoryIndex index.html index.htm index.php b. 启用模块 Apache服务器支持多种扩展模块,可以通过在httpd.conf文件中加载需要的模块来扩展其功能: LoadModule mod_rewrite.so c. 配置错误页面 可以通过在httpd.conf文件中配置ErrorDocument指令来修改错误页面的显示方式: ErrorDocument 404 /404.html 总之,Apache服务器是构建Web服务的重要基础,掌握其配置技能对于Linux服务器的管理和Web开发都具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒悦sunsite

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值