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网站在保存数据时速度慢。
答案 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分钟作出回应是非常不寻常的。
我认为最好的方法是: