我有这个example.com域。 我使用Nginx安装Wordpress,在example.com 。 我安装了Deluge,Deluge WebUI,默认端口是8112,而example.com:8112对Deluge Web UI也是一样。 我没有在Deluge上为Nginx安装Python,Deluge有它自己的Web服务器(我想)。 不过, 我想能够使用从subdomain.example.com Deluge WebUI,而不是( example.com:8112或subdomain.example.com:8112 )。 如果另一个解决scheme能够继续工作,我也不会太在意,但是对于我来说真正重要的是在subdomain.example.com提供一个可用的Deluge Web UI 默认情况下,即使Nginx停止, subdomain.example.com:8112和example.com:8112正常工作,并将其redirect到Deluge WebUI。 然而,我无法用默认端口(80/443)代理Nginx,在8112收听。 我尝试了很多Nginx的解决scheme,甚至设法redirect到Deluge网页,但是我看到的只是一个空白页面(尽pipe使用开发工具检查它,我发现里面有大量的代码,里面的url /somewhere/something.css也在工作)。 这甚至不是一个权限的问题,因为(在做一个备份副本,以正确地恢复他们),我甚至试图给-R 777在洪水的Web目录。 前面的空白页实际上有一些JavaScript错误,可能是阻塞,但他们工作在端口8112,所以也许是一些JavaScript不redirect到正确的端口? 这是我试过的Nginxconfiguration之一。 我尝试了很多,我无法列出所有可能的尝试。 server { listen 80; server_name subdomain.example.com ; ## redirect http to https ## rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443; server_name subdomain.example.com ; root /usr/share/pyshared/deluge/ui/web; […]
我已经在我的VPS上安装了Wordpress,并且使用apache2平稳运行。 但是最近,我意识到它消耗了太多的RAM(7-8会话〜600MB),所以我决定改用Nginx。 改变几天后,工作正常,没有任何问题,但突然昨天,pipe理页面布局被破坏。 我看着控制台日志,发现了这个问题:Uncaught SyntaxError:意外的input结束,文件是wp-admin / load-scripts.php。 您可以像访问该文件一样 http://vietnammechkey.com/wp-admin/load-scripts.php?c=0&load%5B%5D=jquery-core,jquery-migrate,utils,json2&ver=3.8.2 [Nginx] http://vietnammechkey.com:8888/wp-admin/load-scripts.php?c=0&load%5B%5D=jquery-core,jquery-migrate,utils,json2&ver=3.8.2 [Apache2] 如果我使用Apache2,文件将会更长,如果我使用nginx,文件将会被分类 注意:Wordpress完美地在Apache2上运行。
我在CentOS 6 64bit VPS 4GB内存上运行小型本地新闻博客。 最近,网站每天的访客数量从5K增长到10K-15K。 网站开始与504 Gateway Timeout崩溃。 错误日志显示request failed: error reading the headers错误时出错。 这是顶级节目 Tasks: 65 total, 1 running, 64 sleeping, 0 stopped, 0 zombie Cpu(s): 0.1%us, 0.4%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4194304k total, 217440k used, 3976864k free, 0k buffers Swap: 4194304k total, 0k used, 4194304k free, 119688k cached PID […]
我需要能够使用$request_uri顶级目录,例如: /dir/sub/slug – > /dir 我读了这个问题的答案: 如何从请求中提取只有文件名uri # Gets the basename of the original request map $request_uri $request_basename { ~/(?<captured_request_basename>[^/?]*)(?:\?|$) $captured_request_basename; } # Gets the basename of the current uri map $uri $basename { ~/(?<captured_basename>[^/]*)$ $captured_basename; } 它似乎与我所需要的接近,这是如何工作的? 是否有可能被修改,以获得顶部目录呢? 谢谢!
我正在尝试使用nginx设置子文件夹的基本身份validation。 location ^~ /Docs/ { auth_basic "Restricted Area"; auth_basic_user_file /var/www/Docs/.htpasswd; //also tried the path in quotes } 我已经尝试了很多方法来生成一个密码(例如apache的htpasswd ),但我无法使用.htpasswd中指定的用户名和密码login/ Docs。 我看到“限制区域”的validation对话框,但密码不被接受。 我试过这里的方法:
在我的服务器上,对mydomain.com和www.mydomain.com的所有请求都正确地转到我的服务器的IP地址,并且内容显示正确。 但是,如果直接进入服务器的IP,则“欢迎使用nginx!” 显示默认页面。 我希望直接向服务器的IP请求显示正确的内容。 我的服务器configuration位于下方。 我还应该提到,仅仅在“server_name”行中的“mydomain.com”之后添加公共IP或“0.0.0.0”不会改变任何内容。 谢谢。 server { listen 443 ssl spdy; root /var/www; server_name mydomain.com www.mydomain.com; ssl_certificate /etc/nginx/ssl/ssl.crt; ssl_certificate_key /etc/nginx/ssl/ssl.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:ECDH-ECDSA-RC4-SHA:ECDH-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:RC4-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!CBC:!EDH:!kEDH:!PSK:!SRP:!kECDH; ssl_prefer_server_ciphers on; keepalive_timeout 70; include /var/www/wp-content/plugins/better-wp-security/rules.conf; location / { try_files $uri $uri/ /index.php?q=$uri&$args; index index.php index.html index.htm; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; […]
当我尝试查看我的网站主页时,我得到以下错误dislayed: 502错误的网关 Nginx 在/ var / log / nginxfind的错误日志显示消息:* 2014/04/21 10:30:39 [error] 3807#0: 228上游发送无效头,从上游读取响应头,客户端:95.136.96.5 ,server:agronegocios.eu,请求:“GET / HTTP / 1.1”,上游:(MyIPaddress):7080 /“,主机:”agronegocios.eu“ 我的环境:CentOS 6.5; PHP 5.3.3; nginx的/ 1.5.0; MySQL 5.1.73; Joomla 3.2.3任何人都知道我该如何摆脱这个问题? 我见过一些相关的问题和答案,但没有一个是同样的问题…(也是我不是在Linux服务器上的专家…)。 谢谢。 我的nginx.conf文件: #user nginx; worker_processes 1; #error_log /var/log/nginx/error.log; #error_log /var/log/nginx/error.log notice; #error_log /var/log/nginx/error.log info; #pid /var/run/nginx.pid; events { worker_connections 1024; } http { include […]
我想为我的域名如Tomcat服务器设置一个Nginx代理服务器 example.com/demo/sample example.com/demo/manager example.com/demo/other_apps … 这是我的Nginx server blockconfiguration server { listen 80; server_name example.com; location /demo/ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_pass http://IP_ADD_TOMCAT_SERVER:8080/; } location ~ /\.ht { deny all; } ## Only allow these request methods ## if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } […]
我有一个Nginx负载平衡器负载平衡两个服务于PHP内容(Moodle)的nginx服务器。 他们共享相同的数据库,并使用一个单独的服务器上的NFS共享使用相同的会话目录。 我正在运行PHP 5.4.1和最新版本的Moodle。 现在负载平衡工作得很好,我可以使用代理访问两个工作节点。 但是,当login到Moodle时,我收到一个错误,指出cookies被禁用。 他们显然不是,login到其中一个工作节点工作得很好。 当单独访问节点时,MoodleSession cookie被设置,但是当通过负载平衡器访问它时,根本没有设置cookie。 我曾尝试更改Cookie模式以使用MySQL数据库,但这也不起作用。 我能做些什么获得多个工人节点来设置服务器存储在公共目录(NFS)的Cookie?
假设在我的nginx服务器上,我想完成这两个要求: 1)所有*.php文件将被传递给PHP解释器 2)目录/private/将需要httpauthentication 如果我写 location /private/ { auth_basic "Restricted"; …. } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; …. more settings } 然后(如果我没有错)authentication将只适用于非PHP文件。 如果相反,我将^~标志添加到location块,然后我失去了PHP的位置。 这是合乎逻辑的,因为nginx只匹配一个位置块。 看来,剩下的唯一select是使用嵌套的位置: location /private/ { auth_basic "Restricted"; …. location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; …. more settings } } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; …. more settings } 我不喜欢这么多,因为它对我来说看起来不够优雅和脆弱:每次我添加一个受保护的目录位置(或者一些具有特殊设置的目录)时,我必须记住为PHP添加嵌套的位置(也许还有其他文件types)。 但似乎是唯一的出路。 这是吗? […]