小编MIg*_*ele的帖子

Nginx变量类似于Apache中的SetEnv?

我在Apache中使用SetEnv来设置我在PHP中使用恢复的虚拟主机中的一些变量$_SERVER[the_variable].

现在我转而使用Perl Catalyst和Nginx,但似乎Nginx中的"env"指令并不相同.这是行不通的.如何实现?

这是背景图片,以防万一有人可以建议更好的方法或我以前的系统不能与Nginx一起使用.

  • 我对许多域使用相同的应用程序.所有数据都来自具有相同结构的不同数据库.
  • 数据库名称在该环境变量中硬编码到虚拟主机.
  • 据我所知,数据库名称从第一个查询开始,所有查询都会转到相应的数据库.
  • 我可以使用相同的数据库拥有多个域,只需在指令中包含相同的变量即可.

apache perl nginx catalyst

77
推荐指数
4
解决办法
8万
查看次数

如果删除了日志文件,则uWSGI日志记录无效

我的目标是旋转uWSGI生成的日志,但是当原始日志文件被删除(压缩后)时,它不会再次重新创建.

所以我认为应用程序需要在删除文件后正常重启主进程.我使用这个RESTART脚本:

/home/tester/uwsgi-18
--reload /var/run/uwsgi/my_app_tester/my_app_tester.pid
Run Code Online (Sandbox Code Playgroud)

应用程序重新启动,但日志没有.

为了再次进行日志记录工作,我需要终止-2进程并再次运行START脚本,以便生成另一个进程号并再次进行日志记录.

显然我不希望这种硬停止只是为了旋转日志......

我的应用程序是使用Catalyst构建的,服务器运行Nginx,这里是uWSGI START脚本:

/home/tester/uwsgi-18
--master
--daemonize /var/log/uwsgi/my_app_tester/log
--socket /tmp/uwsgi/my_app_tester/my_app_tester.socket
--processes 1
--psgi /home/tester/my_app/my_app.psgi
--pidfile /var/run/uwsgi/my_app_tester/my_app_tester.pid
--procname-master TESTER
-L
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以重新启动应用程序而不会丢失连接和日志记录?

提前谢谢:Migue

nginx catalyst uwsgi

9
推荐指数
1
解决办法
3484
查看次数

Catalyst中的详细调试屏幕?

在我的舞台服务器中,我想激活调试,以便客户端可以在应用程序进入生产服务器之前找到自己的错误.

但我只想要消息的第一部分,而不是请求或会话数据.

例如:无法渲染模板"templates/home.tt2:file error - templates/inc/heater:not found".

该消息足以让我和我的客户看到"标题"调用拼写错误.

请求为客户提供了大量无关信息,但也有大量内部开发信息,应该一直隐藏!

问候

perl catalyst template-toolkit

6
推荐指数
1
解决办法
364
查看次数

卸载Plone/Zope

我正在测试不同的CMS,并在我的服务器中安装了Plone 4.它不是我选择的,我现在找不到卸载它的方法.我想要完全卸载.

问候:米格尔

plone uninstall

4
推荐指数
1
解决办法
4946
查看次数

将逻辑从Template Toolkit移动到Catalyst

我认为我在TT模板中使用了太多的条件和计算.

我正在显示DBIc中的项目结果集.对于每个项目,我需要使用检索到的值来计算事物,并且模板似乎不是正确的位置.

但在Catalyst中,它是一个来自DBIc的厚对象.

那么如何将逻辑移到模型中呢?我必须为所有项目运行一个完整的循环并以某种方式更改对象吗?

问候:Migue,

perl catalyst template-toolkit dbix-class

3
推荐指数
1
解决办法
575
查看次数

我无法在Catalyst中的Stash中添加Hash

我有一些键/值对的哈希

my %hash = ('key1','value1', 'key2', 'value2');
Run Code Online (Sandbox Code Playgroud)

我在Stash中传递它以在html模板中使用它:

$c->stash( theHash => %hash);
Run Code Online (Sandbox Code Playgroud)

然后,在模板中,要显示值,我认为我应该使用类似的东西

[% theHash.key1 %] #It should display "value1"
[% theHash.key2 %] #It should display "value2"
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

如果我逐个传递值,它可以工作:

$c->stash( valueOfHash1 => $hash{'key1'});
$c->stash( valueOfHash2 => $hash{'key2'});
Run Code Online (Sandbox Code Playgroud)

并将其检索为

[% valueOfHash1 %] #It displays "value1"
[% valueOfHash2 %] #It displays "value2"
Run Code Online (Sandbox Code Playgroud)

但哈希将有很多价值.它似乎是一个好主意.

我错过了什么?先感谢您.

perl catalyst

1
推荐指数
1
解决办法
935
查看次数