Nginx 1.4.6抛出503错误

时间:2016-05-07 09:11:26

标签: wordpress nginx laravel-4 digital-ocean

Nginx 1.4.6抛出503错误

我在digitalocean droplet上配置了2个网站(wordpress和laravel v4) - nginx / 1.4.6(Ubuntu)。

这两个网站通常都非常好用和快速。

但是在laravel网站上保存任何数据时,它会抛出503错误。 并且在wordpress中它没有彻底503错误,但是在保存任何帖子或任何数据时花费太长时间来响应大约1-3分钟。

两个站点虚拟主机配置与以下相同。

server {
        listen 80;

        listen 443 ssl;

        root /var/www/domain1.com/public_html;

        index index.php index.html index.htm;

        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;

        # Make site accessible from http://localhost/
        server_name domain1.com www.domain1.com;


        access_log off;

        #GZIP Configuration
        gzip on;
        gzip_min_length 100;
        gzip_comp_level 3;

        gzip_types text/plain;
        gzip_types text/css;
        gzip_types text/javascript;

        gzip_disable "msie6";



        location / {
                try_files $uri $uri/ /index.php?q=$uri&$args;
                if ($host !~* ^www\.)
                {
                        rewrite  ^/(.*)$  http://www.$host/$1  permanent;
                }
                proxy_read_timeout 300;
        }


        error_page 404 /error.html;


        location ^~ /error.html {
                rewrite ^/.* http://www.domain1.com permanent;
        }


        location ~* \.(css|js|jpg|png|gif)$ {
                access_log off;
                expires 1M;
                add_header Pragma public;
                add_header Cache-Control public;
                add_header Vary Accept-Encoding;
        }


        try_files $uri $uri/ @rewrite;

        location @rewrite {
               rewrite ^/(.*)$ /index.php?_url=/$1;
        }


        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_read_timeout 600s;
                #fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;

                fastcgi_param PATH_INFO    $fastcgi_path_info;


                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

}

我还检查了错误日志,并没有发现任何重要信息。

请指导我,为什么Laravel v4网站显示503错误,以及为什么wordpress网站在保存数据时速度慢。

1 个答案:

答案 0 :(得分:2)

503表示该服务没有响应。我猜你是因为laraval使用了太多的资源,即内存,可能会超出你的液滴。

从你的配置我可以看到你有一个php-fpm套接字但决定通过端口9000使用php。

  

routes

     

record

我建议使用2个不同的池配置php-fpm,一个用于wordpress,另一个用于laravel,然后让它们设置为监听每个池具有不同设置的不同套接字,即wordpress可以有#fastcgi_pass unix:/var/run/php5-fpm.sock;和laravel {{ 1}}。虽然这只是一个想法,因为每个游泳池都有足够的设置。

此外,您的配置设置非常慷慨:

  

proxy_read_timeout 300

     

fastcgi_read_timeout 600s

等待5或10分钟作出回应是非常不寻常的。

我认为最好的方法是:

  • 使用php-fpm和不同的套接字 - >每个网站的自定义设置
  • 安装NewRelic免费为基本级别,这将是 让你看看你的服务器发生了什么。即内存使用情况,如何 执行请求等需要很长时间。希望它能帮到你 发现您的代码存在问题,即为什么需要这么长时间 laravel保存数据。
  • 更改超时,即降低5分钟和10分钟是疯狂的。
  • 根据您的发现,可能会升级您的液滴。
  • This is好的网站,提供有关如何调整php-fpm和nginx的说明。