我最近更新到nginx 1.0.8,并尝试基于caching的dynamic页面(最初由Django应用程序通过proxy_pass提供服务)和静态页面的性能基准。 在这两种情况下,nginx将不会服务超过3或4个请求(即使没有并发连接),所以ab几乎立即报告: apr_socket_recv: Connection reset by peer (54) 只有在select最多4个(或更less)请求时才能成功完成。 这是为什么? 我试图增加工作进程的数量(没有运气),但我认为nginx应该能够服务超过4个请求,而无需调整任何configurationvariables。 难道是我不小心触发了某种DOS保护机制?
我用ssl设置了nginx。 一切工作都完美无缺,在线工具使域名得分高。 现在我想知道一个特定的nginxconfiguration选项; ssl_dhparam 。 我应该生成并设置这些参数吗? 它对ssl的安全性或计算量有没有影响?
有没有办法来禁止FastCGI读取超时? (fastcgi_read_timeout) 将其设置为零不起作用,只会导致立即超时。 Nginx 1.0.5 PHP-FPM 5.3.6-13ubuntu3.6 我需要解决超时的原因是由于我们使用的系统生成报告的方式。 由于在PHP-FPM中分叉是不可能的(pctnl_fork()被禁用),报告处理在请求被发送后立即完成。 这会导致读取挂起,直到系统完成处理。
在运行caching逆向代理服务器的nginx上运行strace,我可以看到它在/ var / lib / nginx / proxy中创build了caching文件,然后将它们移到我configuration的proxy_cache_path中。 有什么办法让它写入caching文件目录到我configuration的目录,或者是否有可能改变临时目录cachingpath?
我们需要用nginx阻止IP地址的大量请求。 这些请求由一个CDN代理,所以我们不能阻塞实际的客户端IP地址(这将是CDN的IP地址,而不是实际的客户端)。 所以,我们有$ http_x_forwarded_for其中包含我们需要阻止给定的请求的IP。 同样,我们也不能使用IP表,因为阻塞代理客户端的IP地址将不起作用。 我们需要使用nginx来根据$ http_x_forwarded_for的值来阻止请求。 最初,我们尝试了多个简单的if语句: http : //pastie.org/5110910 但是,这导致我们的nginx内存使用量大幅度增加。 我们从一个40MB的常驻大小的地方走到了200MB的常驻大小。 如果我们改变了事情,并创build了一个匹配必要IP地址的大型正则expression式,内存使用情况相当正常: http : //pastie.org/5110923 请记住,我们试图阻止超过3或4个IP地址…更像是50到100个,这可能包含在几个(20+)nginx服务器configuration块中。 思考? build议? 我感兴趣的是为什么内存使用量会如此巨大地使用多个块,以及是否有更好的方法来实现我们的目标。
我目前正在testingnginx,并通过将每个虚拟主机的configuration放置在一个名为sites-enabled的文件夹中的自己的文件中来设置一些虚拟主机。 然后我问nginx加载所有这些configuration文件使用: include C:/nginx/sites-enabled/*.conf; 这是我目前的configuration: http { server_names_hash_bucket_size 64; include mime.types; include C:/nginx/sites-enabled/*.conf; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; root C:/www-root; #charset koi8-r; #access_log logs/host.access.log main; location / { index index.html index.htm index.php; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; […]
我目前在端口80上运行nginx,configuration的服务器名称为example.com和www.example.com 。 我也有一个Flask应用程序,我希望可以通过端口80访问,但使用主机名app.example.com 。 由于nginx已经在使用端口80,我怎样才能将app.example.com请求路由到Flask应用程序呢? 请注意,服务器只有一个IPv4地址。
我用我的服务器上的php-fpm使用Nginx来运行我的WordPress的博客。 当有人在Facebook上分享我的网站时,Facebook添加了一些参数,URL如下所示: https://jp.rlauzier.com/2013/07/les-courriels-et-la-securite-quelques-notions-a-savoir/?fb_action_ids=268110373331078&fb_action_types=og.likes&fb_source=other_multiline&action_object_map=%7B%22268110373331078%22% 3A434166526690497%7D&action_type_map =%7B%22268110373331078%22%3A%22og.likes%22%7D&action_ref_map =%5B%5D 我检查了我的日志,并有这个请求“414请求URI太长”。 我尝试在我的Nginxconfiguration文件中添加large_client_header_buffers,但没有结果。 但是,如果您只使用正常的URL( https://jp.rlauzier.com/2013/07/les-courriels-et-la-securite-quelques-notions-a-savoir/ ),一切工作正常。 这是我的configuration文件: server { listen 443; server_name jp.rlauzier.com; ssl on; ssl_certificate /etc/nginx/ssl/jp.rlauzier.com.crt; ssl_certificate_key /etc/nginx/ssl/jp.rlauzier.com.key; include /var/www/jp.rlauzier.com/public_html/nginx.conf; location / { root /var/www/jp.rlauzier.com/public_html/; index index.php index.html index.htm; if ($request_uri ~* \.(ico|css|js|gif|jpe?g|png)$) { expires max; break; } try_files $uri $uri/ /index.php?q=$uri&$args; } # pass the PHP scripts to […]
我在Ngnix服务器上有一个名为boot.sh的shell脚本 我想通过PHP调用它,但我不认为我有权限。 我如何给www-data权限来运行boot.sh – 而且只有boot.sh 当尝试sudo chown或sudo chgrp我得到的Operation Not Permitted
我试图通过docker安装php-fpm和nginx,我有一个nginx的问题,它返回了502错误的网关错误,但是当我尝试去任何HTML文件只显示正确。 我必须做什么,以一个PHP文件正常工作与这个系统? Nginxconfiguration网站: server { listen 80; server_name api.local.dev; access_log /var/log/nginx/api.access.log; error_log /var/log/nginx/api.error.log; root /www; charset utf-8; index index.php index.html index.htm; location / { index index.php index.html index.htm; } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } Dockerfile FROM ubuntu:13.10 # Keep upstart from complaining RUN dpkg-divert –local […]