web服务器 apache

我已经托管了自己的网站很多年了。 自从20年前从OS / 2切换到Linux以来,我一直使用Apache作为服务器软件。 Apache是​​可靠的,众所周知的,并且对于基本安装而言很容易配置。 为更复杂的设置(例如多个网站)进行配置实际上并没有那么困难。

我的虚拟主机上的student 。)

安装

注意:我将虚拟机(VM)与Fedora 27和Apache 2.4.29一起使用。 如果您使用其他发行版或不同版本的Fedora,则您的命令以及配置文件的位置和内容可能会有所不同。 但是,您需要修改的配置行是相同的。

Apache Web服务器易于安装。 在我的CentOS 6.x服务器上,它只需要一个简单的yum命令。 如果缺少任何必需的依赖项,它将安装所有必需的依赖项。 我在我的Fedora虚拟机之一上使用了以下dnf命令。 dnfyum的语法相同,只是命令本身的名称不同。


dnf -y install httpd 

VM是非常基本的桌面安装,我用作编写书籍的测试平台。 即使在此系统上,在一分钟内也仅安装了六个依赖项。

Apache的所有配置文件都位于/etc/httpd/conf/etc/httpd/conf.d 。 网站的数据默认情况下位于/var/www ,但您可以根据需要进行更改。

组态

Apache的主要配置文件是/etc/httpd/conf/httpd.conf 。 它包含许多基本安装不需要更改的配置语句。 实际上,仅需对该文件进行少量更改即可启动并运行基本网站。 该文件非常大,因此,本文将只显示您需要更改的那些指令,而不是使本文不必要的东西杂乱无章。

首先,花一些时间浏览httpd.conf文件以熟悉它。 我喜欢大多数配置文件的Red Hat版本的一件事是描述文件中各个部分和配置指令的注释数量。 httpd.conf文件也不例外,因为它的注释很好。 使用这些注释来了解文件正在配置的内容。

要更改的第一项是Listen语句,它定义了Apache用来侦听页面请求的IP地址和端口。 现在,您只需要使该网站可用于本地计算机即可,因此请使用localhost地址。 完成后,该行应如下所示:


Listen 127.0.0.1:80 

将此指令设置为localhost的IP地址后,Apache将仅侦听来自本地主机的连接。 如果希望Web服务器侦听来自远程主机的连接,则可以使用主机的外部IP地址。

DocumentRoot指令指定组成网站页面HTML文件的位置。 该行不需要更改,因为它已经指向标准位置。 该行应如下所示:


DocumentRoot "/var/www/html" 

Apache安装RPM创建/var/www目录树。 如果要更改网站文件的存储位置,则使用此配置项来完成。 例如,您可能想对www子目录使用其他名称,以使网站的标识更加明确。 可能看起来像这样:


DocumentRoot "/var/mywebsite/html" 

这些是创建简单网站所需的唯一Apache配置更改。 在此小练习中,仅对httpd.conf文件进行了一个更改— Listen指令。 其他所有内容均已配置为产生正常工作的Web服务器。

但是,还需要进行另一项更改:在防火墙中打开端口80。 我将iptables用作防火墙,因此我更改了/etc/sysconfig/iptables以添加允许HTTP协议的语句。 整个文件如下所示:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

我添加的行是底部的第三行,它允许端口80上的传入流量。现在,我重新加载更改后的iptables配置。


[root@testvm1 ~]# cd /etc/sysconfig/ ; iptables-restore iptables 

创建index.html文件

index.html文件是仅当您使用域名而不是特定HTML文件名访问网站时Web服务器将提供的默认文件。 在/var/www/html目录中,创建一个名为index.html的文件。 添加内容Hello World 。 您无需添加任何HTML标记即可完成此工作。 Web服务器的唯一工作是提供文本数据流,而服务器不知道日期是什么或如何呈现它。 它只是将数据流传输到发出请求的主机。

保存文件后,将所有权设置为apache.apache


[root@testvm1 html]# chown apache.apache index.html 

启动Apache

Apache非常容易启动。 当前版本的Fedora使用systemd 。 运行以下命令将其启动,然后检查服务器的状态:

[root@testvm1 ~]# systemctl start httpd
[root@testvm1 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2018-02-08 13:18:54 EST; 5s ago
Docs: man:httpd.service(8)
Main PID: 27107 (httpd)
Status: "Processing requests..."
Tasks: 213 (limit: 4915)
CGroup: /system.slice/httpd.service
├─27107 /usr/sbin/httpd -DFOREGROUND
├─27108 /usr/sbin/httpd -DFOREGROUND
├─27109 /usr/sbin/httpd -DFOREGROUND
├─27110 /usr/sbin/httpd -DFOREGROUND
└─27111 /usr/sbin/httpd -DFOREGROUND

Feb 08 13:18:54 testvm1 systemd[1]: Starting The Apache HTTP Server...
Feb 08 13:18:54 testvm1 systemd[1]: Started The Apache HTTP Server.


服务器上的命令可能不同。 在使用SystemV启动脚本的Linux系统上,命令为:

[root@testvm1 ~]# service httpd start
Starting httpd: [Fri Feb 09 08:18:07 2018]          [  OK  ]
[root@testvm1 ~]# service httpd status
httpd (pid  14649) is running...

如果您的主机上装有Firefox或Chrome之类的网络浏览器,则可以使用浏览器的URL行上的URL localhost来显示您的网页,方法很简单。 您还可以使用文本模式的Web浏览器(例如Lynx)来查看网页。 首先,安装Lynx(如果尚未安装)。


[root@testvm1 ~]# dnf -y install lynx 

然后使用以下命令显示网页。


[root@testvm1 ~]# lynx localhost 

结果在我的终端会话中看起来像这样。 我已经删除了页面上的许多空白区域。

Hello World

<snip>

Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
Arrow keys: Up and Down to move.  Right to follow a link; Left to go back.
H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list


接下来,编辑index.html文件,并添加一些HTML标记,如下所示:


<h1>Hello World</h1> 

现在刷新浏览器。 对于Lynx,请使用组合键Ctrl + R。 结果看起来有些不同。 文本为彩色,如果终端支持彩色,Lynx就是这样显示标题的方式,并且现在居中。 在GUI浏览器中,文本将采用大字体。

Hello World

<snip>

Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
Arrow keys: Up and Down to move.  Right to follow a link; Left to go back.
H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list


离别的想法

从这个小练习中可以看出,设置Apache Web服务器很容易。 具体情况将取决于您的发行版以及该发行版提供的Apache版本。 在我的环境中,这是一个非常琐碎的练习。

但是还有更多的原因,因为Apache非常灵活和强大。 下个月,我将讨论使用一个Apache实例托管多个网站。

翻译自: https://opensource.com/article/18/2/how-configure-apache-web-server

web服务器 apache

web服务器 apache_如何配置Apache Web服务器相关推荐

  1. web服务器 apache_心跳和Apache Web服务器

    web服务器 apache 维持最大的系统正常运行时间对于按需计算的成功至关重要. 不幸的是,许多用于高可用性(HA)的现成解决方案都很昂贵,并且需要专业知识. 本系列的五篇文章为使用公开可用的软件实 ...

  2. linux 怎么配置apache,在Linux下配置Apache Web服务

    <在Linux下配置Apache Web服务>由会员分享,可在线阅读,更多相关<在Linux下配置Apache Web服务(10页珍藏版)>请在人人文库网上搜索. 1.在Lin ...

  3. RH358管理DNS和DNS服务器--使用Unbound配置缓存名称服务器

    RH358管理DNS和DNS服务器–使用Unbound配置缓存名称服务器 本章节介绍使用unbound软件配置缓存DNS.虽说配置DNS方面还是在windows server上部署更加方便,但难免出现 ...

  4. 虚拟主机的服务器配置在哪,配置Apache服务器下的虚拟主机设置有什么要求?景安...

    什么是apache虚拟主机?apache虚拟主机就是在apache服务器上配置多个虚拟主机,从而把一个服务器提供多站点的服务实现.用通俗的话来说就是对同一个服务器上的不同目录进行访问.那么如何在Apa ...

  5. 电脑自建服务器tomcat,怎么配置搭建tomcat服务器

    tomcat是一种轻量级的web容器服务器,那么该怎么配置搭建tomcat服务器呢?下面是学习啦小编收集整理的怎么配置搭建tomcat服务器,希望对大家有帮助~~ 配置搭建tomcat服务器的方法 工 ...

  6. 如何配置系统数据库服务器地址,如何配置系统数据库服务器地址

    如何配置系统数据库服务器地址 内容精选 换一换 华为云提供两种连接方式通过SQL Server客户端连接实例:非SSL连接和SSL连接.其中,SSL连接实现了数据加密功能,具有更高的安全性.安装SQL ...

  7. 思科恢复服务器上的配置信息,思科服务器的配置方法

    思科服务器的配置方法 内容精选 换一换 安装依赖时,使用pip3.7.5 install xxx命令安装相关软件时提示无法连接网络,且提示"Could not find a version ...

  8. 方舟服务器物理机配置,方舟云服务器要什么配置

    方舟云服务器要什么配置 内容精选 换一换 当用户已在ECS服务购买GPU加速型云服务器,并且想在该云服务器上运行应用时,可以通过纳管的方式将该云服务器纳入VR云渲游平台管理.登录控制台,在服务列表中选 ...

  9. ntp协议客户端服务器模式,思科配置NTP客户端服务器模式

    思科配置NTP客户端服务器模式 内容精选 换一换 该操作指导安装工程师安装MRS集群所有服务(不包含Flume)的客户端.MRS针对不同服务提供了Shell脚本,供开发维护人员在不同场景下登录其对应的 ...

最新文章

  1. socket通信函数的深入分析
  2. nslookup type值_nslookup查询
  3. php自动按天清空库存,swoole+PHP实现自动取消订单,还原库存等操作
  4. postman生成python代码_python代码直接生成可执行exe文件
  5. 数据结构与算法笔记(一) 程序性能分析
  6. matlab feedforward,Matlab BP神经网络工具箱之feedforwardnet使用小结
  7. memcached教程_Memcached教程
  8. paip.python 调用qt ui 总结
  9. go interface类型转换_图解Go的unsafe.Pointer
  10. php调用itunes,使用cURL和PHP检索iTunes App Store XML
  11. idea错误:否则 JavaFX 应用程序类必须扩展javafx.application.Application
  12. 在拼多多上抢了点茅台
  13. Redis Redis主从架构(图灵学院)
  14. 安装visio viewer2013成功后仍无法使用
  15. ICC 图文学习——LAB0:ICC图形界面
  16. 列存储相关概念和常见列式存储数据库(Hbase、德鲁依)
  17. 【译】前端开发者的基本要求
  18. Python常见主流框架简介
  19. 一寸相思千万绪,人间没个安排处。—第二十八天
  20. 工程师如何实现财务自由:为什么绝大多数人追求财务自由而不得,为什么有些人很有钱仍然拼命工作...

热门文章

  1. scrapy使用crawlspider
  2. 物流×科技,易流如何用IoT技术加速物流业数字化升级?...
  3. 依赖注入[2]: 基于IoC的设计模式
  4. 去重除了indexOf的其他方法(使用对象Key的方法)及统计重复次数
  5. docker-1 初识docker
  6. 如何证明接口中的域是static final的?
  7. 详解MathType中如何插入特殊符号
  8. Redis 入门指南 pdf
  9. [CareerCup] 3.5 Implement Queue using Two Stacks 使用两个栈来实现队列
  10. ThinkPHP RBAC如何自动获取所有模块的函数