Articles of nginx

Magento,NGINX,PHP-FPM,APC,MEMCACHED,16gb Ram CentOS,PHP-FPM Spiking到100%CPU

我一直在试图解决由于php-fpm进程引起的CPU问题。 我已经减less了php-fpm的configuration设置: pm = ondemand pm.max_children = 12 pm.start_servers = 2 pm.min_spare_servers = 2 pm.max_spare_servers = 10 pm.max_requests = 500 php_admin_value[memory_limit] = 128M 问题依然存在。 我运行一个Joomla主站点(这是没有问题)和一个Magento商店在一个子目录。 我的服务器是Linux CentOS,运行NGINX,APC,Memcached,Full Page Cache和php-fpm。 我的服务器有8个核心和16GB专用ram。 我的主机过去几周closures了我的服务器,因为我的php-fpm进程正在占用整个networking。 很多单独的php-fpm进程正在获得超过50%的cpu。 我聘请了几个“专业人士”,他们没有一个能够帮助我,所以现在破产了,我转向你们寻求帮助。 所以,任何build议将不胜感激。 我打开慢的PHP日志,这里是一些最新的结果: [01-Apr-2012 14:26:12] [pool magento] pid 21537 script_filename = /home/flyfish/www/flyshop/index.php [0x0000000011a394f8] _renderStraightjoin() /home/flyfish/www/flyshop/lib/Varien/Db/Select.php:397 [0x0000000011a39158] _renderStraightjoin() /home/flyfish/www/flyshop/lib/Zend/Db/Select.php:705 [0x0000000011a38f30] assemble() /home/flyfish/www/flyshop/lib/Zend/Db/Select.php:1343 [0x00007fffbb6d6e50] __toString() […]

Nginx的未知limit_req_zone

由于标题中提到的错误,Nginx目前不会启动。 这是我得到的实际错误: $ sudo /etc/init.d/nginx restart Restarting nginx: nginx: [emerg] unknown limit_req_zone "one" in /etc/nginx/sites-enabled/www.myhashimotosthyroiditis.com:15 nginx: configuration file /etc/nginx/nginx.conf test failed 这就是在创buildVM(www.myhashimotosthyroiditis.com)后立即使用我在这里发现的模板,据说这是一种“开箱即用”的模板。 我对Nginx非常陌生,我找不到任何有用的信息,通过谷歌或在这里search,所以我请原谅,如果这是愚蠢的产品。 这是整个虚拟机文件: server { listen 80; server_name myhashimotosthyroiditis.com www.myhashimotosthyroiditis.com; root /var/www/myhashimotosthyroiditis; access_log /var/log/nginx/myhashimotosthyroiditis.access.log; error_log /var/log/nginx/myhashimotosthyroiditis.error.log; location / { try_files $uri $uri/ /index.php; } location /search { limit_req zone=one burst=3 nodelay; rewrite ^ /index.php; […]

从子目录请求nginx服务器上的网站

我们有两个nginx服务器。 第一台服务器通过www.example.com/partner收到请求。 他将整个请求发送到configuration了php + fastCgi的第二台服务器。 来自第二台服务器的Nginx访问日志: “GET / partner / HTTP / 1.0”200 2845 在第二台服务器上,我有一个看起来像这样的虚拟主机: server { listen my.ip:80; server_name www.example.com; root /var/www/example; if ($http_host != "www.example.com") { rewrite ^ http://www.example.com$request_uri permanent; } index index.php index.html; location = /partner/favicon.ico { log_not_found off; access_log off; expires max; } location @nocache { try_files $uri $uri/ /index.php?$args; } […]

nginx重写不包括.php文件?

我有一个nginx的网站configuration,这是完美的redirect所有.html请求通过/index.php 。 但是它不会将test.php重写为/index.php ,而是会抛出一个404错误。 任何人都可以摆脱灯吗? 这是我的网站configuration: server { listen 80 default_server; location / { root /srv/www/htdocs; index index.php; try_files $uri $uri/ /index.php; location ~* \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS on; # <– add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } […]

Nginx:Mp4video不能立即寻找和启动

我学会了如何用mp4模块编译nginx。 我也在我的网站conf中添加了正确的指令。 我想用JW播放器和stream媒体播放器来播放mp4。 但是,video不会像YouTube和类似的网站缓冲和播放。 开始游戏需要很长时间 。 它似乎下载整个video ,然后播放它。 我试图改变缓冲区限制,但没有运气。 我下载了一个YouTubevideo,并尝试与我自己的video进行比较。 YouTube上的video开始播放,但我转换的video没有。 也许nginx只播放特定的编解码器和格式的MP4文件? 请注意,我没有制作pipe网站或类似的东西。 所以请不要build议从nginx迁移。

Nginx:所有本地IP地址redirect到Nginx

出于某种原因,127.xxx.xxx.xxx范围内的任何本地IP地址将redirect回默认的“Welcome to nginx!” 页。 根据我对Apache的经验,只有127.0.0.1的IP地址才能parsing到Apache Web服务器。 我怎样才能让Nginx只能在127.0.0.1地址上运行? 谢谢, 本

用于估算nginx反向代理的keys_zone大小的经验法则

我使用nginx作为反向代理,但试图找出多大,我应该在'proxy_cache_path'指令设置'keys_zone'属性。 关于确定我find的尺寸的唯一build议是http://www.ruby-forum.com/topic/2053000 然而,这听起来不正确,因为“max_size /(平均文件大小)”似乎过度杀伤。 不是keys_zone只是磁盘上的caching文件的元数据? 因此,给定条目的大小应该是非常小的。 有没有办法在区域内进入“获取”,这样我就可以看到给定的入口有多less空间了?

用Rails 3.2在nginx中configurationSSL和HTTP

我看了一些例子,但我真的不知道为什么ssl不会工作。 我的情况: 首先,我有一个与乘客的轨道应用程序,正常的应用程序与Nginx的工作,在那里没有问题。 我想在一些path上添加ssl支持(例如/ admin或/ config)。 我已经自签名我的证书,因为这个url将被android应用程序用来向服务器发送数据安全,这是我需要SSL支持的唯一原因。 从我所理解的是,我应该在nginx上启用HTTP和HTTPS,并让rails应用程序决定是否使用HTTP或HTTPS(纠正我,如果我错了)。 那么我的nginxconfiguration应该如何在同一个IP /地址上同时允许HTTPS和HTTP呢? 我用下面的命令来生成我的证书: openssl req –new -x509 –keyout private/cakey.pem –out cacert.pem openssl req –new –out newcert/webserver-cert/pem –keyout private/webserver-key.pem echo '01' > serial touch index.txt openssl ca –cert cacert.pem –keyfile private/cakey.pem –out certs/webserver-cert.pem –in newcerts/webserver-cert.pem 现在我不知道这是否是正确的做法,任何帮助也将是受欢迎的:) 谢谢! UPDATE 这是我当前的configuration,当我使用https时出现以下错误:“SSL连接错误” root@event-backend:/opt# cat /opt/nginx/conf/nginx.conf worker_processes 1; error_log logs/error.log info; #pid […]

仙人掌不显示graphics

安装在Debian 6 – 64bit。 networking服务器:Nginx 这是我到目前为止所做的: apt-get install cacti和apt-get install snmpd chmod 644 /etc/cacti/debian.php 在php.ini中设置date.timezone 在php.ini中添加了extension=gd.so 试过运行php poller.php

HAProxy + nginx在24小时内达到最大numtcpsock

我正在运行一个相对简单的VPS(一个媒体寺(ve))与几个基于PHP的网站和(最终)几个节点服务器。 为了启用WebSockets支持,我在端口80上使用HAProxy,该端口路由到nginx或特定的Node进程。 然而,我最近遇到了一个问题,在24小时内,我的服务器达到了打开的TCP连接的最大允许数量(Parallels Power Panel中的numtcpsock设置为1000)。 单独运行nginx不会导致这个问题,而且我目前没有活动的Node后端服务器。 Nginx通过一个UNIX域套接字连接到PHP(同样,单独的nginx不会出现这个问题)。 有什么想法可能导致这个? 我的configuration: global ## 00-base maxconn 500 nbproc 2 defaults ## 00-base mode http frontend all ## 00-ports bind 0.0.0.0:80 ## 10-config timeout client 86400000 default_backend nginx backend nginx ## 00-timeouts timeout http-keep-alive 5000 timeout server 10000 timeout connect 4000 ## 10-servers server main localhost:8000 提前致谢! 更新 :在一点点的ing​​之后,我能够确定90%以上的开放TCP套接字实际上是由HAProxy拥有的,绝大多数是在CLOSE_WAIT或者FIN_WAIT2状态。 […]