基础"/>
HTTP服务基础
防火墙设置[root@server0 ~]# firewall-cmd --set-default-zone=trusted
HTTP服务基础
独立web服务器(基于B/S)架构的网页服务 服务端提供网页 浏览器下载并显示网页 Hyper Text Markup Language,超文本标记语言 Hyper Text Transfer Protocol,超文本传输协议
软件包:httpd(Apache软件基金会) 系统服务:httpd 提供的默认配置 Listen:监听端口号(80) SreverName:本站点注册的DNS名称 DocumentRoot:网页根目录(/var/www/html) DirectoryIndex:起始页/首页文件名(index.html) 服务端server0 1.安装软件包httpd [root@server0 ~]# yum -y install httpd 2.重启httpd服务 [root@server0 ~]# systemctl restart httpd [root@server0 ~]# systemctl enable httpd 3.书写一个页面 [root@server0 ~]# echo '<h1>nsd9527' > /var/www/html/index.html [root@server0 ~]# cat /var/www/html/index.html 客户端desktop0 1.访问服务端地址 [root@desktop0 ~]# firefox 172.25.0.11 – ServerName:本站点注册的DNS名称(空缺) – DocumentRoot:网页文件根目录(/var/www/html) DNS服务器:classroom.example server0.example www0.example webapp0.example 通过ServerName指定本网站的域名为server0.example 服务端server0 1.修改配置文件/etc/httpd/conf/httpd.conf ServerName server0.example:80 /ServerName 2.重启httpd服务 [root@server0 ~]# systemctl restart httpd
客户端desktop0 [root@desktop0 ~]# firefox server0.example
服务端server0 1.建立新的网页文件根目录 [root@server0 ~]# mkdir /var/www/myweb [root@server0 ~]# echo '<h1>wo shi ni da ye' > /var/www/myweb/index.html [root@server0 ~]# cat /var/www/myweb/index.html 2.修改配置文件 [root@server0 ~]# vim /etc/httpd/conf/httpd.conf DocumentRoot "/var/www/myweb" 3.重启httpd服务 [root@server0 ~]# systemctl restart httpd 客户端desktop0访问 [root@desktop0 ~]# firefox server0.example 客户端浏览器路径 与 服务器真实路径的对照 客户端浏览器路径 firefox 172.25.0.11 -> DocumentRoot目录下/var/www/myweb 客户端 firefox 172.25.0.11/abc -> DocumentRoot目录下/var/www/myweb/abc
客户端 firefox 172.25.0.11/test -> DocumentRoot目录下/var/www/myweb/test
虚拟web主机的含义及类型
( 一旦启用虚拟Web主机功能,所有的站点都必须用虚拟Web来实现) 虚拟web主机 由一台服务器提供多个不同的web站点 区分方式 基于域名的虚拟主机 基于端口的虚拟主机 基于IP地址的虚拟主机 配置文件 /etc/httpd/conf/httpd.conf (主配置文件) /etc/httpd/conf.d/*.conf (调用主配置文件:管理分类) 搭建基于域名的虚拟主机 为每个虚拟站点添加配置(容器是=式配置语句) <VirtualHost IP地址:端口号> ServerName 此站点的DNS名称 DocumentRoot 此站点的网页根目录 </VirtualHost> 虚拟机Server0 [root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf <VirtualHost *:80> #在本机所有IP地址的80端口启用虚拟web功能 ServerName www0.example #指定网站域名 DocumentRoot /var/www/haha #指定网页文件根目录 </VirtualHost> <VirtualHost *:80> ServerName webapp0.example DocumentRoot /var/www/xixi </VirtualHost> [root@server0 ~]# mkdir /var/www/haha /var/www/xixi [root@server0 ~]# echo '<h1>wo shi haha' > /var/www/haha/index.html [root@server0 ~]# echo '<h1>wo shi xixi' > /var/www/xixi/index.html [root@server0 ~]# cat /var/www/haha/index.html [root@server0 ~]# cat /var/www/xixi/index.html [root@server0 ~]# systemctl restart httpd 虚拟机desktop0 [root@server0 ~]# firefox www0.example [root@server0 ~]# firefox webapp0.example
虚拟机Server0
[root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf <VirtualHost *:80> #在本机所有IP地址的80端口启用虚拟web功能 ServerName www0.example #指定网站域名 DocumentRoot /var/www/haha #指定网页文件根目录 </VirtualHost> <VirtualHost *:80> ServerName webapp0.example DocumentRoot /var/www/xixi </VirtualHost> <VirtualHost *:80> ServerName server0.example DocumentRoot /var/www/myweb </VirtualHost>
配置httpd访问控制
客户机地址限制 仅允许本机访问,其他客户端禁止访问 使用<Directory>配置区段 每个文件夹自动继承其父目录的ACL访问控制 除非针对子目录有明确设置 <Directory 目录的绝对路径> Require all denied|granted Require ip IP或网段地址..... </Directory> ------------------------------------------ <Directory /> Require all denied #拒绝所有 </Directory> <Directory "/var/www"> Require all granted #允许所有 </Directory> 服务端 [root@server0 ~]# mkdir /var/www/myweb/private //在上案例的前提下 [root@server0 ~]# echo 007VS9527 > /var/www/myweb/private/index.html
[root@server0 ~]# vim /etc/httpd/conf.d/nsd02.conf //创建调用主配置文件的文件夹
<Directory /var/www/myweb/private> //允许本机访问,对外禁止 Require ip 172.25.0.11 </Directory> [root@server0 ~]# systemctl restart httpd 客户端 [root@desktop0 ~]# firefox server0.example/private //访问网站子目录 案例4:使用自定Web根目录 调整 Web 站点 的网页 目录,要求如下: 1)新建目录 /webroot,作为此站点新的网页目录 虚拟机Server0 1.建立新的网页文件目录 [root@server0 ~]# mkdir /webroot [root@server0 ~]# echo wo shi webroot > /webroot/index.html [root@server0 ~]# cat /webroot/index.html 2.修改的网页文件根目录 [root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf #修改内容 <VirtualHost *:80> ServerName server0.example DocumentRoot /webroot </VirtualHost> 3.修改访问控制 [root@server0 ~]# vim /etc/httpd/conf.d/nsd02.conf #追加写入 <Directory /webroot> Require all granted #允许所有 </Directory> 4.重起服务 [root@server0 ~]# systemctl restart httpd 5.SELinuxc策略的控制安全上下文(标签) [root@server0 ~]# ls -Zd /var/www //查看目录的上下文值 [root@server0 ~]# ls -Zd /webroot 方式1:参照标准目录,重设新目录的属性 格式:chcon -R --reference=模板目录 新目录 [root@server0 ~]# chcon -R --reference=/var/www /webroot/ //修改标签值 [root@server0 ~]# ls -Zd /webroot/ 方式2:直接修改权限 [root@server0 ~]# setenforce 0
客户端 [root@desktop0 ~]# firefox server0.example/private //访问网站子目录 [root@desktop0 ~]# firefox server0.example
部署动态网站
静态网站的运行 服务端的原始网页=浏览器访问到的网页 由Web服务软件处理所有请求 文本(TXT/html),图片(ipg/png)等静态资源
图片
动态网站的运行 服务端的原始网页!=浏览器访问到的网页 由Web服务软件接受请求,动态程序转后端模块处理 PHP网页,Pyhton网页,JSP网页........
图片
虚拟机Server0
1.下载Python页面,以webapp0.example
[root@server0 ~]# cat /etc/httpd/conf.d/nsd01.conf
[root@server0 ~]# cd /var/www/xixi
# wget .wsgi
[root@server0 xixi]# ls [root@server0 xixi]# cat webinfo.wsgi 2.修改虚拟Web主机配置,方便用户的访问,网页的跳转(网页的别名) [root@server0 xixi]# vim /etc/httpd/conf.d/nsd01.conf <VirtualHost *:80> ServerName webapp0.example DocumentRoot /var/www/xixi Alias / /var/www/xixi/webinfo.wsgi 当客户端 访问到网页文件的根目录时 ,将/var/www/xixi/webinfo.wsgi呈现给客户端 </VirtualHost> [root@server0 xixi]# systemctl restart httpd 客户端:虚拟机Desktop0 测试 firefox webapp0.example 3.翻译Python页面 [root@server0 /]# yum -y install mod_wsgi #安装可以识别Python代码程序 [root@server0 /]# vim /etc/httpd/conf.d/nsd01.conf <VirtualHost *:80> ServerName webapp0.example DocumentRoot /var/www/xixi WsgiScriptAlias / /var/www/xixi/webinfo.wsgi </VirtualHost> 最终显示页面的内容为 UNIX时间戳 : 1970-1-1 0:0:0 到 指定时间 经过的秒数 [root@server0 xixi]# systemctl restart httpd 客户端:虚拟机Desktop0 测试 firefox webapp0.example
更多推荐
HTTP服务基础
发布评论