如果你使用Nginx,你会面临什么问题

时间:2010-08-13 作者:Sudhanshu

WordPress非常占用内存,我一直在考虑使用nginx而不是apache。

在这样做之前,一个主要的考虑因素是是否有任何插件会停止工作。我已经测试了一些,它们似乎有效,但我需要找出是否有任何可能损坏的。

7 个回复
最合适的回答,由SO网友:MikeSchinkel 整理而成

遗憾的是,我没有这方面的经验,但显然可以做到,因为这些文章和插件解决了一些问题:

您也熟悉WP Engine WordPress hosting? 很明显,他们将其与Apache混合使用,可能作为前端代理。

SO网友:Vid Luther

小世界:)。Nginx和Apache+Wordpress不会有太多问题。我们也为我们的公司使用它,我们可以让一台服务器为一个站点每月20万个unique和每月100多万个页面浏览量提供服务。Nginx+W3总缓存,您会得到一些非常显著的数字。

SO网友:Viper007Bond

最大的区别是重写规则,但有很多指南(如Mike链接的指南)可以为您提供等效的重写规则。

从插件的角度来看,除非插件正在做什么really 疯了,那它就不应该知道有什么区别了。所有内部重写规则和这类内容都是在WordPress级别处理的,与您的HTTPD无关。

简而言之,努力吧。

SO网友:hakre

使用Nginx不会使Wordpress使用更少的内存。如果您担心内存问题,可以通过优化Apache配置来节省一些服务器方面的资源,只加载您需要的模块,并进行其他配置来减少Apache所需的内存。

除此之外,Apache还有值得考虑的缓存模块,以便保存WordPress在调用时使用的所有内存。由于WordPress输出get是缓存的,WordPress不需要再运行,您可以节省内存。

SO网友:Chris_O

当WordPress检测到mod\\u rewrite未加载时,它会返回到Permalink设置页面中的路径信息,即:(/index.php/%postname%/)permalinks。您可以使用nginx Compatibility强制WordPress使用permalinks的插件,然后将重写规则添加到nginx服务器文件:

server { server_name mysite.com;

root /path/to/blog;

index index.php;

location / {
    try_files $uri $uri/ @wordpress;
}

location @wordpress {
    fastcgi_pass ...;
    fastcgi_param SCRIPT_FILENAME $document_root/index.php;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_NAME /index.php;
}

location ~ \\.php$ {
    try_files $uri @wordpress;
    fastcgi_index index.php;
    fastcgi_pass ...;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
}

}

SO网友:PJ Brunet

这些文件是用俄语写的,有些模糊。有时你会想,翻译是否很糟糕,或者文档是否一开始就不是很明确。因此,找到答案有时很耗时,并且/或者需要反复测试。

然而,作者似乎非常关注社区,解释配置选项。NginX本身会给你一些反馈,比如“你不能在这里使用这个选项。”

SO网友:Arvind

I have done research for Ngnix, varnish caching enabled wordpress setup.

wordpress的Nginx Virtualhost配置。

server {
        listen 127.0.0.1:8080 default_server;
        listen [::]:8080 default_server;
         root /var/www/html/wordpress;
        index index.php index.html index.htm;
        server_name yourdomain.com www.yourdomain.com;
        location / {
                        try_files $uri $uri/ /index.php?$args;
                }
         location ~ \\.php$ {
                                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                                fastcgi_index index.php;
                                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                                fastcgi_param PATH_INFO $fastcgi_path_info;
                                include fastcgi_params;
                            }
}
安装varnish open file/etc/default/varnish,如下所示进行配置。

DAEMON_OPTS="-a :80 \\
             -T localhost:6082 \\
             -f /etc/varnish/default.vcl \\
             -S /etc/varnish/secret \\
             -s malloc,256m"
检查正在运行的端口。

netstat -ntulp
如果找不到netstat命令。

sudo apt-get install -y net-tools

结束

相关推荐