LiangGaRy-学习笔记-Day24

news2024/11/25 14:29:29

1、web服务介绍

1.1、Linux常见的web服务

httpd

nginx

tomcat

1.2、LAMP架构

L:CentOS

  • CentOS7
  • RHEL7等等

A:Apache

  • apache:网页服务器
    • httpd服务

M:MySQL

  • MySQL:关系型数据库
    • AB公司–>08年被SUN公司收购
    • 09年4月:Oracle收购sun
    • MySQL版本:5.5/5.6/5.7
    • 16年开始:MySQL8时代–>Oracle
    • 官方网站:http://www.mysql.com

P:PHP

  • 开发语言:有27年的历史
  • 94年问世–>用于机器学习、3D、数据分析
    • shell编程、php语言
  • 语言工具:理解运维当中需要什么样的编程思想与语言
    • 学语言就是为了运维,运维为重;
    • 学习仅仅只是辅助;

2、Apache WEB网站

2.1、Apache介绍

工作模式:

  • B/S模式:企业对接客户的模式
  • 端口:默认是80
    • 加密是https:445–>做CA认证

三种工作模式:

  • prefork:
    • profork模式实现了一种非线程、预派生的Web服务器,
    • 用的是进程去处理请求,所以比较容易消耗内存,
    • 但是稳定性好,某个进程出现问题不会影响到其他请求。
  • work:
    • worker模式使用多个子进程,每个子进程有多个线程、
    • 由于使用的是线程去处理请求,消耗内存小,适合高流量的请求,
    • 但是如果某个进程出现问题,那么这个进程下的线程都会出现问题,即稳定性不是很好。
  • event:
    • event模式为了解决keep-alive保持长连接出现的一种工作模式,
    • 使用keep-alive长连接的时候,某个线程会一直被占用,
    • 即使中间没有请求,需要等到超时才会被释放,所以这个时候就出现了event的工作模式。

UV:独立访客数量

  • UV值表示通过互联网访问、流量网站的自然人的个数。
  • 1天内相同访客多次访问网站,只计算为1个独立访客。
  • 该概念的引入,是从用户个体的角度对访问数据进行划分

一个IP:并发访问UV–>打开多个网页(pv)

PV:页面浏览量

  • 用户每打开1个网站页面,记录1个PV。
  • 用户多次打开同一页面,PV值累计多次。
  • 主要用来衡量网站用户访问的网页数量。
  • 是评价网站流量最常用的指标之一

拥有一个个人网站:

  • LAMP+Wordpress+前段模板
  • 域名+ip
  • 阿里云购买
    • 1核心、1G内存
  • 或者是:虚拟机做一台
    • 就在上面写文章
    • 后面做迁移–>直接迁移到线上部署;
    • 域名:备案20天左右;
      • www.liangjiawei.net:8080 -->这里就是apache的配置默认页面
      • /var/www/html/bbs/index.php

2.2、apache的安装部署

部署yum源–>使用本地yum源即可;

#编写repo文件
[root@LJW ~]# vim /etc/yum.repos.d/local.repo 
[local-repo]
name=local-repo
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

#挂载使用
[root@LJW ~]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only

直接yum安装

#查看相关联的软件包
[root@LJW ~]# ls /mnt/cdrom/Packages/httpd-*
/mnt/cdrom/Packages/httpd-2.4.6-88.el7.centos.x86_64.rpm
/mnt/cdrom/Packages/httpd-devel-2.4.6-88.el7.centos.x86_64.rpm
/mnt/cdrom/Packages/httpd-manual-2.4.6-88.el7.centos.noarch.rpm
/mnt/cdrom/Packages/httpd-tools-2.4.6-88.el7.centos.x86_64.rpm

#然后直接yum安装即可-->
[root@LJW ~]# yum -y install httpd

#然后直接启动
[root@LJW ~]# systemctl start httpd
	#查看端口
[root@LJW ~]# netstat -antlup | grep :80
tcp6       0      0 :::80                   :::*                    LISTEN      6731/httpd    

#查看httpd的版本
[root@LJW ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09

#查看网站的状态
[root@LJW ~]# curl -I 192.168.75.131
HTTP/1.1 403 Forbidden
Date: Sun, 16 Jul 2023 07:34:26 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8

2.3、apache的配置文件说明

配置文件的位置:

  • /etc/httpd/conf/httpd.conf
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf 
.....
ServerRoot "/etc/httpd"			#用于指定Apache运行的根目录
Listen 80						#监听80端口,默认的就是80端口
MaxClients  256					#指定同时能访问服务器的客户机数量为256
DocumentRoot "/var/www/html"	#网页文件存放的目录
DirectoryIndex index.html index.html.var	#默认网站主页
Include conf.d/*.conf			#读取/etc/httpd/conf/conf.d/目录中所有以.conf结尾的文件
ServerName www.wg.com			#域名
ServerAdmin						#设置管理员的邮箱
Include conf.d/*.conf			#包含的子配置文件
User apache						#用户是apache
Group apache					#用户组是apache
Directory 						#认证授权和访问控制

Options FollowSymLinks 			#Options Indexes 目录浏览FollowSymLinks 用连接
AddDefaultCharset UTF-8 		#支持的语言,默认编码
LoadModule						#加载动态模块

##################################
<IfModule prefork.c>     #当httpd服务使用的profork模型的时候:
 StartServers      10    #默认启动10个作业进程
 MinSpareServers    10    #空闲进程数不低于10个
 MaxSpareServers    20    #空闲进程数最大20个
 ServerLimit      256    #最多可以启动256个进程
 MaxClients       256    #最大并发客户端数为256个
 MaxRequestsPerChild 4000 #每个进程可以处理4000个请求,超过此数目进程被杀死并重新创建
</IfModule>

3、apache实战

3.1、搭建测试WEB

要求如下:

  • 搭建一台web测试机
  • 部门内部搭建一个台web服务器,采用的IP地址和端口为80;访问格式:192.168.75.131:80
  • 首页采用index.html文件
  • 管理员E-mail地址为:liangjiawei@163.com
  • 网页的编码类型采用UTF-8,
  • 所有网站资源都存放在/var/www/html目录下
  • 并将Apache的配置文件根目录设置为/etc/httpd目录
#直接安装httpd
[root@LJW ~]# yum -y install httpd

#按照要求配置web服务器
	#备份一下配置文件
[root@LJW ~]# cp /etc/httpd/conf/httpd.conf{,.bak}
	#然后按要求配置
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
..........
 31 ServerRoot "/etc/httpd"			#设置默认的配置文件
.............
 42 Listen 80			#指定监听的端口
..........
 87 ServerAdmin liangjiawei@163.com		#设定默认的邮箱
..............
119 DocumentRoot "/var/www/html"	#修改根目录的位置,
...........
316 AddDefaultCharset UTF-8			#设置中文编码

#填写好了之后就重启httpd--->没有报错就可以了
[root@LJW ~]# systemctl restart httpd

3.2、Apache访问控制实验

要求:

  • 修改网络目录对应的权限–>/var/www/html–>默认的目录存放的路径
    • 创建一个一个bbs的目录
  • 然后允许所有的访问请求
#修改配置文件
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
..........#在末行添加
355 <Directory "/var/www/html/bbs">
356 <RequireALL>
357 Require all granted
358 </RequireALL>
359 </Directory>
#重启服务
[root@LJW ~]# systemctl restart httpd

#然后创建资源
[root@LJW ~]# mkdir /var/www/html/bbs/
[root@LJW ~]# echo "This is BBS" >> /var/www/html/bbs/index.html

#访问测试-->这里注意,一定要带上/
[root@Node2 ~]# curl 192.168.75.131/bbs/
This is BBS
  • 拒绝所有的访问
    • 创建一个/var/www/html/liangjiawei/
#修改配置文件-->多增加一个标签
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
.......#在末行添加
<Directory "/var/www/html/liangjiawei">
<RequireALL>
Require all denied
</RequireALL>
</Directory>
#重启
[root@LJW ~]# systemctl restart httpd

#创建资源
[root@LJW ~]# systemctl restart httpd
[root@LJW ~]# mkdir /var/www/html/liangjiawei/
[root@LJW ~]# echo "This is liangjiawei" >> /var/www/html/liangjiawei/index.html 

#测试:-->本机测试
[root@LJW ~]# curl 192.168.75.131/liangjiawei/index.html
<p>You don't have permission to access /liangjiawei/index.html
  • 只允许特定的域名主机访问
    • 允许192.168.75.132主机访问liangjiawei
#修改配置文件-->多增加一个标签
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
.......#在末行添加
<Directory "/var/www/html/liangjiawei">
<RequireALL>
Require host node1
Require ip 192.168.75.132
</RequireALL>
</Directory>

#重启
[root@LJW ~]# systemctl restart httpd

#测试
[root@Node2 ~]# curl 192.168.75.131/liangjiawei/index.html
This is liangjiawei
  • 允许所有访问请求,但是拒绝来自特定IP或者是IP段的访问请求
    • 阻止恶意IP或恶意爬虫网段的访问
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
.........
<Directory "/var/www/html/bbs">
<RequireALL>
Require all granted
Require not ip 192.168.75.132
</RequireALL>

#重启
[root@LJW ~]# systemctl restart httpd

#测试
[root@Node2 ~]# curl 192.168.75.131/bbs/
........
<p>You don't have permission to access /bbs/

总结:

  • Apache访问控制会有一个优先级的说法
    • 相同的IP陪在后面的,优先级高
    • Require all granted :允许所有的饿
    • Require all denied :拒绝所有
    • Require user userid [ userid ] … :允许,特定用户
    • Require ip 192.168.75.132 192.168.75.0/24 :允许特定IP和网段
    • Require not ip 1:不允许特定IP和网段

3.3、Apache的别名目录

别名目录:就是虚拟目录

  • 把/usr/local/data/目录通过虚拟目录的功能添加到万丈根目录的/data/下
#创建资源
[root@LJW ~]# mkdir /usr/local/data/
[root@LJW ~]# echo "This is data.txt" >> /usr/local/data/index.html

#修改apache的配置文件,
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
..#在最后添加如下信息.......
367 Alias /data/ "/usr/local/data/"
368 <Directory /usr/local/data/>
369   AllowOverride none
370   Options Indexes FollowSymLinks
371   Require all granted
372 </Directory>

#重新读取配置文件
[root@LJW ~]# systemctl restart httpd

#测试验证
[root@Node2 ~]# curl 192.168.75.131/data/
This is data.txt

3.4、Apache目录列表

要求:

  • 实现apache打开软链接功能-禁止显示目录列表-用户认证
#创建实验环境
[root@LJW ~]# cd /var/www/html/
[root@LJW html]# ls
bbs  liangjiawei
[root@LJW html]# cd bbs/
[root@LJW bbs]# mkdir list
[root@LJW bbs]# echo "hello the word " >> liangjiawei.txt
[root@LJW bbs]# cd /var/www/html/
[root@LJW html]# tree
.
├── bbs
│   ├── index.html
│   ├── liangjiawei.txt
│   └── list
└── liangjiawei
    └── index.html
    
#移除走apache的默认页面
[root@LJW html]# mv /etc/httpd/conf.d/welcome.conf  /tmp/

如果直接访问IP

3.5、Apache的用户认证

  • 通过用户认证来保护网站页面
#修改配置文件
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
.........
367 Alias /data/ "/usr/local/data/"
368 <Directory /usr/local/data/>
369   AllowOverride none
370   #Options Indexes FollowSymLinks
371   #Require all granted
372   AuthType Basic				#authtype命令:指定认证类型为:basic。
373   AuthName "liangjiawei web "
374   AuthUserFile /etc/httpd/conf/passwd.secret
375   Require valid-user	#在AuthUserFile指定的文件中任何用户都可以访问)
376 </Directory>

#然后创建用户文件-->第一次创建需要+上-c选项
[root@LJW ~]# htpasswd -cm /etc/httpd/conf/passwd.secret liangjiawei
New password: 
Re-type new password: 
Adding password for user liangjiawei
	#第二次添加可以不用+选项-c
[root@LJW ~]# htpasswd -m /etc/httpd/conf/passwd.secret huangzhiming
New password: 
Re-type new password: 
Adding password for user huangzhiming

#查看一下里面的内容
[root@LJW ~]# cat /etc/httpd/conf/passwd.secret 
liangjiawei:$apr1$0azIyzN6$fVE1nCCG0.agYjLlfXCvI1
huangzhiming:$apr1$8nMPwad/$h1iv59wT6DOAbC/Q3o.y9.

#重启apache服务
[root@LJW ~]# systemctl restart httpd

浏览器登陆

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zpb8tEfY-1687246471633)(C:\Users\11146\AppData\Roaming\Typora\typora-user-images\1687246140027.png)]

3.6、htpasswd命令

作用:用于创建和更新储存用户名、域和用户基本认证的密码文件

语法:htpasswd + 选项 + 文件路径 + 用户名

选项:

  • -c:创建一个加密文件;
  • -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
  • -m:默认采用MD5算法对密码进行加密;
  • -d:采用CRYPT算法对密码进行加密;
  • -p:不对密码进行进行加密,即明文密码;
  • -s:采用SHA算法对密码进行加密;
  • -b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
  • -D:删除指定的用户。

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

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

相关文章

基于.Net6使用YoloV8的分割模型

前言 在目标检测一文中&#xff0c;我们学习了如何处理Onnx模型&#xff0c;并的到目标检测结果&#xff0c;在此基础上&#xff0c;本文实现基于.Net平台的实例分割任务。 执行YoloV8的分割任务后可以得到分割.pt模型。由于Python基本不用于工业软件的部署&#xff0c;最终还…

1.1 渲染流水线

整体流程 应用阶段&#xff1a;粗粒度剔除、进行渲染设置、准备基本数据、输出到几何阶段 几何阶段&#xff1a;顶点着色器、曲面细分、几何着色器、顶点裁剪、屏幕映射 光栅化阶段&#xff1a;三角形&#xff08;点/线&#xff09;设置、三角形&#xff08;点/线&#xff09…

基于android studio开发的火车票购票系统app,android移动开发课设,毕业设计

基于android studio开发的火车票购票系统app 项目概述 基于android studio开发实现火车票购票系统app 适用于android移动开发学习项目&#xff0c;课程设计&#xff0c;毕业设计等 开发环境及工具 开发工具&#xff1a;android studio 或者intellij idea专业版操作系统&…

最新大学计算机专业实习心得报告

最新大学计算机专业实习心得报告&#xff08;篇1&#xff09; 一、实习目的 通过理论联系实际&#xff0c;巩固所学的知识&#xff0c;提高处理实际问题的能力&#xff0c;为顺利毕业进行做好充分的准备&#xff0c;并为自己能顺利与社会环境接轨做准备。通过这次实习&#xff…

软件测试入门篇

软件测试含义 在规定条件下对程序进行操作&#xff0c;发现软件错误&#xff0c;衡量软件质量&#xff0c;对其是否能满足设计要求进行评估的过程 开发不做测试原因&#xff1a;测试力度&#xff0c;思维方式&#xff0c;关注度 计算机定义 一种可以自动高效进行技术操作的…

Debian 版本代号与《玩具总动员》

作为最受欢迎的 Linux 发行版之一&#xff0c;Debian 是许多其他发行版的基础&#xff0c;许多非常受欢迎的 Linux 发行版&#xff0c;例如 Ubuntu、Knoppix、PureOS 、Tails、Armbian 以及 Raspbian&#xff0c;都基于 Debian。 经过近 20 个月的开发&#xff0c;2023 年 6 月…

基于SpringBoot的大学生成长管理系统的设计与实现

摘 要 大学生成长管理系统是记录大学生在大学期间的成长记录史。它是为了促进学生成长、提升学习兴趣及其质量。系统是集辅导员、学生和管理员为核心的一个综合平台。 本系统采用Java编程语言&#xff0c;完成了大学生成长管理系统。系统的使用角色分为三个&#xff1a;管理员…

鉴源实验室丨HSM技术浅述

作者 | 徐奕华 上海控安可信软件创新研究院汽车网络安全组 来源 | 鉴源实验室 引言&#xff1a;2023年5月初&#xff0c;工业和信息化部装备工业一司组织全国汽车标准化技术委员会开展《汽车整车信息安全技术要求》等四项强制性国家标准的制修订[1]。这意味着车辆信息安全管理…

CPU调优 iostat命令

目录 一、命令描述 二、命令作用 三、命令 1.用法 2.命令参数 四、使用实例 1.CPU属性值说明 五、压力测试stress 1.stress介绍 2.stress参数 3.安装stress 四、实验 五、总结 一、命令描述 Linux 中的 iostat 是I/O statistics&#xff08;输入/输出统计&#xf…

毕业设计心得总结10篇

毕业设计心得总结1 201_年5月30日上午&#xff0c;我们的毕业论文答辩圆满结束了。当刘老师给我们送上人生的祝语时&#xff0c;一种即将离别的难舍之情油然而生&#xff0c;我开始眷恋培养我大学四年的母校&#xff0c;看着一张张熟悉的面孔&#xff0c;过去的欢乐和不快都烟消…

JavaEE课程设计——校园招聘管理系统(vue框架分析)

目录 Vue架构 登录 Vue架构 前端执行命令 npm run serve 这是整个前端的目录结构 vue.config.js是对前端vue的一个配置&#xff0c; // var webpack require(webpack); const path require(path)function resolve(dir) {return path.join(__dirname, dir) }function pu…

每日学术速递6.13

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Tracking Everything Everywhere All at Once 标题&#xff1a;一次跟踪所有地方的一切 作者&#xff1a;Qianqian Wang, Yen-Yu Chang, Ruojin Cai, Zhengqi Li, Bharath Hariha…

数据结构 栈(C语言实现)

绪论 时间就是生命&#xff0c;时间就是速度&#xff0c;时间就是气力。——郭沫若&#xff1b;本章继续学习数据结构&#xff0c;本章主要讲了什么是栈以及栈的基本功能和实现方法。 话不多说安全带系好&#xff0c;发车啦&#xff08;建议电脑观看&#xff09;。 附&#xff…

专业科普:什么是单片机?

一、什么是单片机 单片机诞生于20世纪70年代末&#xff0c;它是指一个集成在一块芯片上的完整计算机系统。单片机具有一个完整计算机所需要的大部分部件&#xff1a;CPU、内存、内部和外部总线系统&#xff0c;目前大部分还会具有外存。同时集成诸如通讯接口、定时器&#xff…

AI日报|GitHub报告:开发者正将AI视为新机会;突破ChatGPT的能力极限;AI会让我们变得愚蠢吗?

今日值得关注的人工智能新动态&#xff1a; AI 会让我们变得愚蠢吗&#xff1f;安永&#xff1a;与老板们不同&#xff0c;大多数工人正在拥抱 AI突破 ChatGPT 的能力极限谷歌推出AI虚拟试穿工具Gannett 涉足生成式 AIGitHub 报告&#xff1a;开发者将 AI 视为一个新机会专家敦…

Nik Color Efex 滤镜详解(4/5)

油墨效果 Ink 模拟特种相纸和调色剂的冲印效果。 颜色组合 Color Set 可选择不同的颜色组合。 强度 Strength 调整滤镜效果程度。 层次和曲线 Levels & Curves 用色阶和曲线来调整图像的影调和色调。常与其它滤镜组合使用。 通道 Channel 选择调节色调的通道。 通道除了…

C++基础(10)——函数模板和类模板

前言 本文主要介绍了C中函数模板和类模板基本知识 6.1&#xff1a;函数模板 模板函数的定义 template<typename T>函数的定义或声明 模板函数的两种使用方法&#xff08;编译器自动推测、显示指定T的类型&#xff09; 注意事项&#xff1a;模板一定要确定指出T的数据…

nuxt打包后文件过大的优化

在使用nuxt.js来做项目的时候&#xff0c;遇到了加载缓慢的问题。解决思路如下 1、大文件拆分 2、文件压缩 大文件拆分 通过nuxt build --analyze或者nuxt build -a命令来启用 在package.json中 添加–analyze&#xff0c;然后执行npm run build 打包后如下&#xff1a; …

MySQL数据库——事物

MySQL数据库——事物 一、事务的概念二、事务的ACID特点1.原子性2.一致性3.隔离性4.持久性5.事务隔离级别的作用范围 三、事务级别的查看与设置1.查询全局事务隔离级别2.查询会话事务隔离级别3.设置全局事务隔离级别4.设置会话事务隔离级别 四、事务控制语句1.测试提交事务2.测…

threeJs着色器

一、着色器 着色器&#xff08;Shaders &#xff09;是一种使用GLSL(OpenGL Shading Language)编写并在GPU上运行的程序。它们被用于定位几何体的每个顶点&#xff0c;并为该几何体的每个可见像素着色。使用“像素Pixel”来描述其实并不准确&#xff0c;因为渲染的每个点不一定…