一:html(我们前面用的就是html语言,所以在这里只做简单了解)
定义:
超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。
主要特点如下:
简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便。 可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。 平台无关性:虽然个人计算机大行其道,但使用MAC等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是万维网(WWW)盛行的另一个原因。 通用性:另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。
二:php
PHP定义:
一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。
实验步骤如下:
第一步:编辑一个php文件
cd /var/www/html/ vim index.php 在里面写入php语言,显示php页面 <?php phpinfo(); ?>第二步:安装php,重启httpd服务
yum install php -y systemctl restart httpd cd /etc/httpd/conf.d/ ls 此时你会看到一个php.conf文件
第三步:修改默认访问页面
vim /etc/httpd/conf/httpd.conf 修改默认访问页面是index.php systemctl restart httpd
测试:然后在浏览器输入172.25.254.115,可以浏览到php的页面
三:perl(这个里面我们使用的perl编写的cgi应用程序)
Perl:
Perl是一种解释型的高级语言,由 Larry Wall和其他许多人所写,融合了许多语言的特性。它主要是由无所不在的 C语言,其次由 sed、awk,UNIX shell 和至少十数种其他的工具和语言所演化而来。据Larry说,他将其他语言中的精华凝聚在Perl中,而抛弃了那些看起来不够好的。 Perl对进程、文件和文字有很强的处理能力,操作灵巧方便,已经成为web上主要的脚本语言,绝大部分的CGI是用Perl写的。不但如此,Perl作为一种快捷的语言原形,在让不同的系统一起工作方面也有广泛的应用。许多系统管理员都在用Perl完成各种各样繁多的系统管理。有关快速原型设计、系统工具、软体工具、系统管理、资料库连结、图像程式设计、网路连结,和WWW程式设计等之类的任务,都特别 适合用 Perl来做。
CGI的解释:
CGI 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据库API 与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎所有服务器都支持CGI,可用任何语言编写CGI,包括流行的C、C ++、VB 和Delphi 等。
实验如下:
我们可以在http的手册里找到使用cgi的方法:
第一步:
cd /var/www/html/ mkdir cgi 建造一个cgi目录 cd cgi/ vim index.cgi 在里面写入可以执行date的命令(这个可以先在浏览器里面访问172.25.254.106/manual,在里面进入cgi,从而复制模版) #!/usr/bin/perl print "Content-type: text/html\n\n"; print `date`;
第二步:
chmod +x index.cgi 给一个可以执行的权限 ./index.cgi 看是否可以执行但此时在浏览器里显示的是这个样子,这是因为http服务只允许/var/www/被读取,没有执行命令的能力 第三步:
cd /etc/httpd/conf.d/ vim meng.conf 在里面写入cgi脚本可以被执行的代码 <Directory "/var/www/html/cgi"> Options +ExecCGI AddHandler cgi-script .cgi </Directory>第四步:修改selinux的状态,重启httpd服务
getenforce setenforce 0 将selinux的状态修改为permissive getenforce systemctl restart httpd测试:去浏览器访问:172.25.254.115/cgi/index.cgi
要是在内核防火墙为enforcing的情况下访问,需要修改这个这个目录的安全上下文,因为默认发布目录只能看,没有执行脚本的能力
setenforce 1 getenforce semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' 让系统记录这个目录以及目录里面的内容可以有执行脚本的能力 restorecon -RvvF /var/www/html/cgi 重新加载目录以及目录内容的安全上下文此时不能访问到: 修改安全上下文
再去访问,可以执行脚本
四:python我们使用的里面的wsgi
Python:
<1>Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
WSGI:
WSGI提供python语言支持: PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。 WSGI 没有官方的实现, 因为WSGI更像一个协议.只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行, 反之亦然。
实验如下:
第一步:上传一个python脚本到/var/wwwcgi-bin/下,默认python脚本都放这里
查看: 第二步:安装wsgi
yum search wsgi yum install mod_wsgi.x86_64 -y第三步:重新配置一个虚拟机
cd /etc/httpd/conf.d/ vim meng.conf 在里面写入(文件的最后) <VirtualHost *:80> ServerName wsgi.westos.com WSGIScriptAlias / /var/www/cgi-bin/webapp.wsgi </VirtualHost>第四步:重启服务
systemctl restart httpd第五步:做本地解析(用那一台浏览器就在那一台主机配置解析文件)
vim /etc/hosts 172.25.254.106 wsgi.westos.com
测试:在浏览输入wsgi.westos.com看能否出来内容