Articles of nginx

Django / uWSGI – 给出502状态码的Nginx:error.log表示“权限被拒绝”

我试图设置我的Django应用程序使用uWSGI和Nginx。 我正在学习这个教程: http : //uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html 我在“使用Unix套接字而不是端口”步骤。 我试过了 uwsgi –socket mysite.sock –wsgi-file test.py 但它没有工作(作为教程怀疑)。 我在看 /var/log/nginx/error.log 它说 2015/05/11 00:20:17 [crit] 1964#0: *13 connect() to unix:///home/a/Documents/CMS/CMS.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: 192.168.174.131, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:///home/a/Documents/CMS/CMS.sock:", host: "127.0.0.1:8000" 当我做 uwsgi –socket mysite.sock –wsgi-file test.py –chmod-socket=666 它工作,但是当我这样做 uwsgi –socket mysite.sock […]

Nginx的req_limit_zone白名单IP的地理模块

我已经设置nginx req_limit_zone来限制请求到我的networking服务器。 此外,我增加了地理位置白名单某些IP的请求限制不会影响这些IP。 问题是,一旦我用aptesting它,那么它将这个请求限制应用于被列入白名单的IP地址,而其他一切都不受限制。 限速configuration: geo $limited { default 1; 10.2.3.0/24 0; } map $limited $limit { 1 $binary_remote_addr; 0 ""; } limit_req_zone $limit zone=r_local:10m rate=50r/s; Vhostconfiguration: server { listen xxxx:80; server_name www.local.dev dev.local.lan ; access_log syslog:info syslog; error_log syslog:err; if ($host ~* ^local\.dev$) { rewrite ^/(.*)$ http://www.local.dev/$1; } if ($host ~* ^www\.local\.live$) { rewrite […]

CPU使用率高,并随HHVM挂起

我在Centos 7上使用phpbb,内存为512mb,内核为1。 而我有随机挂起和高CPU使用率,当我得到我干净的phpbb安装一些url。 这是我的server.hdf文件: idFile = /run/hhvm.pid Server { Port = 9000 Type = fastcgi SourceRoot = /home/deploy/www/mypage ExposeHPHP = 0 } Log { Level = Error UseLogFile = true File = /var/log/hhvm/hhvm-error.log Access { * { File = /var/log/hhvm/hhvm-access.log Format = %h %l %u %t \"%r\" %>s %b } } } Repo { Central […]

nginx:升级到新版本后出现问题

我已经使用本教程将我的nginx服务器从1.1.19升级到了1.8.0。 我的网站仍在工作。 所以我想,一切都好。 我做了谷歌速度testing,并告诉我,GZIP不上。 但是,它已经开始了。 我试图用这个命令重新加载nginx sudo服务nginx重新加载,但得到这个消息 reload: not running 停止nginx似乎也没有工作。 这是什么意思,我有什么要检查或改变? 我在Ubuntu 12.04上。 作为@ ahmed我build议这里是ps -ef | grep nginx的输出: www-data 15782 1 0 May11 ? 00:00:51 nginx: worker process www-data 15783 1 0 May11 ? 00:00:56 nginx: worker process www-data 15784 1 0 May11 ? 00:00:55 nginx: worker process root 25396 23725 0 13:36 […]

Nginx升级到1.8 – 现在得到502坏的网关

今天我把我的本地主机服务器从nginx 1.6.3升级到了1.8.0,现在我所有的本地网站都得到了一个502坏的网关。 一个标准的nginxconfiguration文件如下 server { charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4 server_name yii2.dive; root /media/Development/www/yii2/web; index index.php; access_log /media/Development/www/yii2/log/access.log combined; error_log /media/Development/www/yii2/log/error.log warn; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include fastcgi.conf; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; try_files $uri =404; } location ~ /\.(ht|svn|git) { […]

如何在局域网中正确保护与实际服务器的反向代理通信

我有Nginx作为基于主机名的请求的网关和反向代理。 但是,与LAN中的实际服务器的通信并不安全。 连接是否保持以下设置进行encryption,还是我应该在实际的Web服务器中保护Apache? 必须指出的是,局域网不能完全信任。 server { listen 443 ssl; ssl_certificate /etc/nginx/ssl/wildcard.xxxx.edu.ar.crt; ssl_certificate_key /etc/nginx/ssl/wildcard.xxxx.edu.ar.key; server_name tracker.yyyy.xxxx.edu.ar; location / { proxy_pass http://192.168.yy.xx:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 80; server_name tracker.yyy.xxxx.edu.ar; return 301 https://$server_name$request_uri; }

Nginx的代理到tomcat7 webapp安全与shiro

所以我有一个Java(Spring 4 + Shiro)Web应用程序运行在Tomcat7的专用服务器上。 我正在尝试configurationNginx,以便通过访问www.example.com而不是www.example.com/webappname来访问我的应用程序。 有了这个configuration: server { server_name www.example.com example.com; location / { proxy_pass http://localhost:8080/; } } 所有的工作,当我去www.example.com/webappname。 我可以login,一切顺利。 当我更改为: server { server_name www.example.com example.com; location / { proxy_pass http://localhost:8080/mywebappname/; proxy_redirect http://localhost:8080/mywebappname/ /; } } 我可以简单地通过www.example.com访问应用程序,shiro会自动redirects to www.example.com/login;jsessionid=CE70703C4BFBF7A258E4926324D5ECD2我可以login,但是之后点击任何链接都会导致login页面结束,就像cookies不在那里或什么的。 我无法弄清楚这一点。 有什么build议?

在Linode上缩放AngularJS + NodeJS应用程序

我开发了一个使用AngularJS + NodeJS(与MariaDB,Redis和Socket.io一起用于实时通知)的应用程序,并且我已经将它部署在单个Linode节点上。 现在我想组织架构,以便在未来stream量增加的情况下轻松扩展应用。 所以我的想法是准备一切如下: 1个Linode LoadBalancer服务器将成为主要点,并将redirect来自用户的请求 1 Linode节点服务器,我将安装Nginx,充当反向代理,redirect到同一节点中的NodeJS服务器 1个用于MariaDB和Redis服务器的Linode节点服务器 所以当我需要扩展时,我用Nginx + NodeJS添加一个新的节点。 对于MariaDB + Redis,我将设置两者的集群(我使用Redis作为会话,MariaDB作为数据)。 现在我的疑惑是: 什么是应用程序的适当架构? 我应该在哪里应用LoadBalancer或每个节点上的AngularJS应用程序? 我需要nginx充当每个节点上的反向代理吗? 谢谢!

Nginx,错误的网站服务

我有我的网站上的IP 1.2.3.4 在我的域名提供商,我有onesite.com和anothersite.com指向1.2.3.4 使用Nginx,我configuration了两个站点: server { listen 1.2.3.4:80; server_name www.oneserver.com; rewrite ^(.*) http://onserver.com$1 permanent; } server { listen 1.2.3.4:80; server_name onserver.com; location / { fastcgi_pass 127.0.0.1:8878; [..] 和: server { listen 1.2.3.4:80; server_name myapp.anotherserver.com; location / { fastcgi_pass unix:/tmp/myapp.sock; [..] 当我访问myapp.anotherserver.com时,我被redirect到oneserver.com 任何帮助?

自动缩放RTMP实时stream(NGINX-RTMP)

我正在使用Nginx的rtmp模块进行直播。 它适用于单台机器上的40-50台摄像机(AWS EC2 C3-large)。 但是,如果我有超过100个stream,我怎么能扩展我的服务器,以满足要求? 我已经尝试过使用ELB,但是一旦新机器启动后,它终止连接,启动新机器后,以循环方式发送传入请求。 我想要的是以下。 当系统的CPU利用率达到80%时启动一个新的服务器,但保持现有的连接活着。 仅当第一台服务器的CPU利用率> 80%时,才会将新请求发送到新创build的服务器。 (无循环) 我怎么能做到这一点? 感谢您的时间。