Linux进阶——web服务器

ops/2025/2/11 1:25:34/

一、相关名词解释及概念:

        www:(world wide web)全球信息广播,通常来说的上网就是使用www来查询用户所需的信息。使用http超文本传输协议。

        过程:web浏览器向web服务(Apache,Microsoft,nginx)端发送web请求。www服务器需要提供可让客户端浏览的平台。服务器所提供的主要数据是超文本标记语言html和多媒体文件。html只是一些纯文本文件,通过所谓的标记来规范要显示的数据格式。web服务端将文档传输给浏览器(即客户端)。客户端收到服务器的数据之后,需要解析数据,最后将效果呈现到用户屏幕上。

客户端软件:浏览器       

服务器软件:nginx

网站格式:协议://域名:端口

                  https://192.18.68.99

https---->端口号443(加密传输)

http---->端口号80(明文)

对于主机网络配置:

IP地址一定要有,因为这是唯一标识主机的信息。

网关也是必要的,没有网关意味着没有下一跳的信息,也就无法正常上网。

域名服务器DNS,没有DNS就无法解析网站的IP地址。例如:想要请求百度的web服务,若没有DNS,就只能使用IP地址39.156.66.10,而不能使用www.baisu.com。

二、web服务器的网页资源类型

1、静态网页资源:

单纯是由服务器向用户提供数据,server不需要向client端有任何的互动,在网页设计时,纯粹HTML格式的网页通常被称为“静态网页”。

静态解析web服务器软件:Apache、Nignx

2、动态网页资源:

这种类型的网页可以让服务器与用户互动,例如留言板、博客等。

搭建动态网页的需求:

LAMP(linux+Apache+Mysql+PHP)

Lnmp(linux+Nginx+Mysql+php)

Apache、Nginx主要提供www服务器平台

Mysql:一种特殊的格式文件,这种文件要通过特殊接口来进行读写,适合多人同时写入与查询工作。

PHP:PHP程序代码可以直接在HTML网页中嵌入,就像编辑HTML网页一样简单。PHP是一种‘程序语言’,这种程序语言可以直接在网页中编写,不需要经过编译即可执行。

三、web服务器基本配置

服务器端:使用nginx提供web服务。

yum        install        nginx        -y        #下载nginx

/etc/nginx/conf.d        #配置文件目录

/etc/nginx/nginx.conf        #主配置文件

grep        ^[^#]        /etc/nginx/nginx.conf        #打印指定文件出注释以外的所有内容

/usr/share/nginx/html        #默认的nginx网站根目录

/var/log/nginx        #nginx的日志文件所在目录

/var/log/nginx/error.log        #错误日志

/var/log/nginx/access.log        #访问日志

使用nginx:

systemctl        disable        firewalld        --now        #关闭防火墙

setenforce        0        #关闭selinux

ss        -lntup        #查看端口,是否与nginx所需的80端口冲突(httpd)

systemctl        restart        nginx        #重启nginx服务

curl        -I        localhost        #测试是否可以使用curl命令访问web服务器或者使用浏览器访问

四、测试样例:

实例1

搭建web服务器,访问该服务器时显示“hello world”欢迎界面

vim        /usr/share/nginx/html/index.html        #写入hello world

curl        localhost        #查看写入信息

curl        192.168.68.130        #作用同上

实例2

建立两个基于IP地址访问的网页,要求如下:

该网站的IP地址主机位为100,设置首页目录为/www/ip/100,网页内容为this   is   100。

该网站的IP地址主机位为200,设置首页目录为/www/ip/200,网页内容为this   is   200。

nmtui        #添加IP地址192.168.68.100/24和192.168.68.200/24

nmcli        conneciton        up        ens160        #重启网络

mkdir        -pv        /www/ip/{100,200}        #创建所需的路径

echo        this is 100        >        /www/ip/100/index.html

echo        this is 200        >        /www/ip/200/index.html        #定义网页内容

setenforce 0        #设置selinux

书写配置文件:

vim        /etc/nginx/conf.d/test_ip.conf        #新建配置文件,将一下信息写入

server{listen 192.168.68.100:80;root /www/ip/100;location / {}
}
server{listen 192.168.68.200:80;root /www/ip/200;location / {}
}

systemctl        restart        nginx        #重启服务

成功!

实例3

建立两个基于端口访问的网站,设置网站首页的地址为/www/port/80,设置网页内容为:the port id 80。建立一个使用10000端口的网站,设置网站首页目录为/www/port/10000,网页内容为the port id 10000

mkdir        -pv        /www/port/{80,10000}

echo        this is 80        >        /www/port/80/index.html

echo        this is 10000        >        /www/port/10000/index.html        #定义网页内容

nmtui        #添加IP地址192.168.68.80和192.168.68.110

vim        /etc/nginx/conf.d/test_ip.conf        #写入以下配置

server{listen 192.168.68.80:80;root /www/port/80;location / {}
}
server{listen 192.168.68.110:10000;root /www/port/10000;location / {}
}

systemctl        restart        nginx        #重启nginx程序

成功!

tree        /www        #用树的形式查看

实例4

使用自定义域名www.bzy_test.com打开网页192.168.68.100

主机中存放域名与IP地址关联的文件地址:C:\Windows\System32\drivers\etc、hosts

使用pycharm以管理员的身份打开,并写入192.168.68.100  www.bzy_test.com

测试成功!

五、搭建http静态网站

 实例1

建立两个基于域名访问,要求如下:

新建一个网站,域名为www.ceshi.com,设置网站首页目录为/www/name,网页内容为this is test。

新建一个网站,域名为rhce.first.day,同时可以通过rhce.first.day设置网站首页目录为/www/ce,网页内容为today is first day of class。

基于域名的网站,需要用到域名解析。域名-->IP地址

浏览器如何通过域名去查URL对应的IP(对应的服务器地址):

1、浏览器缓存:浏览器会按照一定的频率缓存DNS记录。

2、操作系统缓存:如果浏览器缓存中找不到需要的DNS记录,那就去操作系统中的hosts文件找。hosts是一个没有扩展名的系统文件,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联的数据库,当用户在浏览器上输入一个需要登陆的网址时,系统首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立刻打开相应的网页,如果没找到,系统会再将网址提交给DNS域名服务器进行IP地址解析。

windows下的hosts文件地址:C:\windows\System32\drivers\etc\hosts

查看windows客户端本地缓存解析记录:ipconfig        /displaydns

清除windows客户端本地缓存的DNS解析记录:ipconfig        /flushdns

3、路由缓存:路由器也有DNS缓存

4、ISP的DNS服务器:ISP是互联网提供方的简称,ISP有专门的DNS服务器应对DNS查询请求。

5、根服务器:ISP的DNS服务器找不到的话,他会向根服务器发送请求,进行递归查询(DNS服务器先问根域名服务器.com域名服务器的IP地址,然后再问.com域名服务器,以此类推)

实验步骤:

mkdir        -pv        /www/{name,ce}        #创建目录文件

echo this is test > /www/name/index.html
echo today is first day of class > /www/ce/index.html        #将网页内容写入index.html中

vim        /etc/nginx/conf.d/test_ip.conf        #修改配置信息,写入以下信息

server{listen 192.168.68.130:80;server_name www.ceshi.comroot /www/name;
}
server{listen 192.168.68.130:80;root /www/ce;server_name rhce.first.day ce.first.day;location / {}
}

vim        /etc/hosts        #添加域名与IP地址的对应,添加如下内容

192.168.68.130        localhost        www.ceshi.com        rhce.first.day        ce.first.day

nginx        -t        #查看修改是否有问题

systemctl        restart        nginx        #重启服务

curl        www.ceshi.com        #测试是否可用

实例2

基于虚拟目录和用户控制的web网站

yum        install        httpd-tools        #下载httpd-tools包提供网页认证自动生成储存用户密码和用户名的文件

htpasswd        -cb        /etc/nginx/conf.d/auth-password user1 123        #创建用户

mkdir        /www/real        #新建文件目录作为实际访问的目录

echo        real        >        /www/real/index.html        #并写入实际访问的内容index.html

vim        test_virtual.conf        #编辑网页访问,写入以下内容:

server{listen 192.168.68.130:80;root /usr/share/nginx/index;location /real {alias /www/real;auth_basic on;auth_basic_user_file /etc/nginx/conf.d/atuo_password;}
}

systemctl        restart        nginx        #重启

curl        192.168.68.131/real/        #测试1

curl        192.168.68.131/real/        -u        user1        #测试2

curl user1:123456@192.168.68.131/real        #测试3

curl user1:123456@192.168.68.131/real/        #测试4

六、基于https协议的静态网站

  相较于http协议,https在可靠传输(如TCP之上),建立了一个SSL协议(SSL记录协议——为高层协议提供数据封装、压缩、加密等基本功能,SSL握手协议——用于实际的数据传输开始之前,通讯双方进行身份认证、协商加密算法、交换加密密钥等)

https网站的搭建www.bzy_test_https.com:

#https功能是由ngx_http_ssl_module模块提供

#新建ip并重启

nmcli        connection        modify        ens160        +ipv4.addresses        192.168.68.156/24

nmcli        connection        up        ens160   

#书写网站的首页文件    

mkdir        -pv        /www/https/

echo        https        >        /www/https/index.html       

#找到证书和私钥

cd        /etc/pki/tls/certs/        #证书存放路径

#.key是公钥文件,生成证书(自签名)的公私钥

openssl        genrsa        -out        https.key

#crt是由证书颁发机构CA签名后的证书,或者是由开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息

openssl        req        -utf8        -new        -key        https.key        -x509        -days        100        -out        https.crt

#写配置文件

vim        /etc/nginx/conf.d/test_https.conf

server{listen 192.168.68.156:443 ssl;root /www/https;ssl_certificate /etc/pki/tls/certs/https.crt;ssl_certificate_key /etc/pki/tls/certs/https.key;location / {}
}

systemctl        restart        nginx        #重启服务

curl        --insecure        https://192.168.68.156        #测试连接

#修改服务器和主机的dns配置文件

#主机配置文件地址:"C:\Windows\System32\drivers\etc\hosts"

#服务器配置文件地址:"/etc/hosts"

192.168.68.156   www.bzy_test_https.com        #加入IP地址与域名的对应关系

成功!


http://www.ppmy.cn/ops/157407.html

相关文章

【IoCDI】_@Autowired存在的问题及解决

目录 1. Autowired存在问题 2. 解决方法 2.1 方法1:属性名与需要使用的对象名保持一致 2.2 方法2:使用Primary指定要使用的对象 2.3 方法3:使用Qualifier指定要使用的对象 2.4 方法4:使用Resource指定要使用的对象 3. 关于…

Java 读取 PDF 模板文档并替换内容重新生成 PDF

朋友们!在实际开发里,经常会遇到需要根据 PDF 模板文档生成特定 PDF 的需求,比如合同、证书等。咱们可以借助 iText 库来实现读取 PDF 模板文档、替换指定内容,最后重新生成新 PDF 的功能。下面我就详细给大家讲讲具体怎么做。 1.…

全志A133 android10 thermal温控策略配置调试

一,功能介绍 Thermal简称热控制系统,其功能是通过temperature sensor(温度传感器)测量当前CPU、GPU等设备的温度值,然后根据此温度值,影响CPU、GPU等设备的调频策略,对CPU、GPU等设备的最大频率…

网络安全警示录:.wex勒索病毒的独特特性与应对之道

在数字化时代,网络安全威胁层出不穷,其中勒索病毒已成为企业和个人用户面临的一大挑战。近年来,.wex勒索病毒以其独特的加密方式和广泛的传播手段,给全球网络安全带来了严重威胁。本文将深入探讨.wex勒索病毒的独特特性&#xff0…

graylog初体验

最近graylog比较火,部署了一个来测试下,看下后续能不能代替目前占用资源比较多的elk,目前未对graylog性能进行深入测试,只是简单体验了下,graylog的UI比较简陋,但是在报警以及权限方面优于ELK,整…

信息安全、网络安全和数据安全的区别和联系

一、区别 1.信息安全 定义 信息安全是指为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因而遭到破坏、更改和泄露。它的范围比较广泛,涵盖了信息的保密性、完整性和可用性等多个方面。 侧重点 更强…

瑞芯微 Rockchip 系列 RK3588 主流深度学习框架模型转成 rknn 模型教程

前言 在瑞芯微 Rockchip 芯片上进行 NPU 推理,需要先将模型文件转换成 rknn 模型文件,才能执行各种推理任务。本文将介绍如何安装各种工具,并最终实现将各种深度学习框架的模型文件转换成 rknn 文件。 本教程不仅适合 RK3588 平台&#xff…

windows phpstudy python cgi配置

修改apache配置文件:httpd.conf 搜索’Define SRVROOT’, 查看cgi根目录,python脚本需要放在该 Define SRVROOT "D:/Program/phpstudy_pro/Extensions/Apache2.4.39解决中文乱码 文件最后添加AddDefaultCharset gbk 重启apache python脚本: #!py…