Linux服务器搭建----Web服务器(apache)

WWW的介绍

     万维网(亦作“Web”、“WWW”、“'W3'”,英文全称为“World Wide Web”),是一个由许多互相链接的超文本组成的系统,通过互联网访问。在这个系统中,每个有用的事物,称为一样“资源”;并且由一个全局“统一资源标识符”(URI)标识;这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源。www可以结合文字,图像,影响以及声音等多媒体。

常见的WEB服务器

tomacat  nginx  IIS  apache  http   web   www

1、IIS服务器全称为:Internet Information Services。是微软旗下的web服务器,也是目前最流行的Web服务器产品之一。

2、Kanglekangle web服务器(简称:kangle)是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件。

3,nginx是最近比较热门的服务器。

4, apache 有较强的兼容性。

网址及HTTP的简介

        web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放
        置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在redhat中,这个目录默认
在 /var/www/html 。浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的
URL:Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问
方法的一种简洁的表示,是互联网上标准资源的地址。
网址格式:<协议>://<主机或主机名>[:port]/<目录资源,路径>
浏览器常支持的协议有:http、https、ftp等
主机地址或者主机名:主机地址就是服务器在因特网所在的IP地址。如果是主机名的话,那么
就需要域名解析了
端口号(port):http为80/8080,https为443 (IANA:互联网数字分配机构)
0-1023:永久地分配给固定的应用程序使用,特权端口(只有管理员有权限启用并让进程监听)
1024-41951:亦为注册端口,但要求不是特别严格,分配给程序注册为某应用使用:
3306/TCP
41952-60000:客户端程序随机使用的端口,动态端口,或私有端口
http请求方法:在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器端需要执
行哪些具体的动作,这些动作包括:获取指定web页面、提交内容到服务器、删除服务器上资源文
件等。
img
状态代码:由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。
1xx:指示信息 —— 表示请求已接收,继续处理
2xx:成功 —— 表示请求已被成功接收、理解、接受
3xx:重定向 —— 要完成请求必须进行更进一步的操作
4xx:客户端错误 —— 请求有语法错误或请求无法实现
5xx:服务器端错误 —— 服务器未能实现合法的请求
常见状态代码、状态描述的说明如下:
200 OK:客户端请求成功
400 Bad Request:客户端请求有语法错误,不能被服务器所理解
401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域
一起使用
403 Forbidden:服务器收到请求,但是拒绝提供服务
404 Not Found:请求资源不存在,举个例子:输入了错误的URL
500 Internal Server Error:服务器发生不可预期的错误
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常
505
HTTP报文:http报文中有很多行内容,这些行的字段内容都是由一些ASCII码串组成,但各个字段
的长度是不同的。http报文可分为两种,一种是从web客户端发往web服务器的http报文,称为请
求报文。另外一种是从web服务器发往web客户端的报文,称为响应报文

访问web给方法:

        需要使用浏览器,通过url---统一资源定位符,通过输入域名或IP地址进行访问,比如访问百度就是www.baidu.com或220.181.38.149,它默认访问的是百度服务器里的/var/www/html/index.html文件,可以尝试访问www.baidu.com/index.html

url格式:<协议>://<主机或主机名>[:port]/<文件/资源路径>

协议一般用http或https

www服务器类型

 静态网站和动态网站

静态网站仅提供用户浏览的单向静态网页,单纯是由服务器单向提供数据给客户端

动态网站向用户提供了可以互动的接口,需要H5和CSS网页程序语言

WWW服务器的搭建

1、安装软件包 -- yum/dnf install httpd -y

2、修改默认配置,http的主配置文件在/etc/httpd/conf/httpf.conf

3、找到ServerName,添加一条ServerName 0.0.0.0:80,意为监听所有端口

4、启动服务

        systemctl start httpd/firewalld

5、放行防火墙规则或者关闭防火墙

        firewall-cmd --permanent --add-service=http

6、刷新防火墙

        firewall-cmd --reload

7,关闭防火墙

        systemctl stop firewall.service

        setenforce 0

安装Apache软件包
准备工作:配置IP地址、配置本地yum源

yum -y install httpd
rpm -qa | grep httpd   #查看Apache版本

启动服务并设置开机自启

systemctl enable --now httpd

 


在web浏览器中输入http://ip地址,出现测试网页

利用HTML语言编写网页index.html,并存放在路径/var/www/html下

<!--编写在/var/www/html/index.html文件中 -->
<html>
<title>homepage</title>
<body>
    <h2>This is my firse homepage</h2>
</body>
</html>

建立虚拟目录
       

         虚拟目录是一个位于Apache服务器主目录之外的目录,它不包含在Apache服务器的主目录中,但从客户机看来,它与位于主目录的子目录是一样的。每个虚拟目录都有一个别名,客户端通过这个别名来访问虚拟目录

        在Apache服务器的主配置文件httpd.conf中,通过Alias指令设置虚拟目录。默认情况下,该文件已经建立了/icons和/manual两个虚拟目录,它们对应的物理路径是/var/www/icons和/var/www/manual

创建物理目录和网页内容

mkdir -p /xuni
echo This is news site > /xuni/index.html
chmod 705 /xuni/index.html   # 使其它用户具有读和执行权限

配置主配置文件httpd.conf

# 添加语句 -- 在<ifModule dir_module>标签中添加,在任意位置添加也可以成功
# apache配置
Alias /news "/xuni"
<Directory /xuni>
     Options All
     AllowOverride None
     Require all granted
</Directory>

重启httpd服务


systemctl restart httpd

在浏览器中输入http://www.hz.com/news访问虚拟目录

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

F5 配置手册 -F5 BIG-IP 10.1-1-激活

F5 配置手册 F5 BIG-IP 10.1-1-激活 统一沟通(中国)有限公司 2012-01-29 前言&#xff1a; F5---太贵! 不过你如果有命运看到这个文章,F5也就不值钱了。 因为:F5提供测试版的虚拟机,我们买不起,总应该玩得起吧! 但愿F5提供更多的机会,给别人机会,也是给自己机会。 参照: 你也可…

Beginning iCloud in iOS 5 Tutorial Part 2(转载)

原文地址&#xff1a;http://www.raywenderlich.com/6031/beginning-icloud-in-ios-5-tutorial-part-2 Setting Up the User Interface The Xcode project template we chose already set up an empty view controller for us. We will extend it by adding the current docume…

JQuery Datatables 服务端分页简单应用学习

背景介绍 最近在一个简单小项目中碰到需要一个前端数据表格控件&#xff0c;在看了网上的资料后最终选择了JQuery Datatables。Datatables功能及其强大&#xff0c;基本满足我的所有需求&#xff0c;在加上其插件Editor具有inline模式&#xff0c;很多需要直接修改数据的功能不…

Java API 设计清单

为什么80%的码农都做不了架构师&#xff1f;>>> 在设计Java API的时候总是有很多不同的规范和考量。与任何复杂的事物一样&#xff0c;这项工作往往就是在考验我们思考的缜密程度。就像飞行员起飞前的检查清单&#xff0c;这张清单将帮助软件设计者在设计Java API的…

利用FSMT进行文件服务器迁移及整合

当企业文件服务器&#xff08;DFS、共享文件夹等&#xff09;面临硬件更新、系统升级或文件服务器合并的情况时&#xff0c;往往会出现不确定的文件丢失、需要重新设置所有权限、无法将多个文件服务器集成到一台服务器上等问题&#xff0c;为了保证文件服务器的数据完整以及权限…

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器

作业环境服务器端操作系统&#xff1a;Red Hat Enterprise Linux Server release 6.0 (Santiago)KVM&#xff1a;qemu-kvm-0.12.1.2-2.113.el6.x86_64 客户端操作系统&#xff1a;Windows 7KVM管理工具&#xff1a;Xming 6.9 一、安装KVM及相关软件 1、KVM 需要有 CPU 的支持&a…

C#中IEnumerableT.Distinct()将指定实体类对象用Lambda表达式实现多条件去重

背景说明 在EF等ORM框架中需要以List实体类的方式对数据进行大量操作&#xff0c;其中免不了对一些数据进行去重复&#xff0c;而C#中IEnumerable.Distinct()便提供了这一功能。只是对刚开始接触的新人来说比价抽象难以接受&#xff0c;本文会对这一功能进行简要说明&#xff…

C#中利用Linq.Dynamic实现简单的动态表达式构建查询

背景介绍 在ADO.NET中我们可以根据用户输入的查询条件拼接出指定的SQL语句进行查询或者筛选出所需的数据&#xff0c;但是在ORM框架如EF中&#xff0c;我们一般用LINQ操作数据查询&#xff0c;LINQ是否可以像SQL一样拼接查询条件呢&#xff1f;答案是可以的。这一技术叫Linq.D…

C#中IEnumerableT.GroupBy()的简单使用

背景介绍 在实际项目中&#xff0c;对数据进行GroupBy肯定是常用需求之一&#xff0c;特别是采用EF等ORM框架后隔绝了用SQL语句直接操作数据&#xff0c;LINQ中的GroupBy肯定是要掌握的。 首先先对一个字段GroupBy&#xff0c;代码如下&#xff1a; static void Main(string[…

25 个精美的后台管理界面模板和布局

任何系统都会有一个管理后台&#xff0c;好看的管理后台看起来赏心悦目&#xff0c;管理的时候心情也舒畅&#xff0c;本文给大家推荐 25 个制作精美的后台管理界面的模板和布局&#xff0c;你值得拥有。 Free Admin Template Web App Theme Spring Time Free Admin Template F…

C#中IEnumerableT.Aggregate()的简单使用

背景介绍 IEnumerable<T>.Aggregate()在LINQ使用中好像很不起眼&#xff0c;但我个人认为这是十分实用并且强大的&#xff0c;支持自定义聚合操作&#xff0c;方法定义中的Func包含3个TSource参数&#xff0c;分别为下一个执行聚合的元素&#xff0c;当前聚合的元素&…

C#中IEnumerable.OfType()方法的简单使用

背景介绍 OfType的定义十分简单&#xff1a;IEnumerable.OfType(TResult)&#xff0c;如其定义&#xff0c;其中TRsult为所要过滤的类型。由于非泛型集合一律以Object类型存储对象&#xff0c;因此一个非泛型集合可能存储了各种类型&#xff0c;而OfType()方法可以轻松的对指定…

C#中IEnumerableT.Join()和IEnumerableT.GroupJoin()简单使用

背景介绍: 在无主外键关系的表中如果如果要关联就要用Join()和GroupJoin()方法了&#xff0c;我们先看Join()方法&#xff0c;代码如下&#xff1a; static void Main(string[] args) {List<SW_XSDD> sw_xsdd new List<SW_XSDD>(){new SW_XSDD { com_id "…

利用ASP.NET MVC 的默认类型绑定器---将Jquery datatables中的数据强类型绑定到实体类中

背景描述&#xff1a; 本文参考资料&#xff1a;https://blog.csdn.net/honantic/article/details/45913403 阅读了上述博文后对我产生了启发&#xff0c;在ASP.NET MVC 5中如何将大批量的数据比如说表格中的数据传到后台&#xff0c;是否可以像HTML辅助类一样强类型绑定实体…

JavaScript模态对话框类(拖拽时动画)

2010年写了一个模态对话框类&#xff0c;这次进行一些重构和扩充。拖拽时使其有动画效果。接口没变&#xff0c;如下 new ModelDialog({caption 标题 对话框标题(默认)template 主体内容 (默认)dialogCls 对话框className md-dialog(默认)headCls 头部classNa…

C#中其他简单LINQ查询表达式的简单使用介绍

本文主要记录下其他简单LINQ表达式&#xff0c;因为比较简单&#xff0c;记录下以后方便回忆&#xff0c;本文也会持续更新。 一些有用的LINQ扩展方法&#xff1a; LINQ表达式作用是否延迟查询Range生成指定范围内的整数的序列 Repeat生成包含一个重复值的序列 Skip跳过指定数…

支持上传文件的xhEditor for Typecho EX插件

2019独角兽企业重金招聘Python工程师标准>>> Typecho是一套超轻量的开源博客&#xff0c;界面简洁&#xff0c;功能紧凑&#xff0c;但是Typecho的文本编辑器实在是不好&#xff0c;需要自己写html代码&#xff0c;插图也不方便。试用了几个插件&#xff0c;发现Tin…

C#中IEnumerableT.Select()、SelectMany()的简单使用

本文主要用来记录、让自己有所了解和提升&#xff0c;以后遗忘时可以查看&#xff0c;关于SelectMany()&#xff0c;这篇文章写得不错&#xff0c;值得一看。 话不多说&#xff0c;先上代码看 Select() public class Person {public string Name { get; set; }public string G…

C#中合并两个lambda表达式

在LINQ中如何查询条件不固定&#xff0c;如何合并两个lambda表达式&#xff1f;其中一个方式是LINQ.Dynamic&#xff0c;关于LINQ.Dynamic的简单使用可以参考这篇文章&#xff0c;还有一种方法是利用Expression表达式树&#xff0c;有关表达式树的介绍&#xff0c;可以看这篇文…