MovableType 5.2有内置的PSGI支持(通过主目录中的mt.PSGI),我一直在尝试使用starman/plackup来利用它。
星际战士w/MT开火了,但我得到了奇怪的未找到和一个沉默的挂断&当我运行mt-upgrade.cgi.时失败
我是如何运行星际人:
cd /home/ec2-user/mysite/perl/components/movabletype
plackup -s Starman --port 8045 --error-log /home/ec2-user/mysite/perl/logs/starman.log --pid /home/ec2-user/mysite/perl/var/starman.pid -a mt.psgi
奥秘1:我的浏览器为index.html返回"未找到",但可以访问mt static和mt.cgi。
X http://mysite:8045/mt/index.html ... Not Found
✓ http://mysite:8045/mt-static ... listing of static assets
✓ http://mysite:8045/mt/mt.cgi ... redirects to ...
X http://mysite:8045/mt/mt-upgrade.cgi?__mode=install ... fails
奥秘2:由于重定向,我相信MT代码正在运行。尽管我尝试过不同的MT调试选项,但在starman日志中它基本上是静默的。更糟糕的是,mt-upgrade.cgi似乎已经到达,然后失败了,只向星际日志发送了一条消息:
[mypid] Bootstrap CGI script in non-buffering mode: /home/ec2-user/mysite/perl/components/movabletype/mt-upgrade.cgi
这个非缓冲消息看起来是信息性的和正常的,并且来自MT代码库。
我也直接在starman下面跑过,得到了同样的结果。
任何想法或帮助都将不胜感激!
系统/环境:
MT_HOME='/home/ec2-user/mysite/perl/components/movabletype'
linux AMI on an amazon ec2.
perl-5.16.0 under perlbrew.
CPAN模块:
cpanm starman
cpanm CGI::PSGI
cpanm CGI::Parse::PSGI
cpanm CGI::Compile
yum install expat-devel
cpanm XML::Parser
cpanm SOAP::Lite
cpanm SOAP::Transport::HTTP
cpanm XMLRPC::Transport::HTTP::Plack
cpanm DBI
sudo yum install postgresql9-devel
cpanm DBD::Pg
cpanm Task::Plack
MT配置:
CGIPath http://mysite:8045/mt
StaticWebPath http://mysite:8045/mt-static
PIDFilePath /home/ec2-user/mysite/perl/var/starman.pid
DebugMode 1
ObjectDriver DBI::postgres
Database db
DBUser dbuser
DBPassword dbpass
DBHost dbhost.mysite
我是Yuji Takayama,活字的首席工程师。我确实试着复制你的步伐,但我没能复制。(这意味着我得到了初始安装屏幕)
那么,你能试试mysql吗?你也可以试试"工具/升级"脚本吗?我认为当出现一些错误时,您可以收到错误消息。
例如)cd MT_HOME;perl-Ilib-Iextlib工具/update--用户名--密码--昵称--电子邮件--首选语言--站点名称--站点url--站点路径--站点主题--站点时区
而且,我有关于"没有找到index.html"的答案。
原因:MT永远不会像MT_static那样将MT_HOME装载为静态文件目录,因为我们认为MT_HOME肯定不可能列出。
如果您试图在Starman下运行Movable Type,我强烈建议您使用您选择的命令行等效程序运行Movable Type附带的升级脚本。mt-upgrade.cgi没有充分的理由以Starman和Plack允许的方式变得坚持不懈。
尝试将mt-config.cgi中的路径更改为相对路径,而不是URL。像这样:
CGIPath /mt/
StaticWebPath /mt-static/
只是好奇:尽管它现在确实有效,但你是否意识到PG不受支持,你正在冒着未来版本的MT可能会与之决裂的风险?
p.S.也不要忘记文档中提到的PIDFilePath指令。
BTW,http://mysite:8045/mt/index.html
上的404看起来很正常。你不应该让你的站点索引与MT处于同一级别(你可以,但这不是建议的设置,而且它在假设MT和生成的站点明显分离的库存MT安装中不起作用)。