Articles of fastcgi

两个文档根与nginx和fastcgi

我在docker环境中使用nginx和php,对于单个应用程序来说工作正常。 现在我想开发一个基于yii2 / php的应用程序,作为后端和angular作为前端,所以我需要一个web服务器为客户端服务,另一个服务于API后端。 目录结构如下所示: /var/www/html/ $ tree -L 3 . ├── client │ ├── dist │ │ ├── 0.chunk.js │ │ ├── 0.chunk.js.map │ │ ├── assets │ │ ├── index.html │ │ ├── … │ ├── e2e │ │ ├── … │ ├── node_modules │ │ ├── … ├── docker │ ├── mysql […]

推荐使用多域来设置Django Fast CGIconfiguration的方法

我正在创build一个将被多个域使用的Django项目,并且这个function将会根据域而略有不同。 我正在寻找正确的方法来设置这个build议。 网站框架似乎是一旦处理已经达到了执行Django代码的位置,这将是一个非常适合做一些自定义。 但是我试图确定什么设置应该是在我们达到这一点之前(关于nginx,flup,fastcgi,configuration)。 这是我目前的理解: 好像多个Django设置文件是合适的,每个都有不同的SITE_ID。 然后,将在nginxconfiguration中设置两个虚拟主机,指向两个不同的套接字。 然后使用两个'manage.py runfastcgi'进程来监听这两个不同的套接字,每个进程会引用不同的settings.py ./manage.py –settings=settings.site1.py runfcgi method=prefork socket=/home/user/mysite1.sock pidfile=django1.pid ./manage.py –settings=settings.site2.py runfcgi method=prefork socket=/home/user/mysite2.sock pidfile=django2.pid 但是,如果你添加更多的域名,这似乎会变得混乱。 这将需要一个新的“pipe理runfastcgi”进程为每个将被添加的域运行。 有没有办法以这种方式支持多个网站,而不是每个运行一个单独的进程? 你用Django托pipe多个域的经验是什么? 任何意见,非常感谢。 感谢您的阅读。 乔

FastCGI和Nginx错误的索引文件优先

我想在Nginx上build立一个Mono ASP.NET,但是似乎索引优先级不起作用。 如果我使用http://www.mono-project.com/FastCGI_Nginx中的示例,如下所示: location / { root /srv/www/htdocs/; index index.htm index.html default.aspx Default.aspx; fastcgi_index Default.aspx; fastcgi_pass 127.0.0.1:9000; include /etc/nginx/fastcgi_params; } 然后,当我访问http:// localhost /时 ,它总是会请求Default.aspx ,如果没有这样的文件,Web服务器将显示一个404错误。 我试图通过search的问题来find答案,我发现这一个: asp mvc home root不与mono,fastcgi和nginx 所以我想我遇到了同样的问题,然后我修改了configuration文件如下: location / { root /srv/www/htdocs/; index index.htm index.html default.aspx Default.aspx; fastcgi_index /; fastcgi_pass 127.0.0.1:9000; include /etc/nginx/fastcgi_params; } 即使在htdocs文件夹中只有一个.aspx文件(如random.aspx),web服务器仍然会请求.aspx文件作为优先级,但仍然会在index.htm之前显示它。 然后当我删除所有的FastCGI相关的configuration如下: location / { root /srv/www/htdocs/; […]

Django应用程序在runserver下运行,但在nginx下运行

我的Django应用程序在“python manage.py runserver …..”下运行时运行正常,但是当我在nginx / fastcgi下运行它时,我得到了一个404。 这是错误消息: 找不到页面(404) 请求方法:GET 请求URL:blah.youtrain.me/admin/(我删除了由于StackOverflow限制的新帐户http) 使用youtrainme.urls中定义的URLconf,Django按以下顺序尝试这些URL模式: ^pipe理员/ DOC / ^pipe理员/ 当前的URL与这些中的任何一个都不匹配。 无论我的应用程序在nginx下进入哪个页面,它总是显示相同的错误消息:“当前的URL,不匹配任何这些。 在nginx下,如果我只是去blah.youtrain.me,上面的请求URL改为:blah.youtrain.me// <—注意斜线。 但是,在runserver下,请求URL行中没有结尾的斜杠。 这可能会提供一些见解? 任何帮助将不胜感激! 🙂 这是我的这个网站的nginxconfiguration: 服务器 { 听80; server_name blah.youtrain.me; access_log /home/ytmadmin/public_html/blah.youtrain.me/log/access.log; error_log /home/ytmadmin/public_html/blah.youtrain.me/log/error.log debug; #重写规则 – 文件 位置〜*。+。>(xml | jpg | jpeg | gif | png | ico | css | zip | tgz | […]

获取500内部服务器错误时,readv()失败(104:由对等方重置连接),同时读取上游

每次X调用都收到HTTP 500(内部服务器错误)。 我没有任何types的高CPU负载(大约5%)。 当日志发生时,我可以看到这个错误: 在/var/log/nginx/error.log中 readv() failed (104: Connection reset by peer) while reading upstream 在/var/log/php5-fpm.log Mar 10 07:21:57.740683 [WARNING] [pool www] child 9413 exited with code 1 after 1117.708602 seconds from start Mar 10 07:21:57.743140 [NOTICE] [pool www] child 9925 started 有谁知道会发生什么情况,以及如何解决这种情况?

nginx不会改写成php

这里是我的nginx.conf文件的相关行。 location / { try_files $uri $uri/ /index.php @rewrite; } location @rewrite { rewrite ^/customer/(.*)$ /customersDisplay.php?id=$1; rewrite ^/attc2/(.*)$ /usr/www/vault/$1; rewrite ^/xport/(.*)$ /usr/www/files/innoMatrix/xport/$1; rewrite ^/forms/(.*)$ /usr/www/files/innoMatrix/forms/$1; rewrite ^/grafx/(.*)$ /usr/www/files/innoMatrix/grafx/$1; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param DATABASE innoMatrix; include fastcgi_params; } 任何人都可以立即明白为什么客户不会被交给fpm socket吗? 它redirect正确,但下载文件,而不是在PHP解释。 我使用几乎相同的configuration为我的基于phalcon的应用程序,它的作品冠军。

Mono 3.2.x上带有快速CGI的Razor引擎 – 目标特定.net?

我的网站在单声道2.10上工作,我几乎完成升级到单声道3.2.x的全新服务器。 它使用XSP4,ServiceStack Razor视图呈现正确。 (它在2.10中修复了很多文物) 当我设置网站使用nginx +快速CGI(4)但是我得到一个HttpCompileException,由以下原因引起的: The predefined type `System.Collections.Generic.IReadOnlyList' is defined multiple times. Using definition from `mscorlib.dll' 请记住,这与xsp4工作正常,所以我认为它需要一些设置绑定到一个.Net实例,也许它在.net 4.0和.net 4.5之间混淆? 关于如何强迫它只使用其中一个的任何build议? 注:我使用最新的(3.2.7)从git安装,因为3.2.5版本会崩溃。 我使用干净的Amazon EC2 Ubuntu 12.04 64位。 它之前没有单声道,当我尝试3.2.5时,它是另一个现在被删除的实例。 这与以下大致相同的错误: 单引号上的RazorEngine – 抛出TemplateCompilationException 但是我没有安装其他版本。 构build过程添加了其他已被删除的内容。 mscorlib的所有实例都在这里: /usr/lib/mono/2.0/mscorlib.dll /usr/lib/mono/4.5/mscorlib.dll /usr/lib/mono/4.0/mscorlib.dll

如何制作Nginx的spawn fcgi文件

我有一个与Apache一起工作的.fcgi文件,我只是将重写规则指向了文件,并且它完成了它的工作,但似乎Nginx不能像这样工作。 在Apache上,我只是将请求redirect到文件。 从原来的项目.htaccess开始: RewriteEngine On RewriteBase /matrufsc RewriteRule ^dispatch\.fcgi/ – [L] RewriteRule ^(.*)$ dispatch.fcgi/$1 [L] 所以除了试图访问root的每个请求都被路由到dispatch.fcgi/$request 。 但Nginx无法直接执行文件。 我有什么替代scheme来执行这个文件? 这是一个python脚本,根据请求的“文件”过滤请求并采取行动。 你可以在GitHub上看到这个脚本的源代码,并且它可以像Apache一样使用上面的htaccess。 我不知道如何使用FastCGI。 我如何从Nginx生成fastcgi进程? 我不知道如何更好地描述它。

在Apache中调用PHP-FPM中设置正确的REMOTE_ADDR

我们想在我们的Apache服务器上从mod_php切换到fastCGI + PHP-FPM。 除了一件事之外,我们得到了许多工作: 我们的$ _SERVER ['REMOTE_ADDR']中的值始终是127.0.0.1,而不是客户端的IP。 有什么办法如何configuration服务器将此variables设置为客户端真实IP? 我们在X-Forwarded-For头(从代理传递)中拥有客户端真实IP, 基本上我们需要Apache替代nginxconfiguration: fastcgi_param REMOTE_ADDR $http_x_forwarded_for; (如这里所描述的, Nginx用X-Forwarded-ForreplaceREMOTE_ADDR )

子目录中的WordPress服务于nginx fastcgi的根目录index.php

我在我的NGINX服务器上遇到了一个奇怪的问题。 正如在Codex中所解释的,我把wordpress从我的根目录移到了一个子目录/ blog /。 它显示博客索引成功,但如果我想显示其他任何东西,如特定的职位或档案页面,它服务的根index.php 即使不存在的URL也作为根index.php 如果我删除根index.php它会返回一个404错误。 也许是由于我的nginx和fastcgi设置,但我真的没有任何线索: server { listen 80; listen [::]:80; root /var/www/html; index index.php index.html index.htm; client_max_body_size 10M; # Make site accessible from http://localhost/ server_name set $no_cache 0; if ($request_method = POST){set $no_cache 1;} if ($query_string != ""){set $no_cache 1;} if ($http_cookie = "PHPSESSID"){set $no_cache 1;} if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {set […]