我无法让PHP文件在本地开发机器上执行。 我似乎已经成功安装了nginx,而且php-fpm似乎也正确安装,并且正在运行,但不能完全解决为什么PHP文件正在被下载而不是被执行。 在经历了许多小时的挫折之后 ,我想最好先问问以前可能做过的人! 我已尽力提供所有的信息,但如果有什么可能有用的或我错过了, 请不要犹豫,在评论中提问 。 请注意:仔细阅读我遇到的问题。 我之所以这么说,是因为我已经阅读了几乎所有可能与Google有关的问题,并尝试了几种不同的方法,修复,build议,重新安装,configuration等等。每个人都无法提供帮助修复甚至debugging我遇到的问题。 换句话说,这绝对不是一个重复的问题。 我花了几个小时阅读确保! 我已经使用https://github.com/josegonzalez/homebrew-php成功安装了nginx和php-fpm 。 良好的信任brew doctor确认一切都是最新的,我有一切必要的安装(XQuartz,Xcode命令行工具等)。 下面是一些文件的摘录,在试图了解我的设置时可能会有帮助: php-fpm日志 tail -f /usr/local/var/log/php-fpm.log [24-Dec-2013 00:05:59] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root [24-Dec-2013 00:05:59] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root [24-Dec-2013 00:05:59] NOTICE: […]
如果我在nginxconfiguration中使用了一个环境variables,并且nginx被configuration为仅提供静态文件(html,js,css – 例如AngularJs应用程序),那么我有什么办法可以在nginx提供的JS文件中使用环境variables? 或者是执行此操作来运行非静态服务器的唯一方法,例如io.js,php等 顺便说一句,你不能在nginx的configuration中使用环境variables。 当我在nginxconfiguration中讨论环境variables时,我的意思就像在这篇文章中: 我如何在Nginx.conf中使用env APP_WEB_1_PORT_5000_TCP_ADDR; 环境variables env APP_WEB_1_PORT_5000_TCP_ADDR; 和$ENV{"APP_WEB_1_PORT_5000_TCP_ADDR"}; 解释你的用例 我的具体用例是在Docker容器中有一个由nginx驱动的AngularJS应用程序。 该应用程序是一个“单页应用程序”,它使用完全在另一个系统上运行的API。 目前我在生产和分期之间运行不同的docker容器,因为应用程序有一些不同的configuration,例如Google-Analtyics代码。 这个特定于环境的数据保存在一个config.js文件中,并且这些值当前是硬编码的,git中的master分支的一个值,以及staging分支的值不同。 我想改变devise,所以我可以使用相同的容器来生产和舞台。 我想运行一个ENV var到容器中( docker run -e GACODE=UA-12345-6 … )并让nginx使用ENV var(通过env GACODE;和$ENV{"GACODE"}所以config.js文件可以使用传入的GoogleAnaltyics代码,而不是对它们进行硬编码)。 我不知道这是否可能(因此这个问题;))。 只使用nginx使我的容器是一个单一的进程,而如果我必须使用io.js,那么我将需要多个链接的容器和更多的移动部分是更复杂的)。
我似乎无法find足够的文档。 我有一个应用程序生成一些dynamic的响应,但仍然可以受益于Last-Modified头 – 所以我发送它。 但是,启用if_modified_since (设置为before ,根据http://nginx.org/en/docs/http/ngx_http_core_module.html#if_modified_since )似乎对非静态资源没有任何影响。 例如,PHP,Python应用程序。 这是因为Nginx不只是看我的回应Last-Modified头? 因为我可以看到他们似乎设置正确,如下所示: > GET /3.0/view.json?id=2 HTTP/1.1 > Host: xxxxxxxxxxxxx > Accept: */* > If-Modified-Since: Sat, 02 May 2015 19:43:02 GMT > < HTTP/1.1 200 OK * Server nginx/1.4.7 is not blacklisted < Server: nginx/1.4.7 < Date: Fri, 01 May 2015 19:56:05 GMT < Content-Type: application/json; charset=utf-8 […]
我正在将一个站点移到运行在NGINX上的新服务器上。 旧站点的Apache2 VirtualHostconfiguration了ServerAlias ,我想在NGINXconfiguration中进行复制。 从我读过的NGINX Docs中,似乎只是用server_name来实现。 我只是想确保我所拥有的是正确的。 来自APACHE2 ServerAlias our-domain.com www1.our-domain.com our-domain.ie 到NGINX server_name www.our-domain.com our-domain.com www.our-domain.ie our-domain.ie;
我试图运行多个docker容器运行nginx监听端口80,但不同的主机端口映射到容器端口80。 大多数情况下,这是有效的,除了当nginx由于缺less一个结尾的斜杠做redirect。 server { listen 80; root /var/www; index index.html; location /docs {} } 鉴于上述nginxconfiguration和一个docker容器运行它与主机端口8080映射到容器端口80我可以得到本地主机:8080 /文档/通过curl好了: > GET /docs/ HTTP/1.1 > User-Agent: curl/7.35.0 > Host: localhost:8080 > Accept: */* > < HTTP/1.1 200 OK * Server nginx/1.9.5 is not blacklisted < Server: nginx/1.9.5 < Date: Sat, 28 Nov 2015 17:27:05 GMT < Content-Type: text/html < […]
我刚刚购买了一台运行nginx,PHP,MySQL的新服务器,这个服务器将通过FastCGI提供90%的完全caching的html请求和PHP / mysql请求。 箱子上的数据是: CentOS 5.x 64位 2个Intel四核至强E5520(8核/ 16线程) 6GB DDR3 @ 800Mhz 想知道一些nginx的专业人士通常会推荐一些像这样的服务器的工作进程。 我正在寻找最佳的设置,因为这是一个严格的networking服务器 – 理想情况下,将从htmlcaching中提供几千次请求/秒,从PHP / mysql中提供几百次。 谢谢!
我不知道这是甚至可能,但我可以显示通过web服务器的Linux命令的标准输出? 我想运行的命令是echo 'status' | nc localhost 4730 echo 'status' | nc localhost 4730 ,它返回一个string的齿轮人作业服务器的状态。 $echo 'status' | nc localhost 4730 function1 0 0 0 function2 0 0 1 我的服务器运行nginx。 我想打开一个URL,如http://domain.tld/gearman-status ,它应该通过运行该命令返回当前状态。 我应该在nginx的位置块做什么? location /gearman-status { ? } 谢谢
我最近安装nginx 1.0.5与PHP FCP,PHP APC和Postgres。 我只是想玩弄nginx,学习如何configuration基本的东西。 对于扩展testing,我决定安装PHPBB3(很好),看看PHP + Postgres的访问工作。 现在我想知道重写URL是如何工作的,并且已经发现重写的东西应该写在nginxconfiguration中的位置部分。 但不幸的是nginx似乎忽略了我在configuration中的每一个重写规则。 所以我想知道如果我不得不先打开重写function? nginx -V |grep rewrite什么都不显示,而且安装nginx-extras也没有帮助。 我只是希望nginx-extras包含了像重写模块的东西,但不幸的是情况并非如此。 searchserverfault.com和谷歌没有帮助。 所以 – 我该怎么办? :\高度赞赏任何帮助。 PS:所有软件包都安装在Debian 6中的apt-get安装。 编辑:下面我的nginx vhostconfiguration的摘录: server { listen 80; server_name domain.org www.domain.org; access_log /var/log/nginx/domain.access_log; error_log /var/log/nginx/domain.error_log; rewrite_log on; events { debug_connection <my ip>; } […]
我们的应用程序托pipe在EC2上,但是由于应用程序的性质,它需要极高的可用性。 我们有一个在Linode上运行的应用程序的图像作为故障转移。 然而,做一个DNS翻转Linode将需要一些时间。 我们提出了一个减less这种停机时间的策略,但是我想就如何最好地实施这个方面提供一些build议。 该应用程序是一个ROR应用程序。 我们在EC2上运行6个前端节点,并使用Nginx作为proxy_pass的负载均衡器。 然而,我们在Linode上的负载平衡器不能平衡到Linode节点,而是平衡到EC2节点。 这是因为我们的DNSlogging中有我们的Linode LB的IP。 所以当一个客户端连接时,DNS循环到EC2或者Linode LB。 所select的LB将把请求redirect到EC2上的一个节点。 在EC2中断的情况下,我们只需要改变Linode LB的configuration,以平衡自己的节点(加上其他的东西,比如数据库翻转等等)。 我知道这对性能不是很好,但可靠性对我们来说更重要。 为了问题,我们在出于任何原因而出现问题时,Linode LB无法连接到EC2。 在这种情况下,Nginx会返回502错误的网关错误,这不会导致客户端使用DNS故障转移。 我们希望有一种方法来迫使客户在出现这种情况时使用DNS后备。 有没有办法做到这一点? 最好使用Nginx,但是如果不支持这种解决scheme,则会考虑其他解决scheme。 谢谢!
我有一个在nginx服务器上每秒获得约7k个请求的网站。 这个服务器既能处理重写到Apache服务器,也能直接处理静态文件,图像等。 那里有大约5k个请求的静态文件是最大的部分。 随着体系结构升级,我想使用一个中央文件服务器,通过NFS导出包含这些静态文件的目录。 这些文件将没有写入权限,所以目录可以在nginx机器上以只读方式挂载。 我主要关心的是: NFS足够快吗? NFS可以处理多less个请求是有限制的吗? 这样做有什么“必须”的select吗? 奖励:除了NFS以外,还有其他的select吗? 谢谢!