我在域的子文件夹中的dynamic数量的Joomla安装。 例如: http://site/joomla_1/ http://site/joomla_2/ http://site/joomla_3/ … 目前我有以下的工作configuration: index index.php; location / { index index.php index.html index.htm; } location /joomla_1/ { try_files $uri $uri/ /joomla_1/index.php?q=$uri&$args; } location /joomla_2/ { try_files $uri $uri/ /joomla_2/index.php?q=$uri&$args; } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm/joomla.sock; … } 我试图将joomla_N规则合并为一个: location ~ ^/(joomla_[^/]+)/ { try_files $uri $uri/ /$1/index.php?q=$uri&$args; } 但服务器开始按原样返回index.php(不调用php-fpm)。 看起来nginx停止了第一个匹配之后的正则expression式规则的处理。 有什么办法可以将这个规则与正则expression式结合起来吗?
我已经在Martin Fjordvald的指南中设置了Nginx和上传模块,但是每当我提交一个文件,我都会收到Nginx的通用“404 Not Found”页面。 该文件没有上传。 这是我的nginx.conf: user nginx nginx; worker_processes 1; worker_rlimit_nofile 20000; pid /var/run/nginx.pid; events { worker_connections 2048; } http { include mime.types; default_type application/octet-stream; client_max_body_size 64M; sendfile on; tcp_nopush on; keepalive_timeout 3; gzip on; gzip_comp_level 2; gzip_proxied any; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; server_tokens off; # Allocate RAM for upload […]
我代表我的pipe理员发布了一个问题。 基本上,他想要设置Django应用程序(在Django 1.3上制作,但是将转移到Django 1.4,所以这两个应用程序中的哪一个应该工作,我希望)在安装在Amazon EC2上的nginx上的WSGI上。 当使用Django的开发服务器(例如使用./manage.py runserver 0.0.0.0:8080 )时,应用程序运行正常,Apache也正常工作。 唯一的问题是nginx,而且看起来nginx / WSGI或Djangoconfiguration还有其他问题。 他的描述如下: 服务器已根据许多教程进行了configuration,但不幸的是,Nginx和uWSGI仍然不能与应用程序一起工作。 ProjectName.py: import os, sys, wsgi os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ProjectName.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application() 我通过命令运行uWSGI: uwsgi -x /etc/uwsgi/apps-enabled/projectname.xml XML文件: <uwsgi> <chdir>/home/projectname</chdir> <pythonpath>/usr/local/lib/python2.7</pythonpath> <socket>127.0.0.1:8001</socket> <daemonize>/var/log/uwsgi/proJectname.log</daemonize> <processes>1</processes> <uid>33</uid> <gid>33</gid> <enable-threads/> <master/> <vacuum/> <harakiri>120</harakiri> <max-requests>5000</max-requests> <vhost/> </uwsgi> 在来自uWSGI的日志中: *** no app loaded. going in […]
我不是很熟悉使用nginx或varnish,但这是我目前的设置。 我有一个node.js服务器正在运行json,html模板或socket.io事件。 然后我有nginx运行在服务所有静态内容(CSS,JS等)的节点前面。 在这一点上,我想将静态内容和dynamic内容都caching到内存中。 这是我的理解,清漆可以caching静态内容相当好,它不会需要触摸我的应用程序代码。 我也认为它也可以cachingdynamic内容,但不能有任何cookie头? 目前我使用redis来保存会话数据,并计划在将来使用它来处理其他事情,比如logging非关键但有趣的统计信息。 我只是不知道我应该如何caching网站上的所有内容。 我认为这归结于这些select,但可能会有更多: 抛出nginx前的清漆,让清漆caching静态页面,没有应用程序代码的变化。 Redis会cachingdynamic数据库调用,这将需要修改我的应用程序代码。 完全忽略使用清漆并让redis处理caching所有内容,然后使用其中一个nginx-redis模块。 我不确定这是否需要大量的应用程序代码更改(对于静态文件)。 我没有find比较nginx + varnish vs nginx + redis的基准,我也没有经验来自己动手(我的configuration可能性很高)。 我基本上正在寻找在req / sec方面最高效的解决scheme,并且在将来可以扩展(在问题中抛出新的硬件+也许可以在configuration=新服务器上调整一些值,并且无痛地运行) 。
我正在托pipe一个正在发送适当的caching控制标题的REST服务。 我使用Varnish作为Web服务器前面的caching服务器。 但是,清漆的限制是它不支持cachingHTTP POST和HTTP PUT。 有没有其他caching服务器可以caching这些请求? 我知道,cachingPOST是有点棘手,因为你不能只是caching基于URL作为一个关键像GET; 它需要实际检查请求主体。 在multipart/form-data请求的情况下,caching请求体的大小应该是有限制的(这样大file upload等不会被caching)。 不过,我真的希望能够caching简短的HTTP POST,或者至less是application/x-www-form-urlencoded 。
我要用我的web应用程序使用SSL。 如果我有nginx作为Jetty的代理,我必须configurationJetty使用SSL,还是可以将SSLstream量从nginxredirect到Jetty作为HTTPstream量?
我的WordPress的MU设置,与Nginx,显示一个空白页面,以下错误和访问日志条目。 "GET / HTTP/1.1" **302** 293 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19" "GET /favicon.ico HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19" 在主页面上,在WordPress中打开debugging后,我得到以下警告(不知道他们是否正在创build问题) Notice: Undefined index: HTTPS in /home/optimizebuzz/public_html/wp-content/plugins/wp-super-cache/wp-cache-phase1.php on line 526 Notice: Undefined index: HTTP_X_FORWARDED_PROTO in /home/optimizebuzz/public_html/wp-content/plugins/wp-super-cache/wp-cache-phase1.php on line 526 这里是我对nginx的configuration: nginx.conf : […]
我正在尝试在12.04上安装nginx和乘客支持 我以前使用过brightbox回购,但现在不起作用。 我也试过ppa:nginx / stable,但是当我尝试运行sudo apt-get install nginx-passenger我得到: 正在读取软件包列表…完成 build立依赖关系树 阅读状态信息…完成 有些软件包无法安装。 这可能意味着你有 要求一个不可能的情况,或者如果你正在使用unstable 一些所需的软件包尚未创build的分布 或已被移出Incoming。 以下信息可能有助于解决这种情况: 以下软件包具有未满足的依赖关系: nginx-passenger:取决于:nginx-common(= 1.0.14-1ppa1〜precise),但要安装1.2.0-1ppa1〜precise 取决于:ruby-passenger(> 3.0.11debian),但不能安装 E:无法纠正问题,你已经拿破包了。 关于搁置的最后一部分似乎是无效的, dpkg –get-selections | grep hold dpkg –get-selections | grep hold : netatalk hold 并searchnginx显示他们列为deinstall 。 我究竟如何解决这个问题?
我有一台服务器: server { listen 80; ## listen for ipv4 listen [::]:80 default ipv6only=on; ## listen for ipv6 access_log /var/log/nginx/localhost.access.log; location ~* \.(png|ico)$ { root /home/anatoly/gyazo; } location / { proxy_pass http://127.0.0.1:8080; 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; } } 现在我的静态内容(一些图片)可以在网站的根目录上,但是如何configurationnginx使静态内容可用于特定的url? 例如website.com/static/*.png 我在nginx文档中发现了rewrite命令,但是我无法使用它。
我有包含 – 字符的域名。 例如my-domain.com。 当我使用重写时,Nginx错误地重写URL,浏览器被redirect到my.com而不是my-domain.com。 我的重写规则有什么问题? server { listen 80; server_name www.my-domain.com; rewrite ^/(.*) https://www.my-domain.com permanent; }