Articles of nginx

Nginx,www-data,以及担心在同一个家长下托pipe多个网站

我有关于我的VPS上的Nginx和www-data用户的问题。 比方说,我有一个共同的父文件夹/var/www下的两个网站siteA和siteA 。 这两个网站和父文件夹都有www-data作为用户和组。 如果siteA受到攻击/黑客攻击,黑客将能够访问siteA上的文件? 我读过另一篇文章,为了防止这种情况,我应该运行在自己的用户和组下的每个网站。 我将如何去与Nginx实现这一点? 额外: siteA是一个使用php-fpm的WordPress站点, siteB将是一个NodeJS应用程序

wp nginx fastcgicachingvs wp超级caching

我有一个512MB服务器实例与一个核心。 截至目前,我有约3个网站约10K条,在他们所有的我有超高速caching启用。 典型的caching时间是3600秒或7200秒。 和VPS实例持有就好了。 它每天只有一个CPU的60%左右的高峰。 我读过,一旦一个网站达到30K条,依靠wp超级caching,由于文件编号(linux文件系统)或类似的东西不是一个好习惯。 所以我想也许,我应该切换到使用,nginx fastcgicaching。 在他们的网站,他们推荐这是最好的做法,与wp超级caching或w3总caching相比。 考虑到公羊的数量,我有空。 你们认为fastcgicaching会是我的网站更好的select吗? 那么memcached呢? 我有php 7.1启用opcache。

cakephp&nginxconfiguration/重写规则

嗨有人请帮助我,我也问过这个在stackoverflow,但没有得到太多的回应,并辩论是否是编程或服务器相关。 我正在尝试在运行Nginx和Fact CGI的Centos服务器上设置一个cakephp环境。 我已经有一个WordPress服务器上运行的一个WordPress站点和一个phpmyadmin网站,所以我已经正确configurationPHP。 我的问题是,我不能在我的虚拟主机正确的重写规则设置,使蛋糕正确呈现页面,即样式等。 我已经尽可能多地search了一下,下面列出的站点的主要共识是我需要有下面的重写规则 location / { root /var/www/sites/somedomain.com/current; index index.php index.html; # If the file exists as a static file serve it # directly without running all # the other rewrite tests on it if (-f $request_filename) { break; } if (!-f $request_filename) { rewrite ^/(.+)$ /index.php?url=$1 last; break; } } http://blog.getintheloop.eu/2008/4/17/nginx-engine-x-rewrite-rules-for-cakephp […]

如何用nginx前端validationssl客户端证书?

我有一些URL,我喜欢使用像这样的指令在我的apacheconfigurationSSL客户端证书保护: SSLVerifyClient require SSLVerifyDepth 10 SSLRequireSSL SSLOptions +StrictRequire SSLRequire %{REMOTE_ADDR} =~ m/^127\.0\.0\.1$/ \ or ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ and %{SSL_CLIENT_I_DN_CN} eq "xxx" \ and %{SSL_CLIENT_S_DN_Email} in {"[email protected]", "[email protected]",} ) 似乎没有任何nginx指令来处理这个问题,所以我假设我必须把所有东西都传递给Apache后端。 这使我想到我的问题,如何传递encryption的ssl? 所有的代理服务器都在nginx级别解密ssl数据包,然后把它们传递给Apache。

我可以在我的nginxconfiguration上获得build议(作为Jira和Confluence前面的代理)吗?

我想知道我的nginxconfiguration是否可以得到一些build议。 configuration似乎正在工作,但我不确定如果我正在做一切正常。 基本的想法是在同一台机器上运行Jira和Confluence服务器(在单独的Tomcat实例中),前面的nginx用于处理两者的SSL。 我只想要连接到Jira / Confluence的SSL连接。 Jira在127.0.0.1:9090上运行,Confluence在127.0.0.1:8080上运行。 这里是我的nginx.conf,任何build议或提示将不胜感激。 user nginx; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; # […]

如何loggingnginx的vhost带宽?

我正在寻找一种方法来跟踪nginx Web服务器上多个虚拟主机的带宽。 我猜测有一种方法,我可以设置日志文件输出这些信息,然后我可以编写一个脚本parsing通过日志文件,并加起来的文件大小。 如果是这样的话,是否有人知道正确的日志格式,如果已经有一个脚本是这样做的?

不能用Nginx安装乘客

我有一个机架应用程序,我想从Ruby 1.8.7 + Apache +乘客迁移到Ruby 1.9.1 + Nginx +乘客。 我已经编写了一个快速安装以下脚本,并引发错误… 这里是安装脚本:(基本的一个,我需要在Ubuntu 10.04 Lucid Lynx新鲜的盒子上安装所有的步骤) Nginx的源码 cd / tmp wget http://nginx.org/download/nginx-0.7.66.tar.gz tar xzf nginx-0.7.66.tar.gz cd nginx-0.7.66 openssl是SSL / TLS所必需的 sudo apt-get install openssl sudo apt-get install libssl-dev 编译的东西 sudo apt-get zlib1g-dev Ruby解释器1.9.1 sudo apt-get install ruby​​1.9.1 ruby​​1.9.1-dev ruby​​gems1.9.1 irb1.9.1 ri1.9.1 rdoc1.9.1 build-essential nginx libopenssl-ruby1.9.1 确保默认的ruby使用版本1.9.1 sudo […]

server_name似乎在nginx中被忽略

我在nginx.conf中设置了两个域。 两者都使用SSL和自己的证书,并代理Apache。 然而,第二个域被完全忽略,nginx总是parsing到第一个域。 我看不出这个configuration有什么问题,在每种情况下都正确地设置了server_name(据我所知): http { include mime.types; default_type application/octet-stream; keepalive_timeout 65; upstream site { # real IP addresses masked server xx.xxx.x.xxx; server xx.xxx.x.xxx; } server { # this domain always works listen 443; server_name *.first-site.com; ssl on; ssl_certificate /var/ssl/first-site.crt; ssl_certificate_key /var/ssl/first-site.key; location / { access_log off; proxy_connect_timeout 15; proxy_next_upstream error; proxy_pass http://site; proxy_set_header Host […]

我如何在Nginx地图指令中使用通配符?

我正在尝试使用Nginx来处理由Web应用程序生成的caching文件,并发现了一个潜在的问题; url空间很宽,并且会超过32000个子目录的Ext3限制。 我想分解这些子目录,比方说一个两级文件系统caching。 所以,我目前在哪里caching文件 /var/cache/www/arbitrary_directory_name/index.html 我会把它存储在类似的东西 /var/cache/www/a/r/arbitrary_directory_name/index.html 我的麻烦是,我不能得到try_files ,甚至rewrite进行映射。 我在这个主题上的search使我相信我需要做这样的事情(大量缩写): http { map $request_uri $prefix { /aa* a/a; /ab* a/b; /ac* a/c; … /zz* z/z; } location / { try_files /var/cache/www/$prefix/$request_uri/index.html @fallback; # or # if (-f /var/cache/www/$prefix/$request_uri/index.html) { # rewrite ^(.*)$ /var/cache/www/$prefix/$1/index.html; # } } } 但是我不能得到/aa*模式来匹配传入的uri。 没有这个* ,它会匹配一个确切的uri,但是我不能把它匹配到前两个字符。 Nginx的文档build议应该允许使用通配符,但是我看不到让他们工作的方法。 有没有办法做到这一点? 我错过了一些简单的东西吗 或者我正在做这个错误的方式?

在nginx上redirect服务

我有一个从我的网站上的相对urlredirect到其他绝对url的dynamic列表: my_website_url_1 –> other_website_url_1 … my_website_url_N –> other_website_url_N 该列表由数百个条目组成,每天更改数次。 (实际列表在数据库中,但可以在文本文件或任何forms的舒适。) “我的网站”是一个nginx服务器。 我正在寻找一个强大的解决scheme,将redirect列表更改部署到nginx服务器而不中断服务。 有什么build议? 用别的东西replacenginx是一个选项。