我想要设置CGit和NGINX。 我差不多在那里,但是我的NGINX的conf文件中的重写规则有问题。 目前我有这个: server { listen 80; server_name cgit.mydomain.com; index cgit.cgi; gzip off; root /usr/share/webapps/cgit; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/cgit.cgi; location / { try_files $uri @cgit; } location @cgit { auth_basic "Restricted"; auth_basic_user_file /path/to/my/password_file; gzip off; rewrite ^/([^/]+/.*)?$ /cgit.cgi?url=$1 break; fastcgi_pass fcgiwrap; } } 我知道,当我在看demo_repo_1.git的URL应该看起来像http://cgit.mydomain.com/cgit.cgi?url=gitolite-admin.git (或类似的东西?),而是它看起来像http://cgit.mydomain.com/cgit.cgi/gitolite-admin.git/ ,它不起作用(因为在cgit.cgi脚本不能从URL读取正确的数据,并不能显示正确的关于我的回购信息。 此外,如果我强制我认为它应该(在我的浏览器中复制并粘贴“正确”的URL)的URL,下载cgit.cgi脚本。 我可以帮助一下这个重写规则吗?
我使用nginx作为tomcat6 webserver上的负载平衡器。 NGINX和TOMCAT6都被configuration为只使用HTTPS 。 在以下两个文件中提到了NGINXconfiguration设置。 nginx.conf user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## […]
我有一个从我们的EC2服务器移动文件到S3的过程,我们不知道为什么,但它将它们存储在/ tmp中,同时移动它们,但由于某种原因,一旦过程完成,它也会留在那里。 如果tmpwatch删除它们,这将是好的,但它不会。 他们进入一个名为mixtape2的文件夹,所以位置是/ tmp / mixtape2这里是我的tmpwatch现在,有人可以帮助我需要添加更改,使这发生在一天的文件? (或者如果可能的话,一旦它们被移动就可以从/ tmp中删除它们) #! /bin/sh flags=-umc /usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \ -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \ -X '/tmp/hsperfdata_*' -a -f 1d /tmp /usr/sbin/tmpwatch "$flags" 1d /var/tmp /usr/sbin/tmpwatch "$flags" -a -f 1d /tmp/mixtape2 for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do if [ -d "$d" ]; then /usr/sbin/tmpwatch "$flags" […]
我想清漆完全忽略了我的网站上的某些url。 即,www.site1.com/fileuploader和www.site2.com/fileuploader 我在同一个VCL上有4个网站,所有这些网站都使用相同的URL结构,所以唯一改变的就是域本身,我想让Varnish忽略的URL是一样的。 我试过了: sub vcl_recv { if (req.url ~ "^/fileuploader/\?" ) { return(pipe); } } 但它不起作用。 当试图通过它下载PDF时,我得到了一个Varnish 503 Unavailable错误(如果我没有更改configuration,我也有同样的错误)。 如果我直接使用它的端口通过nginx,它下载罚款。 以下是这次事件的清单: 16 ObjHeader – Server: nginx/1.2.7 16 ObjHeader – Date: Wed, 17 Apr 2013 11:03:40 GMT 16 ObjHeader – Content-Type: application/pdf 16 ObjHeader – Content-Length: 1078550 16 ObjHeader – X-Powered-By: PHP/5.3.23-1~dotdeb.0 16 ObjHeader – […]
我使用NGINX作为Web服务器。 我想在我的login页面中使用https ,所有其他页面都应该提供http连接。 当他键入“/ login”url前缀时,如何将用户redirect到https,然后在键入任何其他url后缀时redirect到“http”? 谢谢
我试图达到以下目的:我的服务器上的一些文件应该从一个子域(static.example.com)为了性能目的(避免cookie)提供服务。 但是,其中一些内容实际上也可以从主主机名访问。 因此,例如,文件image.png将可以通过两个访问 http://static.example.com/img/image.png和 http://www.example.com/foo/img/image.png 我可以设置一个别名,如果这实际上是全静态文件,但由于各种configuration的原因,我希望请求static.example.com是服务器完全一样的请求,同样的文件www.example.com ,这是在相同的nginxconfiguration中定义。 重写看起来很有希望,但似乎你不能重写“跨服务器”,因为这会把它变成一个客户端redirect,这可能会破坏这个练习的目的。 任何指针如何实现这个没有重复相关的configuration将不胜感激。
这是我想要实现的: 物理path: /subfolder/index.html URL按用户键入: site.com/subfolder OUTPUT:无论/subfolder/index.html的内容如何。 我读到这应该自动工作,但显然这不适用于Nginx。 (我已经在Apache上进行了testing,并且在那里自动运行。) 复制这种行为的最好方法是什么? 我需要使用重写,还是可以在configuration文件中进行简单的更改? 编辑: 这是一个链接到我的configuration文件的副本。 我知道它有索引两次提到,并且try_files部分有点奇怪。 这两件事都是来自我对不同设置的实验。
我是Nginx的新手,但有兴趣尝试一下。 我现在有Nginx监听端口80,并从/ srv / www提供一个主要的“促销网站”的静态HTML内容。 我也设置了apache2到服务内容从相同的位置localhost:8080。 在那个位置下,我有一个名为beta的文件夹,里面包含了一个Drupal的安装,我想用Apache来代替Nginx。 我已经成功地设置Nginx,以便去Apache的服务请求,并在浏览器中正确显示文件,除了任何Drupal相关的PHP文件。 info.php( <?php phpinfo(); ?> )也可以。 对于任何Drupal相关的PHP文件,我得到一个标准的500错误。 我的configuration文件为apache和nginx下面: 阿帕奇: <VirtualHost 127.0.0.1:8080> ServerAdmin webmaster@localhost DocumentRoot /srv/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /srv/www> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order […]
有一种方法可以让nginx在给定的时间内发生一定数量的stream量后停止提供文件吗? 就像 – 如果服务器在最后一天服务超过1G,就停止服务。 通过停止,我最好表示完全没有响应(就像它完全停止了一样),但是其他选项(如连接被拒绝,放慢速度或服务特定的HTTP响应代码(例如503)或类似的)也是可以的。
昨天我有一个工作优化的Nginx安装服务的网站,它非常快。 今天,我只是做了一些testing,在configuration上做了一些额外的改变(只是增加了一个redirect),现在突然间,服务器需要7或10秒来提供页面。 一旦请求被加载,页面加载速度非常快,但是在进入站点和浏览时也有10秒钟的挂起。 这是我第一个使用fastcgi的nginxconfiguration,我不知道发生了什么,因为我处于debugging模式,而且我看到的唯一信息是错误日志中的信息消息,没有任何错误或警报。 所有你可以在代码中看到的重写都在昨天,所以我想这不是问题。 你认为我的代码是错误的格式? 我会在这里发布configuration,并希望有人可以给我一个暗示…谢谢。 user www-data; worker_processes 2; error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; worker_rlimit_nofile 30000; events { worker_connections 4096; } http { perl_modules perl; perl_require JavaScript/Minifier.pm; perl_require CSS/Minifier.pm; perl_require JSMinify.pm; perl_require CSSMinify.pm; include mime.types; default_type application/octet-stream; #log_format main '$remote_addr – $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent […]