我需要设置一个负载均衡的网站,以容纳更多的访问者, 我在论坛上看到,varnish(balance) – > apache(web1&2) – > mysql(dbserver)是要走的路。 我知道如何设置清漆 – >单一的Web服务器 – > MySQL,但不是两个Web服务器来平衡, 但是,我怎样才能通过实时同步Web服务器的内容? 我的自定义应用程序允许访客发布文件。 请告诉我如何configuration这个? 我的设置。 (internet) | (load balance server) / \ / \ (webserver1) (webserver2) \ / (database server) 谢谢。
我在Ubuntu 9.10的testing环境(虚拟机)上运行Varnish(来自Ubuntu不稳定的apt版本库的2.0.4,尽pipe我也使用了标准版本库),很快就会变成10.04。 当我有一个工作configuration和服务器启动成功似乎一切都很好,但是,如果出于某种原因,我停止,然后重新启动清漆守护进程它并不总是正常启动,没有错误进入系统日志或消息来指示可能是错误的。 如果我在debugging模式下运行清漆( -d ),并在出现提示时执行启动,那么将会运行7次,但是偶尔它会“静静地”closures。 我的启动命令是($ 1允许我传递-d到这个生活的脚本): varnishd -a :80 $1 \ -T 127.0.0.1:6082 \ -s malloc,1GB \ -f /home/deploy/mysite.vcl \ -u deploy \ -g deploy \ -p obj_workspace=4096 \ -p sess_workspace=262144 \ -p listen_depth=2048 \ -p overflow_max=2000 \ -p ping_interval=2 \ -p log_hashstring=off \ -h classic,5000009 \ -p thread_pool_max=1000 \ -p lru_interval=60 \ […]
我必须build立一个负载均衡系统。 目前我有两台机器运行Nginx 0.8.52,PHP-FPM(在unix套接字上)和一个基于PHP Symfony 1.4.11的应用程序。 在第三台机器上,我必须select一个平衡器来安装。 我已经使用Varnish进行静态文件caching,但是我不知道Varnish负载平衡是否可以处理Symfony PHP会话。 另一种select是使用ip_hash进行Nginx负载平衡。 哪一个是最好的? 提前致谢
编辑:增加了一些configuration和澄清多less是“多”,按anthonysomerset的要求。 编辑2:添加fastcgi_cache到nginxconfiguration,如由SleighBoybuild议。 我为一个朋友的网站运行一个服务器,时不时会有大量的stream量,大约有200-300个并发用户。 在尖峰之间,服务器有大约70-80个并发用户,并且没有麻烦地处理stream量。 该网站运行在与Debian Squeeze,Nginx,PHP5-FPM + APC(128MB),MySQL 5,memcached(128MB)和Varnish(1GB)的服务器上的W3 Total Cache。 parentesis中的数量是我为它们各自的caching分配了多less。 内存永远不会超过1.8 GB afaik,但可能会有点超额预定。 虽然通常不会造成任何问题 造成这个问题的原因总是PHP5-FPM利用100%的CPU一段时间,然后只是崩溃,导致nginx吐出502错误。 日志build议增加最大的孩子数量,但我想我已经达到了服务器可以处理多less个孩子的限制。 我一直在使用pm.max_requests (0(无限)),但是现在将其设置为1000,以查看重新产生的孩子现在是否可以提供帮助。 /etc/php5/fpm/pool.d/www.conf [万维网] listen = /var/run/php5-fpm.sock user = www-data group = www-data 下午=dynamic pm.max_children = 200 pm.start_servers = 20 pm.min_spare_servers = 20 pm.max_spare_servers = 60 pm.max_requests = 1000 /etc/nginx/nginx.conf 用户www-data; worker_processes 8; pid /var/run/nginx.pid; 事件{ worker_connections […]
如何configurationnginx将本地主机的PURGE请求传递给Varnish后端? 目前,脚本导致这一行出现在nginx日志中: 127.0.0.1 – – [23/Apr/2012:20:12:31 -0500] "PURGE /blog HTTP/1.1" 405 173 "-" "-" 有没有办法将这个清除请求重写到清漆后端(127.0.0.1:8080)?
我们在不同的应用服务器上托pipe多个应用。 我们有什么 HAProxy – >应用程序服务器 应用程序服务器可以是Apache上的PHP或Glassfish中的Java应用程序。 因此,我们使用haproxy将1个IP和1个端口展示给互联网,然后对各个应用服务器进行负载均衡,每个项目获得两个应用服务器,并且这两个应用服务器相互平衡。 我们现在要做的是,把HAProxy的Varnishcaching所有的stream量,并返回它,然后它击中HAproxy并得到路由到任何应用服务器。 问题是我得到一个从清漆到haproxy 503,但如果我直接清漆的应用服务器之一,它完美的作品。 有人有主意吗?
我们的网站有一些大的PDF和MP3文件,我们希望将其作为静态文件caching在Varnish中。 目前我们并没有做太多特别的事情 – 只需在vcl_recv删除cookies并set resetp.ttl = 100w; 在vcl_fetch 。 问题似乎是当这些文件之一被请求时(可能是旧的浏览器),并且它不在Varnishcaching中。 当Varnish从后端下载文件时有延迟。 我的理解是,在数据完全加载之前,它不会开始提供给客户端。 这可能需要20秒左右,有时Adobe Acrobat或MP3插件变得困惑。 有没有一种方法可以直接pass内容,同时下载并保存在caching中,以便下一个匹配的客户端请求?
我想增加清漆caching服务器的日志限制,因为我看到当我把日志写入一个文件,它只给我约13k的请求,我想增加到一个像一个高stream量网站一百万的东西,所以我可以每10分钟保存一次。 我知道清漆可以作为恶魔运行,并在运行时写日志,但我不需要这个 那么是否有增加清漆日志限制到一个更高的价值?
请假设有一个PHP CMS根据数据库中的ID检索内容。 所以每次访问这个网站时,它都会与数据库进行交互并处理PHP请求。 在用户访问该页面之后,Nginx或Varnish可以caching和存储页面吗? 所以下次如果有用户访问那个页面,它将从caching中加载。
在Varnish 3中是否有可能configuration后端有多个探测器? 我有多个清漆服务器和运行Drupal的多个后端服务器。 我已经configuration了一个基本的1秒间隔健康检查PHP文件来validation应用服务器的健康状况,但是我也想为Drupal堆栈使用一个健康检查,但是这个检查需要比基本的健康检查less一些。 例如:每5秒钟可以检查Drupal堆栈。 在这种情况下,是否可以在单个后端上使用2个独立的探针? 理论configuration: probe healthcheck { .url = "/healthcheck.php"; .interval = 1s; .timeout = 100 ms; .window = 5; .threshold = 5; } probe drupalcheck { .url = "/index.php"; .interval = 5s; .timeout = 5s; .window = 5; .threshold = 5; } backend apache_1 {.host = "server01"; .port = "8080"; .probe […]