标签: wordpress

为什么 nginx 不喜欢我的 $args?

我有一个位于 的 WordPress 站点mysite.com/blog,其文件位于/var/www/mysite/wordpress. 为什么,当我访问 时mysite.com/blog/test,如果我$args从 中删除,我的嵌套位置块只会被击中try_files

server {
    server_name mysite.com;

    location /blog {
        alias /var/www/mysite/wordpress;
        try_files $uri $uri/ /blog/index.php$args;

        location ~ \.php {
            # This is only reached if I remove $args from try_files
            return 401; # For testing purposes 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是日志中的相关错误:

"/usr/share/nginx/html/index.php" failed (2: No such file or directory)

nginx wordpress

4
推荐指数
1
解决办法
4376
查看次数

wordpress nginx ssl 重定向循环

所以我正在设置一个 nginx 服务器并安装了 wordpress 和 SSL。

该站点在 http 和 https 上都可以完美运行,但是当我尝试通过 nginx 的服务器块将 http 重定向到 https 时,http 和 https 都会导致无限的重定向循环。

这是我的服务器块

    server {
    listen 80;
    return         301 $server_name$request_uri;
    listen 443 ssl spdy;
    root /var/www/wordpress;
    index index.php index.html index.htm;
    server_name www.example.com;
    ssl_session_cache shared:SSL:20m;
    ssl_session_timeout 10m;
    spdy_headers_comp 6;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_certificate /etc/ssl/certs/www.example.com.certchain.crt;
    ssl_certificate_key /etc/ssl/private/www.example.com.key;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
    add_header        Alternate-Protocol  443:npn-spdy/2;
    proxy_set_header X-Forwarded-Proto https;

    access_log   /var/log/nginx/example.com.access.log;
    error_log    /var/log/nginx/example.com.error.log;

    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html …
Run Code Online (Sandbox Code Playgroud)

ssl nginx wordpress

4
推荐指数
1
解决办法
4378
查看次数

找出瓶颈的技术是什么?

我在 Digital Ocean 上为最小的 Droplet 设置了一个 WordPress 几个月。

最近,我的博客疯传(1000+ facebook 分享),服务器需要 50 多秒才能响应。(Google Analytics 显示今天几乎一整天都有大约 40 人同时访问我的博客。)

我询问 Digital Ocean 支持团队,他们告诉我我的 512 MB RAM 太小了。

但我使用“free -m”并看到

             total       used       free     shared    buffers     cached
Mem:           490        465         24         64         94        136
-/+ buffers/cache:        234        256
Swap:          999          0        999
Run Code Online (Sandbox Code Playgroud)

所以我认为我有 256 MB 可用内存?

我告诉他们,他们说“虽然它可能显示 100MB 的可用内存,但这可能只是在它终止了一些服务以节省内存之后。”

但我使用“顶部”并看到

%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
Run Code Online (Sandbox Code Playgroud)

我发现CPU保持在92~100% id,所以我认为我的CPU不忙。

那么如何才能找到瓶颈呢?

我想在支付更多升级费用之前知道瓶颈是什么。

linux wordpress memory-usage oom

4
推荐指数
1
解决办法
5862
查看次数

我可以使用 CloudFront 为来自同一域但不同服务器的 WordPress 博客提供服务吗?

我们有一个由 Elastic Beanstalk (AWS) 提供服务的网站,它运行良好。我们使用内置负载均衡器通过 HTTPS 等方式为我们的站点提供服务。我们的数据库通过 RDS 服务进行分离,而不是与我们的 Web 服务器位于同一 EC2 实例上。到目前为止,我们对设置很满意。

现在,我们想在我们网站域(不是单独的或子域,出于 SEO 原因)的“/blog”下建立一个 WordPress 博客。我们的站点是一个定制的 PHP 应用程序(使用 Laravel 框架),我宁愿不在同一个地方同时托管 WP 应用程序和我们的站点。

我相信我们可以使用 CloudFront(亚马逊的 CDN)只为我们网站的 /blog 部分提供服务,并将这些请求路由到不同 EC2 实例上的单独 WP 安装。我已经使用 CloudFront 来做常规的 CDN 类型的东西(静态资产),但我对如何设置这种特殊类型的配置有点迷茫。

首先,这是一个疯狂的想法,还是听起来不错?其次,如果它是合理的,我需要知道什么来设置它?

wordpress amazon-cloudfront elastic-beanstalk

4
推荐指数
1
解决办法
3369
查看次数

Wordpress Docker 容器将我的请求从端口 8000 重定向到 80

我正在尝试将我的 wordpress 博客从主机转移到我自己的服务器。我想使用 docker 来完成这项任务。

在我的服务器上运行 nginx,它承载了许多与这个问题无关的服务。我使用以下脚本来创建一个容器。

#!/bin/bash

docker create --name blog \
--net bridge \
-e WORDPRESS_DB_HOST=192.168.170.11 \
-e WORDPRESS_DB_USER=USER \
-e WORDPRESS_DB_PASSWORD=PASSWORD \
-e WORDPRESS_DB_NAME=wordpress \
-v /var/www/wordpress:/var/www/html \
-p 8000:80 \
wordpress
Run Code Online (Sandbox Code Playgroud)

数据库连接有效并且 apache2 正在运行。但是我无法访问wordpress。

当我尝试访问时localhost:8000,将我重定向到80nginx 正在侦听的端口。为什么?我想连接到容器内的端口 80 (apache2)。

当我从外部尝试此操作时也是如此(如果防火墙关闭)。

另一个问题是防火墙:端口 8000/tcp 对所有 IP 都是开放的,但我来自外部的请求仍然被阻止。我必须为这个 docker 容器打开什么?

运行Docker version 17.05.0-ce, build 89658beDebian Stretch

编辑:

root@server:~/docker# curl -v http://localhost:8000
* Rebuilt URL to: http://localhost:8000/
*   Trying ::1...
* TCP_NODELAY set …
Run Code Online (Sandbox Code Playgroud)

wordpress docker

4
推荐指数
1
解决办法
9101
查看次数

替代多个 WordPress 安装(并且不使用 WordPress-mu)

我在服务器上运行了多个 WordPress 实例,用于管理跨多个域的博客(也托管在同一台服务器上)。一些域甚至将多个 WordPress 实例用作子目录。

实现这些实例的最佳方法是什么,以便它们都可以轻松保持最新状态?现在,在 WP 发布大约一两周后,我登录并从新下载的 tar.gz 手动更新每个实例。

我在所有实例之间共享的唯一内容是内容项(主题等)。我通过象征性地链接到每个实例的安装路径中的“主”内容目录来处理这个问题。

有没有办法对 WordPress 的实际代码部分做类似的事情?我相信唯一特定于实例的配置是针对要连接的数据库。

mysql linux database wordpress

3
推荐指数
1
解决办法
732
查看次数

缓慢的自托管 wordpress 网站

我们有一个很棒的网站,它已经运行了大约 5 个月,然后在 5 月份它从 3-5 秒的页面加载速度时间变成了现在令人痛苦的 15+ 秒!!!

主机真的很有帮助,甚至将站点转移到更快的新服务器!

我想好像我们没有洞察力或您的专业知识,我们会询问 Serverfault 社区,看看这群专家会推荐什么?

感谢您的任何见解,谢谢。

网站在这里:integrati.com.au

wordpress

3
推荐指数
1
解决办法
527
查看次数

用于高容量站点的可扩展 WordPress 主机?

我需要为高容量 WordPress 网站推荐可扩展的网络主机。就我而言,高流量可能是 100K-500K 访问者/小时。可能会将 1M/小时的突发速率视为“高水位线”。

我知道 WP 不是目前性能最高的平台(哈!),但它是不容商量的。我可以进行“通常的优化”(例如,将静态文件放入 CDN,运行并遵循 YSlow 等性能分析器的建议)。但它仍然是 WordPress,并且会涉及十几个插件。

那么,在哪里托管网站?大多数“最好的 WordPress 主机是什么?” 讨论似乎集中在最低成本上。我需要相反的。您使用过哪些大容量、可扩展或集群的 WordPress 主机?

web-hosting scalability wordpress high-load

3
推荐指数
1
解决办法
3355
查看次数

如何计算每个 prefork 线程需要多少 RAM 才能在 EC2 小型实例上获得最大 Wordpress 性能

只需阅读使 WordPress 在 EC2-Micro 上稳定

在“调整 Apache”部分,我不太明白他是如何为他的 prefork 配置得出他的数字的。

他解释了如何获得我得到的平均过程的数字。但是之后:

或者每个进程大约 53MB...在这种情况下,十个线程应该是安全的。这意味着如果我们同时收到十多个请求,其他请求将排队等待,直到有可用的工作线程。为了最大限度地提高性能,我们还将系统配置为始终具有此数量的可用线程。

从每个进程 53MB 到 613MB 的 RAM,他以某种方式获得了这个配置,而我没有得到:

<IfModule prefork.c>
 StartServers       10
 MinSpareServers    10
 MaxSpareServers   10
 MaxClients       10
 MaxRequestsPerChild  4000
</IfModule>
Run Code Online (Sandbox Code Playgroud)

他究竟是如何从每个进程 53MB 得到这个的,限制为 613MB?

奖金问题

从下面,在一个小实例(1.7 GB 内存)上,什么是好的设置?

bitnami@ip-10-203-39-166:~$ ps xav |grep httpd
 1411 ?        Ss     0:00      2     0 114928 15436  0.8 /opt/bitnami/apache2/bin/httpd -f /opt/bitnami/apache2/conf/httpd.conf
 1415 ?        S      0:06     10     0 125860 55900  3.1 /opt/bitnami/apache2/bin/httpd -f /opt/bitnami/apache2/conf/httpd.conf
 1426 ?        S      0:08     19     0 127000 62996  3.5 /opt/bitnami/apache2/bin/httpd -f …
Run Code Online (Sandbox Code Playgroud)

wordpress mpm-prefork amazon-ec2 apache-2.2

3
推荐指数
1
解决办法
9646
查看次数

如果 allowoverride 设置为 all,则服务器状态不起作用

在我的 apache 配置中,我有以下设置

<Directory "/opt/website/new-website-old/httpdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Location /server-status>
    #AllowOverride None
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from all
</Location>
Run Code Online (Sandbox Code Playgroud)

使用此服务器状态可以工作,但是如果我将allowoverride选项更改为所有选项,则不会。如果allowoverride选项设置为All,我如何让服务器状态正常工作

我已经遵循了这个,但仍然没有运气wordpress 服务器状态

在我当前的 ht 访问文件中,我有

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} ^www.asb.com.au$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/about/the-group/domain-asb$1 [R=301,L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c> …
Run Code Online (Sandbox Code Playgroud)

centos .htaccess wordpress apache-2.2

3
推荐指数
1
解决办法
8602
查看次数