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

本文详细介绍了Apache支持的四种语言:HTML的定义、特点及简易性;PHP的嵌入式语言特性及应用;Perl语言的处理能力和在CGI应用程序中的作用;以及Python和WSGI在Web开发中的角色。通过实验步骤,读者可以了解到如何在Apache服务器上配置和运行这些语言的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值