如何将ImageMagick环境variables传递给nginx mongrels?

如何将ImageMagick环境variables传递给nginx mongrels?,第1张

概述如何将ImageMagick环境variables传递给nginx mongrels?

我的Rails应用程序使用ImageMagick,但应用程序尝试执行ImageMagick命令(“识别”)失败。 我通过在我的Apacheconfiguration中传递下列环境variables来解决这个问题(在Apache / Passenger运行的地方):

SetEnv MAGICK_HOME /opt/local/var/macports/software/ImageMagick/6.5.9-0_0+q16 SetEnv DYLD_liBRARY_PATH /opt/local/var/macports/software/ImageMagick/6.5.9-0_0+q16/opt/local/lib SetEnv PATH /usr/bin:/opt/local/var/macports/software/ImageMagick/6.5.9-0_0+q16/opt/local/bin

然而,我的生产环境运行Nginx和Mongrel(不是我设置的),我不知道如何将这些variables传递给应用程序。 我的Nginx.conf文件目前如下:

# user and group to run as user mouthbreather mouthbreather; worker_processes 4; # pID of Nginx master process pID /var/run/Nginx.pID; events { worker_connections 8192; use epoll; } http { include /etc/Nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/engineyard/Nginx/access.log main; error_log /var/log/engineyard/Nginx/error.log notice; sendfile on; tcp_nopush on; tcp_nodelay on; gzip on; gzip_http_version 1.0; gzip_comp_level 2; gzip_proxIEd any; gzip_buffers 16 8k; gzip_types text/plain text/HTML text/CSS application/x-JavaScript text/xml application/xml application/xml+RSS text/JavaScript; include /etc/Nginx/sites/*.conf; }

所以我的问题是:

我怎样才能确定我的MAGICK_HOME在生产?

我怎样才能通过Nginx.conf将这些variables传递给应用程序?

谢谢!

批处理可读性不会影响执行variables

javac.exe不被识别

在subst命令中删除结尾

如何为PHP设置全局环境variables

如何在windows中设置Erlang环境variables,特别是ERL_MAX_PORTS?

windows oneliner在环境variables中设置命令输出

安装Python GTK

不能访问PHP中的环境variables

在linux中使用getenv函数

如何将parameter passing给子CMD

简而言之,你不用Nginx通过环境变量传递任何东西,你可以使用http头文件或者fastcgi参数。

在你的情况下,你甚至不需要,因为你正在做的事情,并作为一个单独的进程运行mongrels – 在环境中设置环境变量。 Nginx和它没有任何关系。

Nginx不能和环境变量一起工作,在很长一段时间内Nginx可能不会工作,直到有人错误地将第三方模块混入其中,然后在主流中仍然不支持。

这有很多原因,主要是设计,安全性和管理相关,但最终是开发人员和社区的意见,处理环境变量不是httpd的地方,当httpd被设计为使用可能的资源不在同一台机器上(你如何将环境变量传递给在附近的另一台机器上侦听的进程?)。

此外,乘客是第三方模块,在实现和设计方面都有些不同,因为它是针对Nginx设计的,因为它在Nginx中运行应用程序进程(在这里你可以通过理论上的环境变量,但是这不是Nginx工作的方式)。

推荐的方法是在Nginx之外启动你的应用程序(如果你愿意,可以使用环境变量),然后代理或者fastcgi传递给你的应用程序,可选地在头文件中包含或者在fastcgi中包含必要的额外数据。 或者,您的应用程序可能有一些方法来确定其中的适当设置,如settings.local文件(这在python设置中相当常见)。

有很多方法可以做到这一点,而不需要Nginx处理环境变量。

总结

以上是内存溢出为你收集整理的如何将ImageMagick环境variables传递给nginx mongrels?全部内容,希望文章能够帮你解决如何将ImageMagick环境variables传递给nginx mongrels?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1241442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存