Perl Dancer初始配置

时间:2014-03-02 15:33:45

标签: perl dancer

我在perl下有一个完整的网站,位于cgi-bin下,但现在,在客户端,我将把所有客户端内容转移到MVC .. 我决定AJAX很重,部分之间平滑过渡而不是完全刷新。

此时,根本没有问题。

第一个问题,我想制作一个完全perl的restapi来澄清事情,并充分利用使用backbonejs的例子。

所以,在这一点上,我有这样的感觉:

www.foo.com/cgi-bin/home.pl
www.foo.com/cgi-bin/wines.pl

...

经过大量阅读后,我想使用Dancer,因为它看起来非常简单快速。

在所有这些线之后我的主要问题很简单..

我应该在哪里创建我的项目? " Dancer -a App" 它应该在cgi-bin中创建吗?

我在Windows机器下开发,但我的主机是ubuntu,所以,你们能告诉我最常见的目录是什么吗?

在尝试使用它之后的几个小时,没有......仍然无法......

我可以独立运行我的应用程序,例如" perl bin / MyApp.pl"但在没有任何部署..

我的httpd.conf

<virtualhost *:80>
   ServerName localhost
    DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs/MyApp/public/"
    ServerAdmin admin@localhost

    <directory "C:/Program Files/Apache Group/Apache2/htdocs/MyApp/public/">
       AllowOverride None
       Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
       Order allow,deny
       Allow from all
       AddHandler cgi-script .cgi
    </Directory>

ScriptAlias / C:/Program Files/Apache Group/Apache2/htdocs/MyApp/public/dispatch.cgi/

我在做错了什么?

2 个答案:

答案 0 :(得分:1)

有不同的问题。让我看看我是否可以提供帮助。

  

我应该在哪里创建我的项目? “Dancer -a App”是否应该在cgi-bin中创建?

没有。请阅读http://metacpan.org/pod/Dancer::Deployment如何设置您的Dancer环境。

  

我正在Windows机器下开发,但我的主机是ubuntu,那么,你们能告诉我最常见的目录是什么吗?

我也这样做,但没有'共同'。在本地系统上配置Dancer应用程序并避免使用绝对路径。然后将完整的app目录带到你的ubuntu系统并在那里运行它。

对于开发(在Windows上)我通常使用perl bin / app.pl来开发应用程序。在* nix系统上我使用starman(有时在nginx后面),但Deployment

中涵盖了这一点。

HTH

答案 1 :(得分:0)

我通常将我的Dancer项目放在~/src/My-Dancer-Proj

然后,我使用fastcgi而不是使用cgi。我的httpd.conf看起来像这样......

<VirtualHost *:80>
  ServerName myserver.com
  DocumentRoot /home/my_user/src/My-Dancer-Proj/public
  <Directory "/home/my_user/src/My-Dancer-Proj/public">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    AddHandler fcgid-script .fcgi
  </Directory>

  RewriteEngine On
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ /dispatch.fcgi$1 [QSA,L]
</VirtualHost>