Articles of nginx

nginx在proxy_pass时添加url的path

我有nginx中的proxy_pass: upstream svnserver { server 10.0.1.90; } server { server_name svn.domain.com; listen 443 ssl; root /var/www/html; error_log /var/log/nginx/svn.error.log; rewrite /(.*) /svn/$1? break; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://svnserver/svn$request_uri; } } 我只想在访问svn.domain.com时添加/ svnpath到URL,所以最终的URL将是http://svn.domain.com/svn 。 我试图添加这个rewrite /(.*) /svn/$1? break; rewrite /(.*) /svn/$1? break; 但看起来不起作用。 是否有可能做到这一点与proxy_pass和重写? 谢谢

Nginx的子域configuration没有被拾起/工作

我试图设置一个子域的服务器块,但nginx似乎没有拿起configuration(正确)。 它所做的只是拾取可用的第一个configuration块,并将其设置为适当的configuration。 我的DNSlogging如下: http : //imgur.com/oJF46eU 我的虚拟主机块如下所示: server { listen 80; server_name stage.remykooistra.nl www.stage.remykooistra.nl; root /var/www/stage.remykooistra.nl; index index.html index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ /(cronjobs|config|lib|app/code){ deny all; return 404; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } 这几乎是所有我的服务器块使用基本相同的设置,有一些例外,如SSL和其他被拒绝的文件夹等。 我希望有人能指出我在这里做错了什么,因为我很困惑,为什么它没有select正确的configuration。

nginx:将没有子域名的httpsstream量redirect到子域名(非www到www)

我目前的SSL证书覆盖了子域名www.example.com和static.example.com 因此,如果用户尝试通过https://example.com访问我的网站,我想将他redirect到https://www.example.com 。 我如何在我的nginx conf中做到这一点? 我知道这里有类似的问题,但我在这里找不到解决scheme。

新的SSL,Safari无法打开页面B / C服务器意外地丢弃了连接(子域)

经过大量的search和Serverfault浏览我仍然有一个SSL问题: Safari根本无法打开该页面,Firefox在5分钟不活动(不浏览任何内容)之后会发出“安全连接失败”的提示。 Chrome / Chromium返回403错误,然后快速重新加载页面,一切正常。 它是在Comodo安装SSL证书后发生的。 您可以在这里看到报告: https : //www.ssllabs.com/ssltest/analyze.html?d=marketplace.mercicapitaine.fr&hideResults=on SSL购物者都很好: https : //www.sslshopper.com/ssl-checker.html#hostname=marketplace.mercicapitaine.fr TLS是1.2 SSLlabs说:“服务器不支持参考浏览器的前向保密。” 和“此服务器支持弱Diffie-Hellman(DH)密钥交换参数”。 我做了一个TCP dump,但是我很难理解它.. 我不是一个服务器的人,所以任何提示如何debugging/跟踪错误是值得欢迎的。 它在NGINX上托pipe,没有什么特别的错误日志。 非常感谢您的时间:) 编辑: nginxconfiguration: server { listen *:80; listen *:443 ssl; ssl_certificate /home/ubuntu/ssl_2016/ssl-bundle.crt; ssl_certificate_key /home/ubuntu/ssl_2016/mckey.key; server_name marketplace.mercicapitaine.fr; access_log /var/log/nginx/marketplacemercicapitainefr.access.log; error_log /var/log/nginx/marketplacemercicapitainefr.error.log; root /srv/marketapp/; index index.html index.htm index.php; fastcgi_buffers 16 16k; fastcgi_buffer_size 16k; fastcgi_read_timeout 900; client_max_body_size […]

Nginx的configuration子域performance出奇怪的行为

我有两个相同的小滴在数字海洋上运行。 运行Ubuntu 14.04与nginx,gunicorn和Django。 我试图把我的一个子域放到一个水滴的IP上。 在另一个液滴,我已经成功地停放了一个子域,并且按照预期工作。 现在,问题小滴似乎只能通过液滴的IP地址正确连接。 通过访问IP地址,gunicorn实例可以被完美地看到,并且代理到gunicorn端口:9000不需要访问它。 通过访问在我的域名注册商处添加了一个Alogging的子域,指向这个液滴的IP,我被nginx的欢迎页面欢迎,说nginx需要更多的configuration。 通过访问子域名并附加gunicorn端口:9000我被Django应用程序迎接,但是它不像当访问液滴的IP地址时那样提供静态文件。 另外,如果我访问IP地址并追加:9000端口,它具有相同的效果。 我对nginx的configuration在两个水滴上是相同的,唯一的区别是server_name的IP地址。 server { server_name *.*.*.*; access_log off; location /static { alias /opt/venv/static; } location /media { alias /opt/venv/media; } location / { proxy_pass http://$server_name:9000; 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; proxy_set_header X-Forwarded-Host $server_name; } } 我也试图设置server_name到子域也是无济于事。 我错过了什么吗? 为什么这个工作在一个液滴而不是另一个? 编辑:添加configuration为gunicorn command […]

使用httperf的Nginx压力testing – Apache服务器的大数据传输差异

我在四核Nginx服务器上运行一个简单的httperf压力testing,指向一个HTML / PHP文档。 大的连接速度很快开始出现高连接和响应时间(请参阅下面结果中的中间连接时间和答复时间)。 是什么让这个令人费解的是,当一个Apache服务器重复testing服务相同的内容。 Apache服务器并没有相对的分心。 我注意到唯一的区别是在testingNginx服务器时(3315.6 KB / s vs 55.5 KB / s)的“Net I / O”值。 响应时间也有“转移”(849.6 ms)的巨大贡献,而Apache服务器的“0.0”在那里。 我的第一个想法是,networkingcaching不能在Nginx服务器上工作,导致更多的数据被传输,但事实并非如此,而且httperf也不是浏览器。 我的Nginxconfiguration理论上应该能够处理这个压力testing就好了。 我怀疑数据传输量是性能差的原因。 所以我的问题是:关于一个Nginxconfiguration,可以解释这个数据传输/内容长度的差异相对于Apache服务器托pipe相同的内容? 以下是两台服务器上的httperf结果,用于1000个连接的简单10秒testing: NGINX httperf –hog –server xxx.xxx.xxx.xxx –uri /test.html –num-conns 1000 –rate 100 httperf –hog –client=0/1 –server=xxx.xxx.xxx.xxx –port=80 –uri=/test.html –rate=100 –send-buffer=4096 –recv-buffer=16384 –num-conns=1000 –num-calls=1 httperf: warning: open file limit > FD_SETSIZE; limiting […]

nginx + php-fpm非常慢

我有一个非常低级的VPS – 1GB内存和1个CPU(30gb SSD,运行CentOS(v7.2.1511))。 服务器只有服务器php-fpm(v5.4.16)和nginx(1.6.3)。 Mysql和Mongo数据库位于另一台服务器上。 我知道我的服务器规格非常低,但是我每秒获得的性能低于1个,速度非常慢 – 大约需要20秒来运行PHP脚本。 静态内容运行速度非常快。 这是永恒的dynamic内容。 这是我的configuration文件: # php-fpm.d/www.conf: listen = /var/run/php-fpm/php-fpm.sock pm = dynamic pm.start_servers = 3 pm.min_spare_servers = 2 pm.max_spare_servers = 5 pm.max_children = 5 php_value[session.session_handler] = files # nginx.conf worker_processes = 1 events { worker_connections = 512; } http { log_format main '$remote_addr – $remote_user [$time_local] "$request" […]

Nginx的位置前缀问题

我注意到在我的错误日志中,一些请求的图标。 正在寻找各种目录中的文件(而不是根目录)。 我使用了“grep”,并检查了我的服务器文件和所有的meta标签等,它们都指向/favicon.ico 所以我通过这样做解决了这个问题: location ~* favicon\.(.*) { expires 365d; etag on; try_files /favicon.ico =404; } 我想要做的是使用下面的前缀,所以我的其他正则expression式位置不search: location ^~ favicon\.(.*) 但是,这并不起作用,从来没有匹配,甚至为/ favicon。 要求。 是否可以使用“^〜”前缀,并仍然匹配“favicon。???” 在任何目录请求?

Postfix无法连接到127.0.0.1上的MariaDB

(是的, 这个问题看起来非常相似 ,但是我明白为什么我能得到这个信息,我没有得到什么,也无法亲自find任何明显的信息,所以我就是这样做的。 ) 我正在尝试在我的VPS上设置Postfix和Dovecot,决定使用MariaDB进行MySQL路由。 按照这个指南 ,这似乎很好。 尽可能用postmaptestingDBconfiguration文件,当服务器只是拒绝连接。 这是我得到的错误信息; postmap: warning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (111 "Connection refused") postmap: fatal: table mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf: query error: Transport endpoint is not connected MariaDB的configuration文件设置为与127.0.0.1绑定,我为127.0.0.1打开了3306,甚至试图完全禁用防火墙而没有任何改变。 看来这个IP和端口不能怪,那么我认为这个“传输端点”一定是罪魁祸首 – 如果这不是引用IP /端口的另一种方式。 如果任何人有什么我可以尝试解决这个问题的build议,我会非常感激。 编辑:如果它有什么区别,我也使用nginx。 编辑II:“服务MySQL状态”的结果: * /usr/bin/mysqladmin Ver 9.1 Distrib 10.1.11-MariaDB, for debian-linux-gnu on x86_64 […]

是否可以压缩nginx fastcgi_cache的caching文件

可以压缩/ gzip通过nginx fastcgi_cache托pipe的caching文件吗? 我正在考虑保存两个版本的caching文件(正常和压缩),并使用适当的键结构来提供最适合的版本。 这样,我们可以节省时间+ CPU提供压缩文件。