获取“403访问被拒绝”错误,而不是服务文件(使用django,gunicorn nginx) 我正在尝试使用nginx从django提供私人文件。 对于X-Access-Redirect设置,我遵循以下指南 http://www.chicagodjango.com/blog/permission-based-file-serving/ 这是我的网站configuration文件(/ etc / nginx / site-available / sitename): server { listen 80; listen 443 default_server ssl; server_name localhost; client_max_body_size 50M; ssl_certificate /home/user/site.crt; ssl_certificate_key /home/user/site.key; access_log /home/user/nginx/access.log; error_log /home/user/nginx/error.log; location / { access_log /home/user/gunicorn/access.log; error_log /home/user/gunicorn/error.log; alias /path_to/app; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme […]
我们正在寻找IIS / ISAPI和Coldfusion之间的caching层,这样如果整个页面被caching在服务器上,那么对这个资源的附加请求就不需要分配一个Coldfusion线程。 我认为这几乎是相同的nginx + memcached,但不幸的是,我们没有使用这些=(。 以下是我设想的沟通途径的一个例子: GET请求/ hotels /?listingid = 5 – >caching – >存在和新鲜 – >服务 GET请求/ hotels /?listingid = 10 – >caching – >存在但陈旧 – > Coldfusion – >caching – >服务 GET请求从coldfusioncaching清除/ hotels /?listingid = 10。 GET请求/ hotels /?listingid = 10&nocache – > Coldfusion 即使我不得不编写一些C ++,我也不介意翻身,但我甚至不知道从哪里开始。
目前,我正在使用fastcgi_cache来caching非login用户,并使用(如果+ fastcgi_no_cache + fastcgi_cache_bypass)将login用户直接传递到PHP-FPM的后端。 这个工作足够好,但是当PHP-FPM开始达到500+ req / s时,缓慢/加载开始。 所以我在想的是为login用户创build一个caching,每个用户都有它自己的caching文件,这可能吗? 如果是的话,请给我提供一些关于这方面的提示。 我已经看了很多,但没有任何帮助。 运行mysql和memcached和apc的自定义php cms的网站 cat /etc/nginx/nginx.comf user username username; worker_processes 8; worker_rlimit_nofile 20480; pid /var/run/nginx.pid; events { worker_connections 10240; use epoll; } http { include 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 off; error_log /var/log/nginx/error.log […]
我无法解决这个问题几天。 我已经在virtualbox上的最新的Ubuntu服务器上安装了nginx。 我有一个共享的virtualbox文件夹,其中包含Web根目录。 web根目录的所有者是root,它的组是vboxsf。 我已将www-data用户添加到vboxsf组,并通过“groups www-data”进行validation。 nginx的用户是www-data。 我可以通过“ps aux | grep nginx”来validation。 但是当我尝试访问index.html时,我仍然禁止403。 请帮忙!!!
我最近买了第二个networking服务器,因为我担心我的旧服务器硬件故障。 现在我有了第二台服务器,我希望再做一点,那么只需要一台服务器备用,然后整天复制。 只要在那里,我不如得到我们的一些优势! 我有一个网站由Ubuntu的12.04,Nginx,PHP的FPM,APC,MySQL(5.5)和couchdb。 我目前正在testing的configuration,我可以实现故障转移,并充分利用额外的硬件更快的响应/分布式负载。 我现在正在testing的设置包含了ip failover和两个相同的服务器的心跳。 两台服务器中只有一台有公网IP地址。 如果一台服务器崩溃,另一台服务器接pipe公共IP地址。 在传入的请求中,nginx将请求转发到php-fpm到服务器b的服务器a(如果两个服务器都处于活动状态,则为50/50)。 一旦请求发送到php-fpm,两台服务器都会查看mysql服务器的localhost。 我使用master-master mysql复制。 文件系统与lsyncd同步。 这工作得很好,但林阅读它((MySQL)的社区不鼓励。 我能想到的另一个select是使用一个服务器作为一个MySQL主服务器和一个服务器作为一个Web / PHP服务器。 服务器仍然会同步他们的文件系统,仍然会运行相同的重复软件(nginx,mysql),但可以使用master slave mysql复制。 只要麻烦的服务器活着,我可以只喜欢nginx听ip a和mysql到ip b。 如果一台服务器停机,另一台服务器可以通过简单的IP交换来接pipe另一台服务器的任务。 但即时通讯全新的,所以我会非常重视您的专家意见。 两种装置中的任何一种都不错? 如果您对此有任何想法,请告诉我! PS,虚拟化,托pipe在不同的位置或主动/被动设置不是解决scheme即时寻找。 我觉得虚拟服务器要么太慢,要么太贵。 我已经在另一个位置有一个被动的故障转移。 但在发生崩溃的情况下,我发现由于DNScaching,网站仍然无法访问太久。
我有一个Amazon Web Services设置,在Nginx后面有一个Apache实例,Nginx处理SSL并提供除.php页面之外的所有内容。 在我的ApacheBenchtesting中,我看到这是我最昂贵的API调用(通过Memcachedcaching): 100 concurrent calls to API call (http): 115ms (median) 260ms (max) 100 concurrent calls to API call (https): 6.1s (median) 11.9s (max) 我已经做了一些研究,禁用了最昂贵的SSL密码并启用了SSLcaching(我知道这在这个特殊的testing中没有帮助)。你能告诉我为什么我的SSL需要这么长时间吗? 我已经搭build了一个拥有8个CPU的大规模EC2服务器,甚至连续使用负载也只占CPU总数的50%。 我有8个Nginx工作者和一群Apache。 目前这整个设置是在一个EC2盒子,但我打算分裂它和负载平衡它。 关于这个话题有几个问题,但没有一个答案(禁用昂贵的密码,cachingssl,似乎做任何事情。)下面的示例结果: $ ab -k -n 100 -c 100 https://URL This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ […]
我的服务器上有一个rails应用程序。 我有一个脚本startup.sh启动unicorn_rails,然后nginx。 为了让我的服务器在系统启动时启动,我添加了一行来调用我的启动脚本到/etc/rc.local 但是,这不起作用。 我添加了一些检查,以确保脚本被调用,它是。 这是呼吁unicorn_rails,我认为是失败的。 有人对此有经验吗?
我正在部署在tomcat上的应用程序面临一个奇怪的问题。 Nginx使用在tomcat之前从浏览器访问应用程序。 问题是,我在tomcat上部署了应用程序,然后在conf.d目录下的nginx上设置了虚拟主机。 [我创build的文件是virtual.conf。]下面是我用于相同的内容。 server { listen 81; server_name domain.com; error_log /var/log/nginx/domain-admin-error.log; location / { proxy_pass http://localhost:100; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } 现在的问题是,当我使用rewrite ^(.*) http://$server_name$1 permanent; 在服务器部分,请求被redirect到https://domain.com 。 我能够login到应用程序,并能够访问链接也。 我没有在这个主机文件中使用sslredirect,我不知道为什么会发生这种情况。 现在,当我从服务器部分删除redirect时,我可以访问应用程序:81,并能够login到应用程序,但是当我点击任何应用程序的链接,这将redirect到login页面。 我没有得到应用程序日志或tomcat日志中的任何日志。 如果这是nginx的redirect问题,请帮忙。
我是nginx的新手,我试图让我的第一台服务器运行。 我按照这个指南,因为我试图使用它的多站点的WordPress的网站。 安装完所有内容后,我得到一个500内部服务器错误。 如果我检查日志,我看到这个: 012/09/27 08:55:54 [error] 11565#0: *8 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "www.mydomain.com" 2012/09/27 08:59:32 [error] 11618#0: *1 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /phpmyadmin HTTP/1.1", host: "www.mydomain.com" 我的conf文件如下: […]
在StackExchange的这一边新的。 我一直试图设置一个nginx服务器作为前端http服务器,redirect到networking中的其他服务器(稍后将用于加载平衡,但现在我们只是希望代理工作), 我有以下设置的位置: location /site/ { proxy_pass http://www.mysite.com:port/site/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_max_temp_file_size 0; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } 我现在的问题是,它会在第一页(首页)和第二页(login表单)上正确加载所有内容,但是当用户login并进入第三页(仪表板)时,浏览器将无法加载内部dynamic加载的某些页面(想想jsp包含)。 有趣的是,如果我build立了一个去http://www.mysite.com:port的位置,然后通过http://localhost:8080/site/来访问它,它会加载所有内容,login和用户可以使用里面的所有东西,没有问题。 现在,你可以说,“好吧,只要让他们使用它”,但我想隐藏在另一台服务器上的页面的全名。 我怎样才能做到这一点,而没有这些文件返回错误500s? PS:代理设置为处理JBoss Aplication Server的数据。 (在这里添加这个,因为它可能是JBoss服务器不真正享受名称的代理处理)