我们的应用程序目前只是一个“常规”的networking应用程序,没有喜欢streamHTTP或Websockets的花哨的东西。 它主要是一个Rails应用程序,由less数(20台机器上的20台) Unicorn工作服务器处理,由负责均衡的古老的nginx服务器代理。 过去一年来,这一切都非常顺利,现在每天在任何时候都可以提供400到800个请求 。 我们很快就会发布两个新的API,这两个API都是由一个Node应用程序提供的:一个是websocket,另一个是长轮询HTTP 。 (喜欢Twitterstream媒体API,HTTP连接永远不会结束)。 他们都使用节点上的同一个端口,由于节点应用是无状态的,所以我们当然可以部署其中的一些来处理stream量。 应用程序(节点)现在部署在5个实例中,现在正在侦听同一主机上的5个不同的“专用”端口。 我们需要在它们之前放置一些负载均衡,但也有一些能够处理套接字(websocket或HTTPstream式传输)的东西,这些套接字可以保持数天。 那么问题是:什么? 我在某处读到HAProxy比Nginx做得更好。 你有什么build议?
我如何设置NGINX的SSLconfiguration,以便除了几个定义的path之外的任何东西都redirect到非SSL位置? 我目前的configuration看起来像这样。 它是为Django设立的。 # Django Configuration upstream prod { server 127.0.0.1:8080; } server { listen 80; server_name www.mysite.org; rewrite ^/(.*) http://mysite.org/$1 permanent; } server { listen 80; server_name mysite.org; root /var/www/mysite.org/cache/; access_log /var/log/nginx/mysite.org.access.log; error_log /var/log/nginx/mysite.org.error.log; client_max_body_size 100m; #Static files location location ~ ^/(media)/ { root /var/www/mysite.org/html/; expires 30d; } # Send everyone to django initially […]
我有两台Varnish服务器,我打算添加更多的清漆服务器。 我正在使用nginx负载平衡器来将stream量分配给这些清漆服务器。 为了利用每个清漆服务器的最大RAM,我需要相同的请求到达相同的清漆服务器。 请求URL中的一个GET参数可以标识相同的请求,说'a' 在一个正常的代码中,我会做类似的事情(如果我需要划分2个清漆服务器之间的所有stream量) if($arg_a % 2 == 0) { proxy_pass varnish1; } if($arg_a % 2 == 1) { proxy_pass varnish2; } 这基本上是对GET参数进行偶数检查,然后决定发送请求的上游池。 我的问题是 – 什么是这样的代码的nginx等价物。 我不知道如果nginx接受modulas 有一个更好的/有效的散列函数内置nginx(0.8.54),我可以使用。 在将来,我想添加更多的上游池,所以我不需要将%2更改为%3%4等等 任何其他替代方法来解决这个问题
似乎普遍推荐在Apache之前运行Nginx作为反向代理,但是在使用Nginx的时候,Apache + mod_php或Nginx是否更好地服务于dynamic请求,而使用php + fpm和fastcgi似乎也是一个问题。为PHP服务。 任何人都可以提供任何好的指针或build议? 谢谢, 伊恩
我正在尝试使用子目录在我们的nginx / uWSGI服务器上设置MoinMoin Wiki安装。 我们已经有一个运行在80的Django应用程序。 最初,我使用自己的服务器块运行Moin应用程序:8000。 这工作得很好,但是,我们想要的是在/ wiki下运行MoinMoin。 问题是,当我尝试这样做时,MoinMoin仍然认为它是根,所以它认为/ wiki是一个名为wiki的页面。 所有的链接也是相对的,所以点击它们失败,因为nginx没有看到/ FrontPage的位置等。 我看了,但找不到任何明显的configurationMoinMoin使用/维基的方法。 这就是我所需要的,无论是或者某种方式来映射/维基到:8000 这里是我们的nginx.conf文件的http部分(注意:用/ path /前缀replacepath) http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" t=$request_time'; access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; […]
我需要在我的CentOS 5.5 VPS上安装php-mcrypt,当我尝试yum安装php-mcrypt时,它说它被设置为更新,这意味着它已经安装。 我查看了/ usr / lib / php / modules,找不到.so文件。 无论如何,我想更新它,但百胜给出了以下错误,我在Nginx上运行PHP-FPM。 Last login: Thu Apr 21 12:13:30 2011 from cpc2-seve18-2-0-cust438.13-3.cable.virginmedia.com [root@infinity ~]# yum install php-mcrypt Setting up Install Process Resolving Dependencies –> Running transaction check —> Package php-mcrypt.i386 0:5.1.6-15.el5.centos.1 set to be updated –> Processing Dependency: php-api = 20041225 for package: php-mcrypt –> Processing […]
我在ubuntu(使用nginx)上使用php-cgi,并且启动它的命令是: spawn -fcgi -a 127.0.0.1 -p 9100 -f / usr / bin / php-cgi -P /var/run/fastcgi-php.pid 但有时php-cgi进程会自动退出,我需要手动启动它。 有什么办法可以使其自动重启,例如)编写init脚本? 请build议,谢谢。
我在OpenVZ容器上使用nginx 1.0.4 + php-fpm + wordpress。 我的设置工作正常。 但是当我尝试访问http://example.com/wp-admin/它给我403错误,我访问http://example.com/wp-admin/index.php工作正常。 错误日志: 2011/07/24 21:50:38 [error] 29939#0: *35 "/home/example/blog/public_html/wp-admin/index.php" is forbidden (13: Permission denied), client: 125.234.xx, server: loopback.info, request: "GET /wp-admin/ HTTP/1.1", host: "example.com" 以下是我的configuration: upstream example { server unix:/dev/shm/example.sock; server { listen 80; server_name example.com; root /home/example/blog/public_html; index index.php; access_log /home/example/blog/logs/access.log; error_log /home/example/blog/logs/error.log; location ~ /\.ht { deny […]
在过去的一个月中,我不得不学习了很多关于服务器configuration,集成,AWS等方面的知识。我从来没有这样做过。 我得到了一切,并为我的应用程序运行良好(主要感谢http://github.com/wr0ngway/rubber创业板和#rubberec2 IRC频道的帮助)。 但是,我遇到了一个神秘的(对我)的问题。 堆 我在HAProxy后面运行Nginx + Passenger。 到目前为止,只有一个Nginx + Passenger主机正在使用,所以HAProxy实际上并没有太多的function,但我们将来会增加更多的应用服务器。 问题 我被卡住偶尔的503错误,在一天中的某些时间(在更高的负载?)变得烦人。 这些错误都发生在静态资产和路由URL上。 我已经确定这是HAProxy引发他们,因为页面和它的头是相同的/etc/haproxy/errors/503.http。 我认为nginx并不关心它接收多less请求,它可以处理所有这些请求,因为它有自己的排队,并且乘客正确分配东西。 那么为什么HAProxy声称没有服务器可以处理一些请求? 我的HAProxyconfiguration global log 127.0.0.1 local0 warning maxconn 1024 defaults log global mode http retries 3 balance roundrobin option abortonclose option redispatch option httplog contimeout 4000 clitimeout 150000 srvtimeout 30000 listen passenger_proxy xxxx:x option forwardfor server web01 web01:xxxx maxconn […]
有没有办法在nginx中定义自己的autoindex页面? 我想添加我自己的HTML和CSS到生成的autoindex页面。