介绍: 请阅读这个serverfault问题与nginx负载平衡问题与301从后端 。 有点类似于我的问题,但答案不起作用。 Nginx正在redirect到我的上游的“名字”。 问题是,这不是OpenShift的具体问题。 组态: 我使用OPENSHIFT_DIY_IP 127.8.143.129正确设置了nginx 1.4.4(从源代码构build,validation了它可以正常工作[1])。 我们称之为A.我在上述装备上安装了一台龙卷风服务器,在另一台非缩放装置上安装了另一台龙卷风机。 (假设在NAT后面的同一LAN上有一个齿轮= red hat linux box,简化)两者都是基于openshift-hellotornado回购的简单的hello-world应用程序。 我们称这个B. B的DNS地址是pam-picaxe.rhcloud.com。 A的DNS地址是main-picaxe.rhcloud.com。 每当我浏览到main-picaxe.rhcloud.com时,浏览器都会被redirect到302 Found Location: https://frontends/app. 这里的“前端”是nginxconfiguration中上游的名称。 奇怪的。 [1]:certificatenginx的工作原理是A:如果我在configuration文件中注释掉第20行并取消注释第21行(pastebin链接),那么一切正常,我会得到一个“Hello world!”。 但是每当我遇到类似于第20行的情况时(即使是齿轮A而不是齿轮B的DNS地址)。 试过一个解决scheme: 我已经花了半天的时间,厌倦了试图configuration这个。 我尝试了在前面提到的serverfault中给出的解决scheme,通过replace我的位置块: 位置 / { proxy_pass http:// frontends; proxy_set_header主机$主机; proxy_redirect http:// frontends http:// $ host:$ server_port /; proxy_redirect http:// frontends:8080 / http:// $ host:$ server_port /; […]
在过去的几天里,这个问题一直困扰着我……在一个需要身份validation并且存在不同部分(CMS,API,前端)的应用程序中,我们遇到了一些共享会话/ cookies /交叉源的问题要求。 最后,我认为在一个领域实施一切都是最简单的。 scheme:// app /为前端 scheme:// app / api的API scheme:// app / cms为CMS 这导致了在PHP中的API构build一些麻烦。 API期望request_uri是/ users / images而不是/ api / users和/ api / users。 我们认为一个简单的重写将是解决scheme,但不知何故request_uri不会被重写。 这是服务器设置: server { listen 9090; server_name coda.dev; access_log /usr/local/var/log/nginx/coda.access.log; error_log /usr/local/var/log/nginx/coda.debug.log notice; charset utf-8; rewrite ^/(.*)/$ /$1 permanent; location / { proxy_pass http://localhost:9000; } location /api { root […]
我有一个VPS设置与PHP的FMP和Nginx的(与SSL)。 我已经build立了Tiny Tiny RSS,而且工作得很好。 不过,我最近试图创build自己的云,并立即遇到了障碍。 我访问了索引页面进行初始设置,完全没有样式。 我看着Firefox的控制台,看到几个404错误。 仔细观察,我发现所有通往资产的途径都是错误的。 它没有要求http://mydomain.com/owncloud/some/important/component.js ,而是要求http://mydomain.com/usr/share/nginx/html/owncloud/some/important/component.js 。 这似乎是PHP在处理页面时出错了。 我用Tiny Tiny RSS没有这个问题,所以我认为它跟Owncloud的写法有关。 我假设有一个php.ini键我必须改变。 有任何想法吗? 以下是我的服务器块的内容: listen 443 ssl; ssl_certificate /var/ssl/secret/sauce.key ssl_certificate_key /var/ssl/secret/sauce.key; server_name localhost 127.0.0.1 mydomain.com; root /usr/share/nginx/html; index index.html index.htm index.php; client_max_body_size 1000M; location / { try_files $uri $uri/ @webdav =404; } location ~ \.php$ { include fastcgi_params; fastcgi_index index.php; try_files […]
我试图添加HTTP头来请求去http://myserver.org:19123 , 但是nginx甚至没有收到这个请求。 下面的configuration有什么问题: server { listen 19123; server_name myserver.org; access_log logs/host.access.log main; location / { proxy_set_header Proxy-Remote-User vasya; #proxy_pass http://myserver.org:19123; } } 如何configurationnginx来捕获这个请求并添加到他的HTTP头?
晚上好。 我如何通过密码(auth_base)保护一些URL? 当我尝试写 location ^~ /test/ { auth_basic "admin login"; auth_basic_user_file /etc/nginx/httpd.passwd; location ~ \.php$ { include fastcgi.conf; fastcgi_pass наш-сокет; } } 什么都没有发生,但是在位置真实目录时 – 一切正常。 这是我的默认configuration: server { listen 80; server_name ~^(www\.)?test(?\d+)(?-alias)?.srv23.megaserver.umisoft.ru; root /home/testfarm/test$id/htdocs/; client_max_body_size 10m; rewrite_log on; access_log /home/testfarm/nginx_access.log; error_log /home/testfarm/nginx_error.log debug; location ~* \/\.ht { deny all; } location ~* ^\/(classes|errors\/logs|sys\-temp|cache|xmldb|static|packages) { deny […]
我有一个安装了nginx和php5-fpm的ubuntu 13.10服务器,服务器刚刚启动,因此我确信它不是缓冲区或连接超载问题。 我已经在可用站点中设置站点configuration并创build了sym链接: location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:7777; fastcgi_index index.php; include fastcgi_params; } HTML页面是可访问的,因此这不是一个nginx主机问题,这是一个php后端问题。 在我的php5 / fpm / pool.d中,我的www.conf的listen = 127.0.0.1:7777 根据需要,php5-fpm和nginx都已经重启。 如果我尝试在网站{url} /test.php上运行任何php页面,并且我得到连接拒绝和502浏览器错误 请任何人都可以帮助我,我一直试图让这个工作几个小时。
我最近在Fedora的nginx + php-fpm安装程序中遇到了一些PHP应用程序的问题。 我本来就是跟Owncloud有这个问题的,创造了一个问题,没有太多的运气 ,但我意识到这是一个全球性的问题。 我今天尝试安装Drupal,并且遇到了与之前相同的问题。 我的nginx服务器块是这样的: server { listen 80; server_name domainname.com; root /var/www/whatever; index index.php; location / { try_files $uri $uri/ =404; #Recommended by Drupal docs for "Clean URLs" error_page 404 = @drupal; } location ~ \.php$ { include fastcgi_params; fastcgi_index index.php; try_files $uri =404; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; } #Recommended by […]
我真的很难理解和实现一个非常简单的操作在Nginx中。 我正在尝试重写以下页面: http://test.domain.com/prova_pagina.php 至 http://test.domain.com/p/ 我在nginx.conf中有以下内容: server { listen 82; root /dir; include /nginx/conf/mod_pagespeed.conf; include /nginx/conf/expiry_directives.conf; server_name test.domain.com; index theindex.php; location / { rewrite ^/d/ /prova_pagina.php last; } location ~ \.php$ { include /nginx/conf/fastcgi_params; fastcgi_index theindex.php; if (-f $request_filename) { fastcgi_pass 127.0.0.1:9000; } } } 它实际上工作,但问题是所有的外部链接,如CSS和JS后得到/ D /附加在域。 任何帮助? 任何简单的教程,可以让我明白如何正确实现这一目标? 谢谢你的帮助。
我正在寻找一些关于如何在VPS上设置负载平衡器的专家build议,为PHP / MySQL复制configuration另外两个VPS,然后将它们连接在一起。 我已经研究过HAProxy和Nginx,这两者都是非常简单的设置 – 只是我希望有人帮助解答一些问题。 1)目前我正在运行一个VPS,它的规格是:(Knownhost,VPS#7) 5632MB保证内存150GB RAID-10磁盘空间8x优先级8+ CPU 10000GB高级带宽 我正在寻找购买两个额外的VPS,这是我的主要VPS的中规格 – 所以我想安装最强大的VPS负载平衡器,因此我目前的主要负责人? 2)一旦我有负载平衡器设置,我知道我的其他VPS的IP地址 – 我正确地假设我只是将负载平衡器configuration到他们的IP? 那么我该如何去做代码复制和数据库复制? 负载平衡器会成为主数据库,还是我会为此分配其他VPS之一? 3)在可伸缩性方面,如果代码在A上更新,我会在B和C上更新它吗? 或者我需要某种自动复制实用程序设置? 我不是很精通服务器或硬件,所以我很感激任何帮助。 谢谢!
通过Nginx可以实现以下function: 我现在有gzip; 但服务器每次都需要压缩stream行的文件,这些文件是通过数据库创build的xml文件,但是它们是“静态的”。 我知道我可以设置gzip_static; 但是没有.gz文件的文件。 有没有办法让Nginx保存它创build的gzip文件,并将其保存到caching/临时目录以供将来使用?