Linux之web服务器

目录

www简介

常见Web服务程序介绍

服务器主机

主要数据

浏览器

网址及HTTP简介

URL

http请求方法

状态码

MIME(Multipurpose Internet Mail Extension)

www服务器的类型

静态网站

动态网站

Apache服务的搭建

Apache的安装

准备工作

httpd所需文件目录

主配置文件 

案例

       案例1 ---  快速搭建网站

        案例2 --- 替换网页目录

        案例3 --- 搭建一个个人用户主页功能网站,实现通过身份验证功能来访问数据

案例4 ---  网页验证密码登录


www简介

        Web网络服务也叫WWW(World Wide Web 全球信息广播)万维网服务,一般是指能够让用户通过浏览器访问到互联网中文档等资源的服务

        Web 网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求才会响应,最终用于提供服务程序的 Web 服务器会通过 HTTP(超文本传输协议)或HTTPS(安全超文本传输协议)把请求的内容传送给用户

image-20221016093613033

常见Web服务程序介绍

        Windows系统中默认Web服务程序是I I S(Internet Information Services),这是一款图形化的网站管理工具,IIS程序不光能提供Web网站服务,还能够提供FTP、NMTP、SMTP等服务功能,但只能在Windows系统中使用

image-20221016093928162

        2004 年 10 月 4 日,为俄罗斯知名门户站点而开发的 Web 服务程序 Nginx 横空出世。Nginx程序作为一款轻量级的网站服务软件,因其稳定性和丰富的功能而快速占领服务器市场,但Nginx 最被认可的还当是低系统资源占用、内存少且并发能力强,因此得到了国内诸如新浪、网易、腾讯等门户站的青睐

image-20221016094123540

        Apache --- 取自美国印第安人土著语Apache,寓意着拥有高超的作战策略和无穷的耐性,由于其跨平台和安全性广泛被认可且拥有快速、可靠、简单的API扩展。目前拥有很高的Web服务软件市场占用率,全球使用最多的Web服务软件,开源、跨平台(可运行于Unix,linux,windows中)

image-20221016094238292

        Tomcat --- 属于轻量级的Web服务软件,一般用于开发和调试JSP代码,通常认为Tomcat是Apache的扩展程序

服务器主机

        网站 --- 是由域名网页源程序主机空间组成的,其中主机空间则是用于存放网页源代码并能够将网页内容展示给用户,如果您想要在互联网中搭建网站并被顺利访问,主机空间一定不能选错

image-20221016094514122

         虚拟主机 --- 在一台服务器中分出一定的磁盘空间供用户放置网站、存放数据等,仅提供基础的网站访问、数据存放与传输流量功能,能够极大的降低用户费用,也几乎不需要管理员维护除网站数据以外的服务,适合小型网站

        VPS(Virtual Private Server) --- 在一台服务器中利用OpenVZ、Xen或KVM等虚拟化技术模拟出多个“主机”,每个主机都有独立的IP地址、操作系统,实现不同VPS之间磁盘空间、内存、CPU资源、进程与系统配置间的完全隔离,管理员可自由使用分配到的主机中的所有资源,所以需要有一定的维护系统的能力,适合小型网站

        云服务器(ECS) --- 是一种整合了计算、存储、网络,能够做到弹性伸缩的计算服务,其使用起来与VPS几乎一样,但差别是云服务器建立在一组集群服务器中,每个服务器都会保存一个主机的镜像(备份),大大的提升了安全稳定性,另外还具备了灵活性与扩展性,用户只需按使用量付费的即可,适合大中小型网站 ​​​

        独立服务器 --- 这台服务器仅提供给您使用,详细来讲又可以区分为租用方式与托管方式

                租用方式 --- 用户只需将硬件配置要求告知IDC服务商,服务器硬件设备由机房负责维护,运维管理员一般需要自行安装相应的软件并部署网站服务,租期可以为月、季、年,减轻了用户初期对硬件设备的投入,适合大中型网

                托管方式 --- 用户需要自行购置服务器后交给IDC服务供应商的机房进行管理(缴纳管理服务费用),用户对服务器硬件配置有完全的控制权,自主性强,但需要自行维护、修理服务器硬件设备,适合大中型网站

主要数据

        服务器所提供的最主要数据是超文本标记语言(Hyper Text Markup Language,HTML)、多媒体文件(图片、影像、声音、文字等,都属于多媒体或称为超媒体),HTML只是一些纯文本数据,通过所谓的标记来规范所要显示的数据格式

浏览器

        客户端收到服务器的数据之后需要软件解析服务器所提供的数据,最后将效果呈现在用户的屏幕上

网址及HTTP简介

        web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在redhat中,这个目录默认在 /var/www/html

        浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的

URL

        Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址

        网址格式 --- <协议>://<主机或主机名>[:port]/<目录资源,路径>**

        协议 --- http、https、ftp等

        主机地址或者主机名 --- 主机地址就是服务器在因特网所在的IP地址。如果是主机名的话,那么就需要域名解析了

        端口号(port) --- http为80,https为443 (IANA:互联网数字分配机构)

                0-1023 --- 永久地分配给固定的应用程序使用

                1024-41951 --- 注册端口,但要求不是特别严格,分配给程序注册为某应用使用

                41952-60000 --- 客户端程序随机使用的端口,动态端口,或私有端口

http请求方法

        在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器端需要执行哪些具体的动作,这些动作包括:获取指定web页面、提交内容到服务器、删除服务器上资源文件等

状态码

        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 --- 服务器当前不能处理客户端的请求,一段时间后可能恢复正常

MIME(Multipurpose Internet Mail Extension)

        MIME(Multipurpose Internet Mail Extension,多用途因特网邮件扩展)最初是为了解决在不同的电子邮件系统之间搬移报文时存在的问题。后来http也支持了这个功能,用它来描述数据并标记不同的数据内容类型

        当web服务器响应http请求时,会为每一个http对象数据加一个MIME类型。当web浏览器获取到服务器返回的对象时,会去查看相关的MIME类型,并进行相应的处理

MIME类型

文件类型

text/html

html、htm、shtml文本类型

text/css

css文本类型

text/xml

xml文本类型

image/gif

gif图像类型

image/jpeg

jpeg、jpg图像类型

application/javascript

js文本类型

text/plain

txt文本类型

application/json

json文本类型

video/mp4

mp4视频类型

video/quicktime

mov视频类型

video/x-flv

flv视频类型

video/x- 

wmv视频类型

video/x-msvideo

avi视频类型

www服务器的类型

静态网站

        仅提供用户浏览的单向静态网页,单纯是由服务器单向提供数据给客户端,Server不需要与client端有互动,可以浏览网站,但是无法数据上传

动态网站

        该站可以让服务器与用户互动,常见的例如留言板,博客。这种类型的网站需要通过“网页程序语言”来实现与用户互动的行为。常见的例如:PHP网页程序语言,配合数据库系统来进行数据的读、写。当你在向服务器请求数据时,其实是通过服务器端同一个网页程序在负责将数据读出或写入数据库,变动的是数据库的内容,网页程序并没有任何改变

        另外一种交互式的动态网页主要是在客户端实现。服务端将可执行的程序代码(JavaScript)传送给客户端,客户端的浏览器如果提供JavaScript的功能,那么该程序就可以在客户端的计算机上面工作了;另外一种可在客户端执行的就是flash动画格式,在这种动画格式内还可以进行程序设计

        搭建动态网站的需求 --- LAMP(Linux+Apache+MySQL+PHP)

Apache服务的搭建

Apache的安装

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

准备工作

[root@localhost ~]# setenforce 0[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# systemctl disable firewalld[root@localhost ~]# systemctl start httpd # 启动httpd[root@localhost ~]# systemctl enable httpd # 设置开机启动[root@localhost ~]# setenforce 0 #暂时关闭selinux[root@localhost ~]# systemctl status httpd # 查看httpd状态,q键退出查看

httpd所需文件目录

服务目录:/etc/httpd
主配置文件:/etc/httpd/conf/httpd.conf
网页数据目录:/var/www/html
网站访问日志:/var/log/httpd/access_log
错误日志:/var/log/httpd/error_log  

主配置文件 

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 
34 ServerRoot "/etc/httpd"   # 服务目录
46 #Listen 12.34.56.78:80   # 设置监听的IP地址及端口
47 Listen 80    # 默认开启监听端口为80
61 Include conf.modules.d/*.conf  # 加载额外配置文件
71 User apache  # 运行服务的用户
72 Group apache # 运行服务的工作组
91 ServerAdmin root@localhost  # 管理者的邮箱
100 #ServerName www.example.com:80  # 设置域名及端口号,必须要有域名解析107 <Directory />  # <> 表示起始标志,</>  表示结束标志
# 设置目录的权限,,当浏览器中输入URL地址后,若访问服务器某目录下的某个文件,必须要设置其权限,保证数据的安全性
# AllowOverride :是否允许权限覆盖,如果有额外的权限文件,是否允许额外文件来对当前Directory进行权限覆写
108     AllowOverride none   # 不允许覆盖 
109     Require all denied  # 禁止所有来源访问文件或目录# Require all granted   允许所有来源访问
110 </Directory>124 DocumentRoot "/var/www/html"  # 重点,网页存放的默认目录
129 <Directory "/var/www">  # 设置网页目录的权限,与DocumentRoot搭配使用
130     AllowOverride None
131     # Allow open access:
132     Require all granted
133 </Directory>

案例

       案例1 ---  快速搭建网站

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf [root@localhost ~]# echo "welcome to www.baidu.com" > /var/www/html/index.html # 写入网页数据[root@localhost ~]# systemctl restart httpd# 打开虚拟机的火狐浏览器输入127.0.0.1测试

# 或者推过curl命令查看网站的网页数据,验证网站是否能访问
[root@localhost ~]# curl 127.0.0.1

        案例2 --- 替换网页目录

新建网页存储目录

[root@localhost /]# mkdir /web1

创建index.html文件

[root@localhost web1]# vim index.html
Welcome to Apache
编辑上述内容

修改配置文件

[root@localhost web1]# vim /etc/httpd/conf/httpd.conf
# 定位第124行。修改如下:
DocumentRoot "/web1"# 定位第129行,修改如下:
<Directory "/web1">AllowOverride None# Allow open access:Require all granted
</Directory>

重启服务

[root@localhost web1]# systemctl restart httpd

测试

注意:

        要关闭selinux 

[root@localhost conf.d]# setenforce 0

        案例3 --- 搭建一个个人用户主页功能网站,实现通过身份验证功能来访问数据

         如果想在系统中为每一位用户建立一个独立的网站,通常使用基于虚拟主机的功能来创建部署多个网站,但这个工作会让管理者苦不堪言,尤其是用户数据量很大的情况时,而且用户自行管理网站时,还会碰到权限限制,需要为此做很多额外的工作,其实,httpd服务程序提供的个人主页功能可以完全胜任此工作,该功能可以让系统内所有用户在自己的家目录中管理个人网站,且访问也非常容易

 准备工作

# 关闭selinux和firewalld软件[root@localhost ~]# yum  install  httpd  -y[root@localhost ~]# systemctl  start  httpd[root@localhost ~]# systemctl  enable   httpd

编辑httpd目录中 == 用户主页配置 == 文件(不是httpd.conf

[root@localhost ~]# vim /etc/httpd/conf.d/userdir.conf #UserDir disabled  # 增加注释#,默认为关闭状态,增加注释表示开启功能UserDir public_html  # 取消注释#,即开启用户家目录功能,表示网站数据存储在/home/普通账户名/public_html中

创建2个用户

[root@localhost ~]# useradd t1
[root@localhost ~]# passwd t1
更改用户 t1 的密码 。
新的密码:              # 密码:123456
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# useradd t2
[root@localhost ~]# passwd t2
更改用户 t2 的密码 。
新的密码:            # 密码:654321
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。

切换到普通用户 ,进入家目录,新建存储网站数据的public_html,并设置权限

[root@localhost /]# su t1
[t1@localhost /]$ cd ~    # 进入t1的家目录
[t1@localhost ~]$ pwd
/home/t1
[t1@localhost ~]$ mkdir public_html    # 新建存储网站数据的目录
[t1@localhost ~]$ ls
public_html
[t1@localhost ~]$ cd public_html/
[t1@localhost public_html]$ vim index.html #创建文件并并写数据
This is t1

[t1@localhost ~]$ chmod -Rf 755 /home/t1    # 设置权限
[t1@localhost ~]$ ll 

[t1@localhost ~]$ su t2
Password: 
[t2@localhost t1]$ cd ~
[t2@localhost ~]$ mkdir public_html
[t2@localhost ~]$ cd public_html/
[t2@localhost public_html]$ vim index.html
[t2@localhost public_html]$ cat index.html
This is t2
[t2@localhost public_html]$ chmod -Rf 755 /home/t2
[t2@localhost public_html]$ cd ..
[t2@localhost ~]$ ll
total 0
drwxr-xr-x. 2 t2 t2 24 Aug 30 19:11 public_html
[t2@localhost ~]$ 

[t2@localhost ~]$ su root #切换回管理员
Password: 
[root@localhost t2]# cd ~

重启服务

[root@localhost ~]# systemctl restart httpd

未报错,则重启成功

测试

192.168.149.128/~t1
192.168.149.128/~t2

案例4 ---  网页验证密码登录

准备工作

# 恢复之前配置文件中的配置[root@localhost ~]# vim  /etc/httpd/conf.d/userdir.conf [root@localhost ~]# vim  /etc/httpd/conf/www/httpd.conf# 关闭selinux和firewalld软件[root@localhost ~]# setenforce 0[root@localhost ~]# systemctl stop firewalld

搭建网站,设置密码访问控制

[root@localhost ~]# cd /
[root@localhost /]# mkdir -p /www/zy
[root@localhost /]# htpasswd -c /etc/httpd/paszy t1
New password: 
Re-type new password:     # 123456
Adding password for user t1
[root@localhost /]# htpasswd  /etc/httpd/paszy t2     不能加-c
New password: 
Re-type new password:     # 654321
Adding password for user t2
[root@localhost /]# 

编辑文件配置

[root@localhost /]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件
DocumentRoot "/www/zy"   # 设置网页启动目录<Directory "/www/zy">    # 设置网页启动目录的访问权限AllowOverride None# Allow open access:Require all granted
</Directory><Directory  "/www/zy">  authuserfile  /etc/httpd/pszyauthname  "My  privately website"authtype  basicrequire   user  t1 t2
</Directory>

重启服务

[root@localhost /]# systemctl restart httpd

测试

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

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

相关文章

【广州华锐互动】AR远程连接专家进行协同管理,解放双手让协同更便捷

AR远程协同系统是一种基于AR技术&#xff0c;实现远程设备维修和技术支持的系统。该系统通过将虚拟信息叠加在现实世界中&#xff0c;实现对设备的全方位监控和管理&#xff0c;并可以通过AR眼镜等终端设备&#xff0c;实时查看设备的各项数据和信息&#xff0c;为设备维修提供…

ctfshow-web14

0x00 前言 CTF 加解密合集CTF Web合集 0x01 题目 0x02 Write Up 首先看到这个&#xff0c;swith&#xff0c;那么直接输入4&#xff0c;则会打印$url的值 然后访问一下 查看一下&#xff0c;发现完整的请求是http://c7ff9ed6-dccd-4d01-907a-f1c61c016c15.challenge.ctf.sho…

(详解)数据结构-----------栈与队列 c语言实现

本章将会详细讲解以下知识点&#xff1a; 目录 一&#xff1a;栈 1&#xff1a;栈的定义&#xff0c;栈的特点 2&#xff1a;用什么结构来实现栈与原因的分析? 3: (超详解)栈的常用接口并且附上测试用例 二:队列 1:队列的定义&#xff0c;队列的特点 2&#xff1a;用什么结…

JVM 判定对象是否死亡的两种方式

引用计数法&#xff1a;&#xff08;脑门刻字法&#xff09;和 可达性分析 引用计数算法 引用计数器的算法是这样的&#xff1a;在对象中添加一个引用计数器&#xff0c;每当有一个地方引用它时&#xff0c;计数器值就加一&#xff1b;当引用失效时&#xff0c;计数器值就减一…

python之socket编程

本章内容 1、socket 2、IO多路复用 3、socketserver Socket socket起源于Unix&#xff0c;而Unix/Linux基本哲学之一就是“一切皆文件”&#xff0c;对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现&#xff0c;socket即是一种特殊的文件&#xff0…

服务器数据恢复- RAID5出现故障后恢复数据和操作系统的案例

服务器数据恢复环境&#xff1a; 某品牌服务器中有4块SAS硬盘组建了一组RAID5阵列&#xff0c;另外1块磁盘作为热备盘使用。上层操作系统为redhat linux&#xff0c;部署了一个数据库是oracle的OA。 服务器故障&初检&#xff1a; RAID5中一块磁盘离线后热备盘未自动激活re…

1. 安装Zookeeper

​ 1.下载 点击下载Zookeeper 单机版安装 安装Zookeeper前需要先安装jdk上传安装包rz解压安装包:tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz -C /opt/app/zookeeper zookeeper目录结构:a. bin: 放置运行脚本和工具脚本b. conf: zookeeper 默认读取配置的目录,里面会有…

CSS中你不得不知道的盒子模型

目录 1、CSS的盒子模型1.1 css盒子模型有哪些&#xff1a;1.2 css盒子模型的区别1.3 通过css如何转换css盒子模型 1、CSS的盒子模型 1.1 css盒子模型有哪些&#xff1a; 标准盒子模型、怪异盒子模型&#xff08;IE盒子模型&#xff09; 1.2 css盒子模型的区别 标准盒子模型&a…

【人工智能】—_神经网络、M-P_神经元模型、激活函数、神经网络结构、学习网络参数、代价定义、总代价

M-P_神经元模型、激活函数、神经网络结构、学习网络参数、代价定义 文章目录 M-P_神经元模型、激活函数、神经网络结构、学习网络参数、代价定义 M-P 神经元模型激活函数(Activation function)神经网络结构举例训练神经网络学习网络参数代价定义均方误差交叉熵&#xff08;Cros…

C++ deque底层原理

deque底层原理 一、目的二、底层实现三、原理图四、类结构五、push_back六、pop_back 一、目的 实现双端数组 二、底层实现 双向开口的连续线性空间 三、原理图 四、类结构 class deque : protected Deque base _Deque_base._Deque_impl M_map 指针数组 _M_map_size …

avalonia、WPF使用ScottPlot动态显示ECG心电图

文章目录 avalonia、WPF使用ScottPlot动态显示ECG心电图实现效果&#xff0c;动态效果懒得录视频了安装代码部分UpdateData方法就是用来更新心电图表的方法&#xff0c; 根据消息队列数据去更新是视图中的ScottPlot 图表 avalonia、WPF使用ScottPlot动态显示ECG心电图 avalonia…

共筑开源新长城 龙蜥社区走进开放原子校源行-清华大学站

6 月 28 日&#xff0c;以“聚缘于校&#xff0c;开源共行”为主题的 2023 年开放原子校源行活动在清华大学成功举行。本次活动由开放原子开源基金会和清华大学共同主办&#xff0c;来自各行业的 22 位大咖共聚校园共话开源。龙蜥社区技术专家边子政受邀进行技术分享&#xff0…

stable diffusion实践操作-SD原理

系列文章目录 本文专门开一节写SD原理相关的内容&#xff0c;在看之前&#xff0c;可以同步关注&#xff1a; stable diffusion实践操作 文章目录 系列文章目录前言一、原理说明1.1、出图原理1.1.1 AI画画不是和人一样&#xff0c;从0开始&#xff0c;而是一个去噪点的过程&am…

IP初学习

1.IP报文 首部长度指的是报头长度&#xff0c;用于分离报头和有效载荷 2.网段划分 IP地址 目标网络 目标主机 3.例子 4.特殊的IP地址 5.真正的网络环境 6.调制解调器 “猫”&#xff0c;学名叫宽带无线猫 7.NAT 源IP在内网环境不断被替换 8.私有IP不能出现在公网上 因…

【LeetCode75】第四十三题 钥匙和房间

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一个数组&#xff0c;表示对应的房间里拥有能开启的对应索引号的钥匙。 一开始我们只能进入0号房间&#xff0c;也就是数组里索引…

【计算机组成 课程笔记】3.2 算数运算和逻辑运算的硬件实现

课程链接&#xff1a; 计算机组成_北京大学_中国大学MOOC(慕课) 3 - 2 - 302-门电路的基本原理&#xff08;11-39--&#xff09;_哔哩哔哩_bilibili 现代计算机的CPU和其他很多功能部件都是基于晶体管的集成电路&#xff0c;想要了解计算机组成的基本原理&#xff0c;还是需要有…

系统架构技能之设计模式-工厂模式

一、开篇 本文主要是讲述设计模式中最经典的创建型模式-工厂模式&#xff0c;本文将会从以下几点对工厂模式进行阐述。 本文将会从上面的四个方面进行详细的讲解和说明&#xff0c;当然会的朋友可以之处我的不足之处&#xff0c;不会的朋友也请我们能够相互学习讨论。 二、摘…

SpringCloudAlibaba常用组件

SpringCloudAlibaba常用组件 微服务概念 1.1 单体、分布式、集群 单体 ⼀个系统业务量很⼩的时候所有的代码都放在⼀个项⽬中就好了&#xff0c;然后这个项⽬部署在⼀台服务器上就 好了。整个项⽬所有的服务都由这台服务器提供。这就是单机结构。 单体应⽤开发简单,部署测试…

el-date-picker自定义只能选中当前月份和半年内月份等

需求&#xff1a;el-date-picker只能选中当前月期和当前月期往前半年&#xff0c;其他时间就禁用了不让选择了&#xff0c;因为没数据哈哈。当然也可以选择往前一年等。 一、效果 二、写个日期选择器 :picker-options&#xff1a;日期选项 value-format&#xff1a;选择后的格…

运算放大器总结

早期的运算放大器目的是制造模拟计算机&#xff0c;用来计算各种数学公式。虽然现在已经被数字电路替代了&#xff0c;但是运算放大器在模拟电路设计中&#xff0c;仍然是最重要的知识。 1、运放是怎么工作的&#xff1f; 以电压反馈型运放&#xff08;VFA&#xff09;为例。由…