Articles of nginx

针对Nginx的专用caching,适用于所有请求

我使用Nginx作为我的主要networking服务器。 我需要caching一些特殊的数据,我需要将所有请求中的数据存储在一个caching中,并从caching中检索。 在每个请求中,我将searchcaching,如果我find了数据,我将使用该数据做出响应,如果我没有find,我会向另一个服务器请求数据。 就像一个数据库(我的解决scheme之一是使用DBMS)我想知道是否有一个好的解决scheme来caching这样的数据,以一种能够响应很多同时请求的方式,一样快可能。

运行在Debian lenny上的Nginx,如何添加SSL?

前段时间我在Debian lenny上安装了Nginx和Passenger … sudo apt-get install nginx sudo gem install passenger sudo passenger-install-nginx-module 这是我做nginx -V时候得到的 nginx version: nginx/0.7.61 built by gcc 4.3.2 (Debian 4.3.2-1.1) configure arguments: –prefix=/opt/nginx –with-pcre=/tmp/pcre-7.8 –add-module=/usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/nginx 现在我想为Nginx添加SSL支持,什么是最好,最简单的方法呢?

如何在Ubuntu上configurationnginx

我已经在Ubuntu 11.04系统上安装了Nginx服务器。 默认的目录是/usr/share/nginx/www ,但是我希望Nginx服务器能像Apache web服务器一样访问http://localhost的文件夹。 那么如何configuration呢? 我的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 […]

nginx / fastCGI两个域,一个代码库和一个子目录

我有一个运行在Nginx,FastCGI和php-fpm上的网站,其上有许多子目录(通过与网站其他部分相同的前端控制器运行)。 http://www.example.com/ – 主要网站 http://www.example.com/sub/site/ – 微型网站 我正在寻找一个configuration,允许其中一个子站点从一个替代的URL,如http://site.johndoe.com/ – 同一个站点,与相同的前端控制器生产它(磁盘上给定位置的index.php),但仅将http://www.example.com/sub/site/的内容显示为新域。 总之 , http : //site.johndoe.com需要透明地显示http://www.example.com/sub/site/的内容 – 需要重写和其他server{}configuration的Nginx / FastCGI的?

是否可以使用Apache / Nginx / Lighttpd过滤/编辑网页内容?

是否可以使用以下任何一种HTTP服务器:Apache,Nginx或Lighttpd作为代理进行以下操作: 根据其内容(例如单词)禁止某些HTTP主体(网页) 将某些内容replace为另一个内容(例如,通过正则expression式) 不仅可以使用核心function,而且可以使用模块。 另外,我可能会考虑编写自己的模块,所以如果为这些服务器编写这样一个模块是很容易的。 我知道Squid + DansGuardian / SquidGard允许这个,但我对提到的软件感兴趣。

如何在HTTP服务器级别重写HTML?

我正在使用Nginx构build一个个人网站,我希望可以select通过HTTP和HTTPS提供相同的内容。 但是,我正在使用的内容pipe理系统将大量的URI存储为HTTP。 这会导致使用HTTPS时出现大量混合内容,最终导致整个页面通过HTTP提供服务。 我正在考虑使用持久化的Perl脚本来充当代理,并在服务时重写HTML。 替代似乎是find或编写我安装的每个Web软件包的插件。 有没有更好的方法去做这件事?

Nginx的服务器configuration – 重写问题

我有以下服务器configuration: server { listen 80; server_name mysite.proj; location / { root /path/to/mysite.proj/www; index index.php index.html index.htm; } access_log /path/to/mysite.proj/data/logs/access.log; error_log /path/to/mysite.proj/data/logs/error.log; if (!-e $request_filename) { rewrite ^(.+)$ /index.php last; } location ~ \.php$ { root /path/to/mysite.proj/www; fastcgi_pass 127.0.0.1:8081; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /path/to/mysite.proj/www$fastcgi_script_name; include fastcgi_params; } } server { listen 80; server_name www.mysite.proj; rewrite ^/(.*) […]

如何设置一个用户可以用正确的默认权限编辑多个站点的文件?

我怎样才能达到这个设置: 有一个主要的用户,我用ssh到服务器和编辑多个网站的所有文件。 各个站点都存储在/srv/www目录中,因此/srv/www/site1 , /srv/www/site2 。 Nginx会使用不同的用户创build每个站点来运行站点(显然这对安全性有好处)。 我希望能够将/srv/www/site1所有文件归属于site1用户,并且属于site1组。 我想能够编辑这些文件,并与我的主要用户创build新的,同时仍然保持所有者site1和组site1。 我知道我需要设置默认的umask ,我可能需要添加我的主要用户到每个网站的组,但我似乎无法做到这一点。 任何帮助,或者这是一个好主意?

如何使用Nginx设置phpMyAdmin?

我在phpMyAdmin的virtuals.conf中创build了一个条目,并重新启动了Nginx,但是我实际上无法获得它到服务器phpMyAdmin。 PHP是安装和Nginx的fast-cgiconfiguration,virtuals.conf条目语法检查正常,和MySQL服务器正在运行。 另外FWIW,centos是我正在运行的CentOS VM的主机名。 这是我的项目看起来像: server { listen 80; server_name mysql.centos; location / { root /usr/share/phpMyAdmin; index index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$fastcgi_script_name; include fastcgi_params; } }

较新的nginx(1.0.6)没有在ubuntu服务器上运行

安装nginx 0.8.54从Ubuntu的回购apt-get。 执行命令“passenger-install-nginx-module”安装了nginx 1.0.6(我相信)。 然而重启之后,nginx -v仍然显示0.8.54版本。 如何启动nginx 1.0.6? 在/ opt / nginx / sbin下启动nginx的错误是1.0.6(停止当前的nginx服务器之后): dtt@ubuntu:/etc$ sudo /opt/nginx/sbin/nginx nginx : [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx : [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx : [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx : […]