让apache2以cgi方式运行perl cgi程序的实现方法

1、linux系统一般自带perl
可运行程序在:/usr/bin/perl

2、perl测试程序


代码如下:

#!/usr/bin/perl -w
use warnings;
print "Hello, Perl works!  ";

命名为test.pl

在终端下,定位到该目录,输入perl test.pl,perl正常工作的话,会显示输出
Hello, Perl works!

3、让apache2以cgi方式支持perl
a. apache2安装完成之后,
配置文件位于/etc/apache2目录下,主要是apache2.conf。
但是修改的时候主要可以修改sites-available下面的default;
修改完成之后重启apache2,需要输入/etc/init.d/apache2之后添加参数stop, start, restart。

b. 修改apache2的配置文件使得其以cgi方式支持perl
修改sites-available下的default中的

代码如下:

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    <Directory "/var/www/cgi-bin">
        AllowOverride all      
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

设置目录/cgi-bin/对应的为/var/www/cgi-bin/
(即http://localhost/cgi-bin/目录下为cgi脚本)
同时修改AllowOverride, Options, Order, Allow等如上。
还可以添加
AddHandler cgi-script .cgi .pl

自定义支持的后缀(默认情况下支持cgi和pl后缀)

4、编写cgi测试程序
cgi_test.pl

代码如下:

#!/usr/bin/perl -w
use warnings;
use CGI qw(:standard);
#! must use 'my' to define a variable
print header;
my $now_string = localtime();
print "<b>Hello, CGI using Perl!</b><br/>It's $now_string NOW!<br />";

注意:
a. 需要将该cgi_test.pl程序copy到/var/www/cgi-bin/目录下
b. 还需要修改程序cgi_test.pl的权限,否则会出现如下类似错误:
(13)Permission denied: exec of '/var/www/cgi-bin/cgi.pl' failed
sudo chmod 755 cgi_test.pl

5、综上,按照上面介绍的方法:
a. perl程序在Linux下运行正常。
b. apache2以cgi支持perl cgi程序
遇到错误可以查看,apache2的erro日志文件,位于 /var/log/apache2/error.log 进一步查询和排除错误。

c. 另一个方面,对于cgi的perl程序可以先写好,在命令行下perl cgi_test.pl查看是否程序本身有错。
如果没有错,就可以完全将问题定位成apache2对perl cgi程序的支持问题。

(0)

相关推荐

  • windows下Apache+MySql+PHP3+PHP4+PERL安装配置

    OS : Microsoft Windows 2000 Professional简体中文版 WEB SERVER: Apache 1.3.12 for WIN32 MYSQL : MySQL Shareware 3.22.34 for WIN32 PHP3 : PHP 3.0.15 for WIN32 PHP4 : PHP 4.0.0 for WIN32 ZEND : Zend Optimizer beta4 for PHP 4.0.0 for WIN32 [★★★ Apache快速安装 ★★★

  • Windows和Linux系统下perl连接SQL Server数据库的方法

    本文将提供一些perl连接Microsoft SQL Server数据库的实例.perl脚本运行在Windows和Linux平台. Windows平台 如果在Windows平台下运行perl脚本,建议使用依赖DBI的两个模块包,提供标准的数据库接口模块. DBD::ODBC DBD::ADO 使用DBD::ODBC 如果选用DBD::ODBC,下面的实例代码将展示如何连接到SQL Server数据库: 复制代码 代码如下: use DBI;   # DBD::ODBC   my $dsn = '

  • Windows Server 2016 上配置 APACHE+SSL+PHP+perl的教程详解

    <strong><span style="color:#FF0000;">安装环境</span></strong> 谷歌云实例 Windows Server 2016 Apache Apache/2.4.25 (win64-VC14) PHP php-5.6.30 (VC11 x64 Thread Safe) PERL ActivePerl-5.24 (Win64) OpenSSL openssl-1.0.2j-win64 VC14 Mi

  • Win2000+Apache+MySql+PHP4+PERL安装使用小结

    Windows 2000+Apache+MySql+PHP3+PHP4+PERL安装使用小结 www.1000script.com 2002-9-3 1000script专业脚本 Windows 2000+Apache+MySql+PHP3+PHP4+PERL安装使用小结(一) 这里一定有许多和我一样喜欢尝试新鲜事物的朋友,尤其是当听说 某某软件有了新的版本时一定也会迫不及待的去下载一份回来用用再说. 这里我想和大家探讨一下以下流行软件的应用,意在抛砖引玉. OS : Microsoft Win

  • 让apache2以cgi方式运行perl cgi程序的实现方法

    1.linux系统一般自带perl可运行程序在:/usr/bin/perl 2.perl测试程序 复制代码 代码如下: #!/usr/bin/perl -wuse warnings;print "Hello, Perl works!  "; 命名为test.pl 在终端下,定位到该目录,输入perl test.pl,perl正常工作的话,会显示输出Hello, Perl works! 3.让apache2以cgi方式支持perla. apache2安装完成之后,配置文件位于/etc/a

  • 在IIS服务器上以CGI方式运行Python脚本的教程

    由于接触到Python Web开发,正好把最简单的CGI方式研究了一下,话说在Windows下配置Python的Web开发还真的蛮麻烦的,Linux下配置倒挺容易,正好微软有技术文章<Using Python Scripts with IIS>介绍了这些内容,此文介绍了两种方法,一是使用ASP引擎来运行Python脚本,这个可能需要用到ActivePython,当然ASP技术已经过时了,我今天就简单介绍下CGI模块运行方式. 编写简单的支持CGI的Python脚本(本文介绍3.2版本的Pyth

  • android工程下不能运行java main程序的解决方法

    右击有main方法的类 ===> Run as ===> Run Configurations ===>双击java application ===> 单击有main方法的类 ===>选中classpath选项卡 ===> remove掉Bootstrap Entries下的android.jar ===> 然后点击advanced ===> Add Library ===>JRE System Library ===>next ===>最

  • MongoDB 3.4 安装以 Windows 服务方式运行的详细步骤

    1.首先从https://www.mongodb.com/download-center#community 下载社区版,企业版也是类似. 2.双击运行安装,可自定义安装路径,这里采用默认路径(C:\Program Files\MongoDB\Server\3.4) 一路下一步直至安装完毕. 3.创建数据存放目录(这里我放在D:\MongoDB\data). D:\MongoDB\data创建db目录和log目录,分别用来存放数据库文件和日志文件. 4.创建配置文件mongod.cfg存放在D:

  • 以windows service方式运行Python程序的方法

    本文实例讲述了以windows service方式运行Python程序的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python # coding: utf-8 # SmallestService.py # # A sample demonstrating the smallest possible service written in Python. import win32serviceutil import win32service import win3

  • 如何以Winsows Service方式运行JupyterLab

    有数据分析,数据挖掘,以及机器学习和深度学习实践经验的读者应该会对Jupyter Notebook这一工具十分熟悉,而JupyterLab是它的升级版本,其提供了更具扩展性,更加可定制化的功能选项. 安装与启动JupyterLab的方法与Jupyter Notebook一样简单. 应用安装 pip install jupyterlab 应用启动 jupyter lab 但这样的操作会带来一个问题,在以浏览器打开JupterLab应用窗口的同时,必须始终保证命令行窗口同样处于打开状态.如下图所示:

  • pycharm不以pytest方式运行,想要切换回普通模式运行的操作

    有时候系统会以pytest的形式运行,如果不想以这种方式运行,换回普通模式,那么就点击画圈圈那里的白色三角行 点击Edit configurations 点击"-" 出现如下图,点击python 点击左上角的"+",选择Python 查找你所需要执行的文件所在的目录 点击ok 在Name那里写文件名 点击右下角的ok 这时候再观察,发现没有pytest了 右键选run 运行程序 补充知识:pycharm不进入test模式 由于各种原因,pycharm有test字段,

  • 如何将tomcat源码以maven方式运行

    前言 最近在分析tomcat的启动流程,虽然我们可以在idea中查看到tomcat的源代码,但是我们不能在上面做一些代码注释,这就会 非常的不方便,所以我们还是能在本地 运行一份源码,这样非常有利于我们分析源码 一.下载tomcat源码,选择tomcat-8.5.55版本 进入tomcat官网,点击左侧菜单栏Download对应的版本,下载源码 二.idea中创建项目 1.在idea中创建一个空白项目,名称为tomcat_study 2.打开项目源目录,将tomcat的源码解压到其中 3.创建文

  • Linux下以守护进程方式运行.NET6

    前言 ​ 在<步步入门> .NET 6 部署到Linux一文中只是演示了控制终端方式运行ASP.ENT,在实际的应用中,这种方式不能确保服务延续性.如果控制终端关闭,或者服务器重启,都会导致web服务不能正常访问.那要怎么解决这个问题呢? 常见的作法有两种 守护进程 什么是守护进程,简单讲就是不受其他进程影响以后台服务的进程,功能类似Windows服务. 守护进程我们使用Supervisor,详细参考这位博友的文章:ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识

  • Python教程之pytest命令行方式运行用例

    目录 前言 pycharm里命令行运行用例 终端中使用pytest 用例全部运行 打印详情-v 指定组别 使用表达式指定某些用例-k 遇到失败即停止运行-x 指定运行某个测试py文件 指定运行某个class 指定运行某个方法: 其他 总结 前言 用命令行方式调用用例是我们最常用的方式,这方面确实比java的TestNG框架要好用许多,至少不用写xml文件,为了提供定制化运行用例的方式,pytest提供了许多运行命令以供定制化运行某一类测试用例或者某个测试用例等: pycharm里命令行运行用例

随机推荐