Questions tagged «nginx»

Nginx(“ eNgine x”)是一种轻量级的高性能HTTP服务器,反向代理,TCP流代理和邮件代理,在类似BSD的许可证下发布。


1
如何通过NGINX配置PHP-FPM以写入每个虚拟主机日志文件
我有带有Nginx和PHP-FPM的Fedora 16。一切都很好。所有带有PHP通知,警告,错误等的日志都在中/var/log/php-fpm/www-error.log。 有没有一种方法可以配置PHP-FPM在配置为Nginx错误日志的适当日志文件中写入错误?因此,我想针对每个虚拟主机而不是在一个全局文件中记录PHP错误。(例如在Apache Httpd和PHP中)。
11 linux  nginx  logging  php-fpm 


1
Nginx Gzip预压缩模块为什么不起作用?
我目前正在尝试设置Nginx来提供我所有的静态文件。由于根本不会经常更改它们,因此我希望我们使用gzip_static模块,以允许我对文件的gzip副本进行预gzip压缩,以节省一些cpu时间并允许更好的压缩。 我用编译了Nginx --with-http_gzip_static_module并进行了设置,以便它可以为我的静态文件提供服务,到目前为止没有问题。我想测试并确保静态gziping确实可以正常工作,所以我制作了两个文件test.txt和test.txt.gz。每个文件的第一行都表明是否压缩了文件,然后有一个换行符和256个随机字符(两个文件之间不同)。 我已经读过文件的修改时间和gzip压缩的对应文件应该相同,并且我尝试了以下两种方法: touch test.* touch -r test.txt test.txt.gx 在本地计算机上,我正在测试curl: curl $URL/test.txt 效果很好,我找回了没有预压缩的版本,但是当我这样做时: curl -H "Accept-Encoding: gzip" $URL/test.txt | gunzip 我还找回了我没有预压缩的版本。我尝试将设置gzip off为nginx.conf,但没有任何区别。我也用Nginx重新编译了Nginx,--without-http_gzip_module这似乎也没有什么不同,Nginx 仍在动态地 gzip自压缩。 我对Nginx还是很陌生,但是我真的很茫然。 这是输出 ./nginx -V built by gcc 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) configure arguments: --sbin-path=$SOMEPATH/nginx --prefix=$SOMEPATH --user=$ME --group=$MYGROUP --with-http_gzip_static_module --without-http_gzip_module 这是我的 nginx.conf worker_processes 1; …
11 nginx  gzip 

1
nginx:[emerg]未知指令“ http”
当我尝试编写类似的代码时: 1. http { 2. script 3. server { 4. ... 5. location ... 6. } 7. } 我得到错误: nginx: [emerg] unknown directive "http" in /etc/nginx/conf.d/nginx.conf:1 当代码是这样的: 1. server { 2. ... 3. location ... 4. script 5. } 6. server { 7. ... 8. location .... 9. script 10. …
11 nginx  http 

2
如何为Nginx设置默认主机?
我试图弄清楚如何为我的nginx安装设置默认主机。我在nginx Wiki中找到了这篇文章: http://wiki.nginx.org/NginxVirtualHostExample#A_Default_Catchall_Virtual_Host 不幸的是,这不起作用。重新启动后,我得到这个: Restarting nginx: nginx: [emerg] unknown directive "http" in /etc/nginx/sites-enabled/catchall:1 nginx: configuration file /etc/nginx/nginx.conf test failed 删除http指令后,我得到以下信息: Restarting nginx: nginx: [emerg] unknown log format "main" in /etc/nginx/sites-enabled/catchall:7 nginx: configuration file /etc/nginx/nginx.conf test failed 我在使用官方nginx PPA的Ubuntu 10.04.3上。nginx的1.0.9版本正在运行。
11 ubuntu  nginx 

3
Nginx应该位于HAProxy的前面还是相反?
我在网站基础架构设计方面的经验很少。我知道这可能取决于具体情况。该网站应该: 1)需要某些页面(例如登录页面)的HTTPS支持,而其他页面只是HTTP页面。 2)需要多个Web服务器,因此需要一些负载平衡。 3)需要HTTP缓存和压缩以提高性能。 4)一些请求(例如图像上传)应路由到专用后端服务器。因此,需要基于URL的平衡。 我知道NginX和HAProxy都是不错的开源反向代理和/或负载均衡器。由于HAProxy不支持SSL,因此Nginx的负载平衡不如HAProxy。我都吃 那么,我应该将Nginx(作为反向代理)放在HAProxy(作为负载均衡器)的前面还是相反? 谢谢

3
我什么时候应该切换到NGinx?
我有一台运行着多个域和应用程序的服务器,所有这些都通过Apache运行。目前一切都很好,但我计划开发一些性能非常密集的Web应用程序(将C ++与CPPCMS结合使用),从我的服务器开始进行测试,也许准备就绪后仅为此应用程序购买一台单独的服务器。 无论如何,我已经听到了很多有关NGinx的信息,它似乎比Apache更具性能,所以我问自己是否值得在新项目中使用它。我不清楚,因为我不知道NGinx究竟能解决什么样的性能瓶颈。 我不是Apache超级用户,我不是一个可怜的linux管理员,并且我不太开发Web应用程序(但是我有想法)。我主要致力于编写软件,因此Web服务器部分有时对我来说很晦涩。每次我必须通过apach配置网站时,我都需要花费大量时间浏览文档以确保不会破坏所有内容。 话虽如此,我想我在这方面会进步很多,但仍然需要建议。我已经看到了一些Nginx配置文件,这似乎比Apache的文件更容易理解,但也许我错了? 根据我收集的信息,当您想要负载平衡时,NGinx将是最佳选择,因此,如果您的应用程序分布在多台计算机上,对吗?当我在考虑用于缩放(和性能)的应用程序时,看起来这是我所需要的,但是也许我需要了解有关何时从Apache迁移到NGinx的有趣信息。我当前所有的应用程序都值得切换到NGinx吗?它要多少钱?(我的意思是,从一个时间切换到另一个时间是否昂贵?)是否可以在同一台计算机上同时使用Apache和NGinx而不会出现任何问题? 旁注:请不要敦促我使用解释语言而不是C ++,这与问题无关。请参阅CPPCSM基本原理页面,以了解哪种应用程序可以从中受益。我完全理解它的缺点(与Ruby和Python中的应用程序相比,我已经在使用那些耗电较少的Web应用程序了),我对此表示满意。
11 apache-2.2  nginx 

4
Nginx缺少Apache有什么?
据说Nginx比Apache更节省资源,更易于配置。一位朋友告诉我:“它无法完成Apache可以做的某些事情,但我还是不需要这些。” 不过,我很好奇:Apache可以做Nginx无法做的哪些事情?我并不需要详尽的清单,仅是有关Apache会是一个更好选择的场景的总体思路。
11 apache-2.2  nginx 


5
Nginx-将所有请求路由到单个脚本
我有一个PHP脚本,可以处理脚本路由并完成各种花哨的事情。它最初是为Apache设计的,但我正尝试将其迁移到Nginx,以供我使用。现在,我正在尝试在测试服务器上进行平滑处理。 因此,脚本的工作方式是使用.htaccess文件拦截目录(在Apache中)的所有HTTP通信。看起来像这样: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.+$ index.php [L] </IfModule> 非常简单。所有请求都通过index.php,简单而简单地运行。 我正在模仿nginx上的这种行为,但是我还没有找到方法。有人有什么建议吗? 这是我目前的nginx.conf文件副本。请注意,它是为我设计的,只是试图使其正常工作。主要是复制/粘贴作业。 user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; # multi_accept on; } http { include /etc/nginx/mime.types; default_type text/plain; include /etc/nginx/conf.d/*.conf; server { listen 80; server_name swingset.serverboy.net; …
11 php  nginx 


2
Nginx-从无cookie的域提供静态内容
我正在使用Firebug的“ 页面速度 ”扩展程序来尝试优化网站,目前正在研究以下建议:“ 从无cookie的域提供静态内容 ”。 我已经为某些内容创建了一个单独的子域,以便拥有www.example.com,images.example.com但是如何指定它images.example.com是无cookie的呢?我是否可以强制要求它在诸如Nginx或Apache之类的Web服务器中是无cookie的,或者仅仅是确保不在服务器端代码(例如PHP)的该域中设置任何cookie的问题? 我问这个问题的原因是,即使我尝试修复它后,“ Page Speed”仍然显示相同的建议-所以我想某些cookie一定已经漏掉了。我在浏览器cookie搜索中看不到任何cookie,但是如果检查该资源的HTTP标头,则可以看到: Cookie __utma=73051794.676740941.1271792323.1277710025.1277900715.20; __utmz=73051794.1271792323.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmx=73051794.00009825591030858779:3:0; __utmxx=73051794.00009825591030858779:2295429:2592000; __gads=ID=0a768e3407302ff8:T=1272608001:S=ALNI_MZ-GKhg3ETniU0TVftk0DdGyUypkQ 有人知道如何阻止子域中的Cookie吗?

5
nginx错误日志很大,因此我删除并创建了一个新日志,现在nginx无法启动
我删除了/var/log/nginx/error.log文件,然后使用以下命令创建了一个新文件: sudo nano error.log 这样做ls -la表明error.log和access.log具有相同的权限。 当我尝试启动nginx时出现错误: 警报:无法打开错误日志文件:open()“ /var/log/nginx/error.log”失败的权限被取消。 更新资料 当尝试启动nginx时,我还看到: emerg:/var/run/nginx.pid失败13:权限被拒绝。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.