我试图获得primefaces部署,我不想丢失/丢弃任何请求。 我使用Capistrano部署代码,经典的情况是你有一个'当前'目录,这是'release'文件夹中最新版本的符号链接。 我正在使用Nginx,带有Opcache的PHP 5.5 FPM。 遵循在Nginx中使用$ realpath_root的想法,我期望一个简单的nginx重载就足够了,但事实并非如此。 用nginx重新加载,似乎我没有丢失任何请求,但php-fpm仍在执行前一个旧目录中的代码。 如果我做了一个“PHP的FMP重新加载”,然后PHP FPM阅读新的目录,但我仍然可以看到,我失去了一些要求: 'recv()失败(104:连接重置对等),而从上游读取响应头“ 问题是: 我应该重新加载PHP FPM吗? 根据我的理解,nginx将path传递给php-fpm,并从nginxdebugging日志中看到,通过的path是正确的,但是php-fpm仍然执行旧path。 2014/09/23 17:13:22 [debug] 26234#0: *1742 http script var: "/shop/www/htdocs/current/web" 2014/09/23 17:13:22 [debug] 26234#0: *1742 posix_memalign: 00000000010517A0:4096 @16 2014/09/23 17:13:22 [debug] 26234#0: *1742 http script copy: "SCRIPT_FILENAME" 2014/09/23 17:13:22 [debug] 26234#0: *1742 http script var: "/shop/www/htdocs/ive/releases/20140923124417/web" 2014/09/23 17:13:22 [debug] 26234#0: *1742 […]
我在我的网站上有奇怪的,非常奇怪的CPU负载高峰。 正常加载2-3个左右,当我有这个峰值时,大约是100-150个峰值,可能是在任何时候。 不取决于我正常的加载情况(例如上午6点),峰值2-3-5分钟 CPU负载影响networkingstream量和nginx请求的数量。 这一次我没有很多Web服务器的请求。 服务器是与另一台服务器上的nginx,php-fpm,redis,rabbit-mq,mysql分开的web服务器。 我真的需要build议,我怎么知道这个来源。 当我知道源,我会消除它。 我会很感激你的build议。 来自zabbix监控的图表:
免责声明:只是澄清,我是Linux的全新,但我已经通过谷歌search和个人研究configuration一切。 我有一个Debian Wheezy服务器,我打算使用LEMP堆栈作为域的主机。 我得到了DNS的工作,所以当我进入域,我得到“欢迎nginx”页面。 麻烦的出现是因为我已经创build了将要托pipe该站点的目录,并使用该站点的文件(index.php是主页面)填充该目录,并且还configuration了服务器块(/ etc / nginx / sites- available / example.com)如下所示: UPDATED Server block server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/example.com; } location ~ […]
我有一个JS应用程序,从客户端浏览器发出REST调用到nginx后面的数据源。 我们需要为应用程序实施CASauthentication来pipe理访问。 但是我不知道如何实现Nginx的CAS片断。 目前,nginx的configuration主要是为了绕过CORS,但是这并不能阻止某人手动连接到该实例来检索数据。 我的最终目标是确保有人不能只连接到实例来检索数据,除非他们正在使用Web应用程序。 有没有人有任何想法如何做到这一点? 理想的解决scheme是让nginx以某种方式validation与CAS服务器或甚至我们的networking服务器的CAS令牌,看看是否已被validation。 提前致谢 编辑:正如我做更多的研究似乎有可能与自定义perl脚本,可以validation与CAS服务器的CAS令牌,并接受/拒绝连接适当。 有没有人尝试过这样的事情?
我在这里遇到了一个问题,经过四天的考察,我决定在这里寻求一些帮助,毕竟一百万人的头脑比一个人想得更好。 我有一个与NGINX,HHVM,PHP5-FPM(作为备份),Percona MySQL,Memcached(将由Redis取代)的Ubuntu 14.04服务器设置。 我有fastcgi_cache设置为WordPress和对象caching完成通过memcached。 从理论上来说,这一切都很酷,但并不是在实践中。 这是一款带有2GB内存的RamNode OpenVZ SSD VPS和一个带有两个内核的Intel Xeon E5。 在其上运行Blitz.io,服务器正在被两个NGINX工作进程彻底谋杀,每个进程使用100%CPU根据top和htop。 我通常运行以下模式: –pattern 999-1000:60 https://www.geeksune.com/blog/hello-world/ 这使得CPU走向屋顶,根据Blitz.io这是这样的结果: 135个命中57,734个错误和234个时间 显然这不好。 内存使用一直保持在250MB以下,似乎所有来自Blitz.io的请求都在caching中,如下所示: 54.232.204.19 – HIT [23 / Nov / 2014:19:06:32 -0200]“GET / HTTP / 1.1”200 7632“ – ”“blitz.io; [email protected]” 注意开始时的HIT。 我设置了一个新的日志格式,并添加了$ upstream_cache_status。 在同一台机器上的一个类似的设置工作与Blitz.io很好,所以肯定是我的NGINX设置有问题,它似乎与fastcgi_cache相关。 每次我都有同样的结果,即使只有Zend的PHP5-FPM。 有没有人知道发生了什么? 我的configuration文件如下所示: /etc/nginx/nginx.conf – http://paste.ubuntu.com/9236266/ /etc/nginx/sites-available/geeksune.com – http://paste.ubuntu.com/9236282/ /etc/nginx/conf.d/includes/ssl.inc – http://paste.ubuntu.com/9236298/ /etc/nginx/conf.d/includes/security.inc […]
试图改变一个页面的内容我通过一个nginx服务器反向代理。 我试过用nginx_substitutions_filter没有运气。 有谁知道这是否可能,以及如何下降。 例如 – 想要用http://lotsoffoos.com上的barreplacefoo所有实例 location / { proxy_set_header X-Real-IP $remote_addr; proxy_pass https://lotsoffoos.com; proxy_read_timeout 90; subs_filter_types text/html text/css text/xml; subs_filter “foo” “bar" gir; }
我刚刚完成了一个Go Go代码的Go代码的编码。 我想把nginx放在它的前面(我需要在一个子目录中提供静态文件),但是注意到req / sec和延迟急剧下降(从11K req / sec到1.5k req / sec)。 我的nginxconfiguration有什么问题吗? (我在Mac上进行testing,如果这有所作为) worker_processes 4; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; keepalive_timeout 65; gzip on; include sites/*.conf; } 和我的服务器configuration: server { listen 80; server_name go.dev; charset utf-8; root /www; location /favicon.ico { return 404; } location […]
我打算为web项目设置一个负载均衡器,但是我的脑海中还存在一个主要问题: 一个典型的负载均衡器将是:(由nginx上游提供)服务器#1接受所有的请求,并将它们转发到服务器#2 – 服务器#n,但是当服务器#1在如此重的负载下,他不能正确处理请求,下降或放缓真的很疯狂? 你怎么能阻止呢? 我可以想到也许基于DNS的负载平衡或什么的。 我不需要会话持久性或别的东西。 这只是为每个请求validation自己的API。 你有什么想法吗? 感谢您的反馈意见
我以前运行的是Ubuntu 12,我有Nginx接收大file upload,然后proxy_pass到gunicorn / django(端口8000)。 一旦我想出我需要设置client_max_body_size 300M;这工作得很好。 这个环境是用stream浪汉和厨师创造的。 但是,一旦升级到Ubuntu 14,我发现上传速度非常慢。 10M的文件需要几分钟的时间(文件的3%每10秒上传一次)。 我看着越来越多的代理传递缓冲区和其他客户端缓冲区大小,但无济于事。 是否有更改从U12到U14的基本参数可能会导致此问题?
我使用nginx和ssl通配符证书一样: /etc/nginx/sites-enabled/example.com server { listen 443 default_server ssl; server_name 192.168.0.1 example.com; include /etc/nginx/ssl.conf; error_log /var/log/nginx/example.com.error.ssl.log; access_log /var/log/nginx/example.com.access.ssl.log; root /var/www/example.com/; index index.html; location / { alias /var/www/example.com/example.com/; } } server { listen 80; server_name 192.168.0.1 example.com; return 301 https://$server_name$request_uri; } /etc/nginx/ssl.conf 包含的ssl.conf如下所示: ssl_certificate /etc/nginx/ssl/example.com/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com/example.com.key; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_dhparam /etc/nginx/ssl/example.com/example.com_dhparam.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; […]