我在debian服务器上安装了nginx。 我有三台服务器(虚拟主机): 默认(/ etc / nginx / sites-enabled / 0-default) mydomain.com(/ etc / nginx / sites-enabled / 1-mydomain) booking.mydomain.com(/ etc / nginx / sites-enabled / 2-booking) 当我用自己的域名访问服务器时,我得到了正确的网站。 但是,当我用IP地址访问服务器时,它是返回的预订网站。 这个预订网站是在Symfony,这里是网站启用/ 2预订文件的内容: server { server_name booking.mydomain.com; root /var/www/booking/web; location / { # try to serve file directly, fallback to app.php try_files $uri /app.php$is_args$args; limit_req zone=one burst=20; } […]
我按照这个博客文章的指示,但是当我用curltesting它时,nginx的$ssl_client_verifyvariables总是NONE 。 实际上,当我没有指定–cert和–key选项的时候, curl甚至没有提供不同的输出。 就好像它忽略了我的证书。 我怎样才能debugging呢? 我甚至尝试过让所有这些地方都具有相同的价值: CA和服务器证书上的通用名称 服务器的主机名 NginX的虚拟主机名 服务器的反向DNS名称
我的设置如下: Webserver :在端口8529上监听的应用程序。 反向代理 :Nginx监听端口80。 问题是我的Nginx将请求redirect到端口8529,并且出现在像http://some.domain.com:8529/foo这样的URL中,这不是我想要完成的。 我现在的nginx sites-available相关文件如下: server { listen 80; server_name some.domain.com; location / { proxy_pass http://localhost:8529/foo; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; } } 其中some.domain.com位于指向127.0.0.1 /etc/hosts 。 任何提示?
我在我的日志中有这个错误: 当从上游读取响应报头时,上游发送太大的报头 我试图补充 proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; 到我的nginx.conf http块但没有工作 我也尝试添加 fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; 到我的conf文件,但我找不到任何位置〜.php $ { 所以我想知道我怎么能过来这个错误? join fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; 到一个手工制作的php块给了我nginx:[emerg]在/etc/nginx/nginx.conf中的未知指令“location”:6
所以我们有一个nginx和drupal站点,文件夹结构如下所示 / my_site [drupal网站根目录] /mysite/index.php [drupal主索引文件] / my_site / forum [我创build了这个文件夹,这不是一个标准的drupal文件夹] /my_site/forum/viewforum.php [我把这个php文件做一些自定义逻辑] / my_site / forum / [没有index.php文件,因为我想Drupal处理/论坛,并显示它有默认的论坛模块] 一切工作正常,除非有些去/论坛他们被禁止403,因为没有索引文件。 我努力了: 1)使符号链接指向主索引文件 2)redirect回drupal根目录,但是/ forum只是不起作用 我不知道如何让nginx允许Drupal处理/论坛,而不是/forum/viewforum.php请帮助
需要一些集体头脑风暴:)。 有一个沉重的PHP应用程序(例如Magento),每次访问者遇到一个不存在的页面(或者应用程序的特定部分有问题,并且它返回错误),应用程序服务器上的负载就是滚雪球: 在不存在页面的情况下,它们不会被caching,应用程序花费相当多的资源来检查所有内容并生成caching副本,这将浪费时间; 在部分应用程序出现问题的情况下,应用程序将花费宝贵的时间来生成这些错误响应,以牺牲站点健康部分的访问者为代价。 这里的想法是将来自FastCGI后端的404和5xx等所有负面响应caching在nginx前端5分钟 – 这将显着降低对应用程序服务器的性能影响。 使用fastcgi_cache_ *指令可以很容易地实现caching。 但是,一旦在fastcgi_pass所在的位置块中定义了fastcgi_cache_ *指令,它将尝试caching经过该位置块的所有内容。 因此,问题是如何将fastcgi_cache限制为仅来自后端脚本的404响应? 只是为了说明情况多一点。 想象一下,一个请求到/ app / missing,应用程序只有在/index.php中的入口点,所以nginx会将请求传递给调用/index.php/app/missing的后端FastCGI服务器。 现在,由于/ app / missing不存在,index.php将返回HTTP 404.这个路由将会像请求/ app / missing一样紧缩CPU。 我们希望的是,一旦HTTP 404从index.php返回,/ app / missing将被从nginx的index.php中得到的404页面caching起来,所以如果有人请求/ app /马上丢失, PHP后端,但返回一个caching页面。
我运行nginx和独angular兽服务于Rails应用程序。 独angular兽和Rails应用程序工作正常,但nginx无法打开rails公共目录与权限错误,并返回502错误的网关。 curl http://localhost/ <html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx/1.6.1</center> </body> </html> 无功/日志/ nginx的/ error.log中 014/09/18 18:16:16 [crit] 16619#0: *1 stat() "/home/rails/public_html/rails_app/current/public//index.html" failed (13: Permission denied), client: 127.0.0.1, server: , request: "GET / HTTP/1.1", host: "localhost" 2014/09/18 18:16:16 [crit] 16619#0: *1 stat() "/home/rails/public_html/rails_app/current/public/" failed (13: Permission denied), client: 127.0.0.1, server: , […]
我想caching页面上的nginx的客人。 但是,如果utm_campaign存在于url中,我需要将该请求传递给apache。 我如何排除那些在URI中有utm_campaign键的请求?
我在我的小型服务器(BeagleBoneBlack)上有一个文件,我想下载到另一台机器上。 因此,我尝试通过PHP从我的nginx-web服务器。 文件大小约为1.2 GB,下载总是停在大约410MB。 由于两台计算机在同一个交换机后面,我不会看到连接问题。 此外,我可以排除软件问题的可能性,因为我使用不同的PHP软件进行了testing,发生同样的问题。 通过SCP下载工作没有问题。 在通过PHP下载期间,我会看到/proc/loadavg值 3.15 1.17 0.46 1/95 1163 3.15 1.17 0.46 1/95 1164 3.14 1.20 0.48 1/95 1165 3.14 1.20 0.48 1/95 1166 3.21 1.25 0.50 1/95 1167 3.21 1.25 0.50 1/95 1168 3.21 1.25 0.50 1/95 1169 3.44 1.43 0.57 1/95 1172 3.42 1.52 0.61 2/95 1175 3.42 1.52 […]
我有一台服务器在端口443上同时运行OpenVPN和Nginx:我configuration了OpenVPN在443上运行port-share选项,而Nginx在4545上运行。 所有这些似乎工作,除了try_files指令。 try_files $uri $uri/ =404; 当我访问目录https://mydomain.tld/directory ,而不是被redirect到https://mydomain.tld/directory/ ,我得到https://mydomain.tld:4545/directory/ 。 当然,端口4545被我的防火墙阻止,连接失败。 我怎么能避免Nginxredirect到它使用try_files监听的端口?