apache支持的语言(html,php,perl,python)

    xiaoxiao2022-07-12  141

    一: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看能否出来内容

    最新回复(0)