我使用PHP 5.3.9和nginx设置了一个新的服务器,所以我使用php-fpm SAPI选项编译了PHP。 本身在nginx中使用以下服务器条目效果很好: server { listen 80; server_name domain.com www.domain.com; root /var/www/clients/domain.com/www/public; index index.php; log_format gzip '$remote_addr – $remote_user [$time_local] "$request" $status $bytes_sent "$http_referer" "$http_user_agent" "$gzip_ratio"'; access_log /var/www/clients/domain.com/logs/www-access.log; error_log /var/www/clients/domain.com/logs/www-error.log error; location ~\.php$ { fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/clients/domain.com/www/public$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include /etc/nginx/fastcgi_params; } } 它服务器我的PHP文件就好了。 为了增加安全性,我想chroot我的FPM实例,所以我在这个FPM实例的conf文件中添加了以下几行: # FPM config chroot […]
我有一个非常标准的Rails应用程序与Unicorn和Nginx一起运行。 我想拆分应用程序本身,并在另一台机器上使用Nginx,在另一台机器上使用Unicorn(使用Rails应用程序)。 这里的想法是,我想在将来以后再添加与Unicorn的应用程序服务器,主要是为了一些轻负载平衡。 我可能从错误的angular度来解决这个问题。 这是正常的/可能的吗? 如果是这样,有人可以指向我的例子configuration或文档? 如果不是要走的路,那么实现最终目标的正确途径是什么? 我已经研究过HAProxy,但是在阅读了一些Nginx / Unicorn文档后,我发现没有任何额外的软件就可以实现这一点。
我正在尝试在nginx中设置一个全局location 。 这一切现在完全正常,除了需要fastcgi的PHP脚本。 他们正在运行一个404。 有没有一种方法,我可以看到它正在访问的确切path,所以我可以尝试debugging一下,找出我做错了什么?
我刚刚得到一个新的服务器,并想尝试一些其他的事情。 像Nginx而不是Apache。 于是,安装了nginx ,得到了欢迎页面,安装了php5-fpm并下载了一个Wordpress来试试。 但是,当我试图去的地址,我仍然有一个403 Forbidden 这里是conf文件: server { listen 80; server_name localhost; access_log /var/log/nginx/axiol.access.log; error_log /var/log/nginx/axiol.error.log error; root /usr/share/nginx/axiol; location ~ .php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/axiol$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; […]
我有一些静态文件位于我想从nginx服务器提供的S3存储桶中。 基本上,如果用户去www.mywebsite.com/this/url我想从S3存储桶中提供一个文件。 这样做最好的方法是什么?
嗨,我是nginx的新手,我试图设置它在我的服务器(运行Ubuntu 4),已经有Apache运行。 所以,我apt-get install后,我试图启动nginx。 然后我得到这样的消息: Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok configuration file /etc/nginx/nginx.conf test is successful [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: bind() to 0.0.0.0:80 failed […]
我们担心基于IP的服务负载均衡(例如,从3G移动到Wifi的移动客户端)。 有没有办法做到基于一部分的URL而不是IP哈希?
看一下/usr/share/doc/nginx/README.Debian文件,我们可以看到这个警告: README for Debian —————– Files under /var/www/ are not supported as per Debian Policy. Please see: http://lintian.debian.org/tags/dir-or-file-in-var-www.html and, http://www.pathname.com/fhs/pub/fhs-2.3.html#THEVARHIERARCHY for more details and explanations. 经过一些不成功的研究(我可能看错了地方…),我想知道是否: 这个警告是一个普遍的build议(“不要把你的文件放在/var/www ”中),或者它只是意味着一个标准的Debian软件包安装不应该在/var/www下安装文件。 如果我们实际上不鼓励将制作网站放在/var/www ,我应该在哪里放置它们? 感谢提前!
我正在寻找一个方法/ Linux命令来获得运行在我的Ubuntu系统上的open-ssh服务器和Nginx服务器的运行时间。 我想知道计算一些内部统计数据的时间。 我正在寻找类似于mysqladmin status命令的东西。 谢谢
请帮我调整我的configuration为php5-fpm和nginx。 问题是我的php5-fpm日志不断报告缓慢的脚本和杀死一个子线程。 专用服务器,四核xeon,32Gb Ram。 1 php应用程序/网站运行。 Php应用程序:果壳,search引擎,结果消防curl请求。 页面加载时间通常是每个search2-3秒。 这是我认为正在发生的事情我得到750个并发的php用户执行search。 由于内存限制,我只能设置pm.max_children = 400。 我假设每个用户50Mb(子线程),使得= 20GB。 我假设每个用户= 1个子线程。 所以,pm.max_children不足以覆盖正在进行search需要3秒钟的750个活跃的php用户。 所以我认为我看到用户排队,因为我看到3秒变成4 – 7秒。 作为用户排队,我认为脚本越来越慢触发错误日志消息和php5-fpm下午杀死孩子? 这是我认为正在发生的事情。 我在下面提供了我的错误日志输出,nginx,php5-fpm config。 我真的很感激任何意见,如果我可以调整我的configuration,如果pm.max_children应该至less等于你最大并发用户,请记住,我的PHPsearch打开约3秒。 我是否需要更多的内存或更多的服务器? 这是我的记忆,但是我只在30分钟前重启了nginx :/var/log# free -m total used free shared buffers cached Mem: 32151 26175 5975 0 186 13334 -/+ buffers/cache: 12654 19496 Swap: 32739 5 32734 php5-fpm:www.conf:进程pipe理器被设置为静态 我使用静态的,因为我认为所有的孩子将立即可用,而不是产卵时间,我只在箱子上运行1个应用程序。 ;pm = […]