这里是我从浏览器调用的configuration: location ~ ^/getfileinfo/(.*)$ { proxy_pass http://127.0.0.1/editionspanda_conn/$1; } 这是我的configuration,调用PHP文件: server { listen 127.0.0.1:80; server_name 127.0.0.1; root /var/www/localhost/public/; include /var/nginx/general/php; location ~ ^/editionspanda_conn/(.*)$ { root /var/www/EditionsPanda/livres.editionspanda.com/; try_files $uri $uri/ /index.php; fastcgi_pass unix:/var/run/php5-fpm.sock; } } 在浏览器中,我得到这个错误: File not found. 在我的错误日志中,我得到: 2013/09/09 22:12:20 [error] 8922#0: *2784 FastCGI sent in stderr: "Primary script unknown" while reading response header from […]
我是系统pipe理新手。 在Ubuntu上通过puppet安装nginx后,我得到以下输出: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied) [warn] 1898#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1 [emerg] 1898#0: open() "/var/log/nginx/access.log" failed (13: Permission denied) 我如何摆脱所有这些消息? 我不想直接使用命令行(chown / chmod),并在每次创build新服务器时重复使用。 因此,我想到了什么必须join到木偶清单。 在这种情况下,最好的系统pipe理员练习是什么:更改/ var / log / nginx的所有者/权限或将日志存储在不同的位置? 如果chown / […]
这是我用标准的nginx.conf做的 如果我使用端口boo.dev:8060我没有问题,但如果我做localhost或它的别名它总是下载的东西? 我似乎无法设置虚拟主机名称,只是让它工作。 感谢您的任何build议。 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; error_log /var/log/nginx-error.log debug; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; # include /usr/local/etc/nginx/conf.d/*.conf; default_type application/octet-stream; #log_format main '$remote_addr – $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; error_log […]
我对try_files如何在nginx上工作感到困惑,这需要在实时生产服务器上完成,所以在100%确定之前不能testing。 我正在使用header("X-Accel-Redirect: /out/" . $fname); 从nginxconfiguration文件中处理下面的文件: location /out { root /home; internal; } 现在我已经添加了一个额外的磁盘到我的服务器来存储文件,我希望nginx先在/homefind该文件,如果没有find/home2 。 我应该如何实现这个设置,下面的代码是有效的,应该完成我所需要的: location /out { try_files /home /home2; internal; } 另外,当使用try_files时,我们是否需要root指令?
目标:将url重写为应用程序兼容格式 进展:我有一个从根域工作正常,但是当我添加/ foo /或/ bar /我只是得到一个404,因为它试图匹配我的configuration中的位置。 例如.. http://domain.com/#工作正常 http://domain.com/foo/#获得404 – 我认为它是不符合位置 我有应用程序的url,我已经添加了$ request_uri到最后,但是我想能够通过/ foo /或/ bar /到url,使其正常工作。 我已经尝试了$ request_body $ request_uri $ 1并改变组合,但是没有运气只是一个404。 我怎么去做这个? 哪个$variables我需要传递到URL? 下面的url的一个例子。 不是确切的,但希望足以得到一个想法。 location / { rewrite ^/$ pt/Wondering?virtual-webr00t=http://foobar.com&pagename=123/Dispatcher&url-path=$request_uri` last; } location /pt/Wondering { proxy_pass http://domain.com; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_buffering off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For […]
信息和先决条件: 我有一个项目,其核心是一个基本的CRUD应用程序。 它没有长时间运行的后台进程,一开始就会分叉,后面会谈,也没有长时间运行的查询或连接请求。 它接收到一个请求,对数据库进行一些查询,然后作出响应。 为了快速提供静态文件和可擦写文件,我将在所有情况下使用Varnish。 这是我的问题: 在阅读了各种Python Web应用程序服务器之后,我看到他们都有自己的“粉丝”,通常是“个人”的理由,这让我感到困惑,因为每个用例都与下一个不同。 我如何才能了解Python Web服务器的核心区别因素(按顺序)来决定它们对于我的项目来说是多么适合,哪一个会比另一个更好? 你在这个问题上有什么(技术上可certificate的)想法? 我应该如何select一个Python Web服务器? 谢谢。
我已经实现了Django相对较新的允许主机设置,这是为了防止攻击者使用假的HTTP主机头提交请求。 自从添加该设置以来,我现在每天从20到100封电子邮件中收到无效的HTTP_HOST标题。 我在下面的一个典型的错误消息的例子中复制。 我在EC2上托pipe我的网站,而且对于设置/维护服务器还是比较新的,所以我的问题是这里到底发生了什么,pipe理这些无效的最好方法是什么,我认为是恶意请求? [Django] ERROR: Invalid HTTP_HOST header: 'www.launchastartup.com'.You may need to add u'www.launchastartup.com' to ALLOWED_HOSTS.
使用案例: –我正在开发一个Web应用程序,它允许创buildHTML模板并在亚马逊S3上发布它们。现在将我使用nginx作为代理服务器的网站发布出去。 代理服务器的function是,当用户input网站URL时,我想确定如何检查请求是否来自我的应用程序, 例如app.mysite.com (这不会改变),并将其路由到apache以进行常规访问,如果它来自一些其他的域像一个普通的URL www.mysite.com(这需要dynamic处理,可以是随机的),它转到承载模板的S3存储桶。 我目前的configuration是: user nginx; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; charset utf-8; keepalive_timeout 65; server_tokens off; sendfile on; tcp_nopush on; tcp_nodelay off; […]
我正在开发一个Rails应用程序,现在我正在将生产环境设置为默认值。 我创build了这个指令 server { listen 127.0.0.1:80; server_name example.com; root /web/applications/dashboard/public; index index.html; location / { try_files $uri $uri/ @app; } location @app { proxy_set_header host $Host; proxy_redirect off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://dashboard; } } 当我试图访问我的应用程序的URL时,这给了我一个403 Forbidden错误。 我没有在public目录中的index.html 。 如果我添加指令 location ~ ^/(assets)/ { gzip_static on; # to serve pre-gzipped version expires […]
有时在configurationnginx和php-fpm时,我得到消息“找不到文件”。 我知道这是由于错误的参数SCRIPT_FILENAME,例如: fastcgi_param SCRIPT_FILENAME /some/path$fastcgi_script_name; 我不知道是否有一种方法来获得确切的完整path的文件,这是不能find的php-fpm? 我的php5-fpm.log没有任何内容,但是: [06-Jan-2014 11:14:33] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful [06-Jan-2014 11:27:01] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful 我已经尝试将php-fpm.conf中的log_level选项更改为error和debug ,但结果保持不变 PS这一行: add_header X-My-Header /some/path$fastcgi_script_name; 不会这样做,因为add_header只能用于成功的响应,正如我在这里阅读的 有nginx模块 ,即使有失败响应也可以设置头文件,但我认为它应该是一个更简单的方法来获取文件path。 谢谢。