apache服务(二)apache支持的语言(html,php,cgi,python)
–>
apache支持的语言如下:
1.apache支持的语言-html
<1>超文本标记语言,标准通用标记语言下的一个应用。 “超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。
<2>HTML之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点——就是一种URL指针,通过**(点击)它,可使浏览器方便地获取新的网页。这也是HTML获得广泛应用的最重要的原因之一。
<3>由此可见,网页的本质就是HTML,通过结合使用其他的Web技术(如:脚本语言、CGI、组件等),可以创造出功能强大的网页。因而,HTML是Web编程的基础,也就是说万维网是建立在超文本基础之上的。
2.apache支持的语言-php
<1>PHP:一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。
<2>PHP最初是由勒多夫在1995年开始开发的;现在PHP的标准由the PHP Group维护。PHP以PHP License作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不兼容。
<3>简单实验步骤:
vim /var/www/html/index.php
<?php
phpinfo();
?>
yum install php -y
systemctl restart httpd
测试:172.25.254.100/index.php
实验:
<1>进入共享目录创建一个.php文件并下载php软件
[[email protected] ~]# cd /var/www/html
[[email protected] html]# ls
admin index.html
[[email protected] html]# vim index.php
[[email protected] html]# yum install php -y
[[email protected] html]# systemctl restart httpd
[[email protected] cgi]# cd /etc/httpd/conf.d ##查看子配置文件下的目录,可以看到php.conf已经存在
[[email protected] conf.d]# ls
.php文件中的内容如下:
<?php
phpinfo();
?>
<2>在浏览器中输入网址(因为是在共享目录下写的所以输入本机的ip加文件名称即可)
3.apache支持的语言-cgi
<1>CGI 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据库API 与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎所有服务器都支持CGI,可用任何语言编写CGI,包括流行的C、C ++、VB 和Delphi 等。CGI 分为标准CGI 和间接CGI两种。标准CGI 使用命令行参数或环境变量表示服务器的详细请求,服务器与浏览器通信采用标准输入输出方式。间接CGI 又称缓冲CGI,在CGI 程序和CGI 接口之间插入一个缓冲程序,缓冲程序与CGI 接口间用标准输入输出进行通信。
<2>简单实验步骤
mkdir -p /var/www/html/cgi
semanager fcontent -a -t httpd_sys_script_exec_t ‘/var/www/html/cgi(/.*)?’
restorecon -RvvF /var/www/html/cgi
vim /var/www/html/cgi/index.cgi
#!/usr/bin/perl
print “Content-type:text/html\n\n”;
print date
;
chmmod +x /var/www/html/cgi/index.cgi
/var/www/html/cgi/index.cgi ##执行下脚本却本脚本运行正常
vim adefault.conf
systemctl restrat httpd
实验
<1>首先进入共享目录并查看其内的内容
[[email protected] ~]# cd /var/www/html
[[email protected] html]# mkdir cgi
<2>查看目录cgi的安全上下文并进行修改
[[email protected] html]# ls -Zd /var/www/html/cgi
[[email protected] html]# semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'
[[email protected] html]# restorecon -RvvF /var/www/html/cgi
<3>进入目录cgi并查看其目录下是否有文件
[[email protected] html]# cd cgi
[[email protected] cgi]# ls
<4>在目录cgi下建立一个以.cgi结尾的文件并尝试运行它,看其是否会出现报错
[[email protected] cgi]# vim index.cgi
[[email protected] cgi]# chmod +x index.cgi
[[email protected] cgi]# ./index.cgi
文件中的内容是:
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print `date`;
<5>进入浏览器,输入网址后,发现可以成功浏览到.cgi文件中的内容,但并不能看到文件运行的结果
<6>进入httpd的子配置文件并更给配置文件,使其具有.cgi的相关配置
[[email protected] cgi]# cd /etc/httpd/conf.d
[[email protected] conf.d]# ls
adefault.conf music.conf php.conf userdir.conf
autoindex.conf news.conf README welcome.conf
[[email protected] conf.d]# vim adefault.conf
[[email protected] conf.d]# systemctl restart httpd
配置文件中添加的内容如下:
<Directory "/var/www/html/cgi">
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
<7>进入浏览器,输入网址后,发现可以成功浏览到.cgi文件运行后的内容
4.apache支持的语言-python
<1>Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
<2>WSGI提供python语言支持:
<3>PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。
<4>WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行, 反之亦然。
<5>WSGI标准在 PEP 333 中定义并被许多框架实现,其中包括现广泛使用的django框架。
<6>PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行, 反之亦然。WSGI标准在 PEP 333 中定义并被许多框架实现,其中包括现广泛使用的django框架。
实验
<1>安装WSGI
[[email protected] conf.d]# yum search WSGI
[[email protected] conf.d]# yum install mod_wsgi.x86_64 -y
[[email protected] conf.d]# systemctl restart httpd
<2>进入cgi的共享目录并创建一个以.wsgi结尾的文件,并在文件内写入内容,最后执行
[[email protected] conf.d]# cd /var/www/html/cgi
[[email protected] cgi]# ls
index.cgi
[[email protected] cgi]# vim westos.wsgi
[[email protected] cgi]# chmod +x westos.wsgi
[[email protected] cgi]# ./westos.wsgi
文件中的内容如下:
#!/usr/bin/env python
import time
def application (environ, start_response):
response_body = 'UNIX EPOCH time is now: %s\n' % time.time()
status = '200 OK'
response_headers = [('Content-Type', 'text/plain'),
('Content-Length', '1'),
('Content-Length', str(len(response_body)))]
start_response(status, response_headers)
return [response_body]
<3>在浏览器中输入网址(本机ip+文件名称),发现显示的是文件内的代码,而不是代码的内容
<4>进入子配置目录下修改配置文件并使服务生效
[[email protected] cgi]# cd /etc/httpd/conf.d
[[email protected] conf.d]# vim adefault.conf
[[email protected] conf.d]# systemctl restart httpd
文件中添加的内容如下:
<VirtualHost _default_:80>
DocumentRoot "/var/www/html"
WSGIScriptAlias /WSGI /var/www/html/cgi/westos.wsgi
</VirtualHost>
<5>进入浏览器,输入网址(本机ip+WSGI),发现可以成功显示运行文件后出现的内容
注意:
1.cgi(普通网关接口)
2.网络的语言转换到sql语言,用接口进行转换
3.默认的接口不支持cgi
4.“反向单引号,先指向里面的内容
5.表示cgi脚本的特点是什么,要么是以其结尾,要么是另外一个
6.网络安全网关接口wsgi,也是一个插件,安全的cgi模式
7.python中的内容运行后是显示系统硬件时间
8.执行文件时,文件要具备可执行效果
9.说明wsgi在访问什么的时候需要这个
10.加载系统默认的时间,访问默认的“/”目录的时候,访问的是“/”后面的
11.wsgi不支持直接使用,必须要转换
本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。