我在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/
我在做错了什么?
答案 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>