今天玩wordpress主题,搞了一个比较大的zip包,足足有30M,然后上传的时候就提示我文件大小上限,修改配置之后,又提示我链接过期,其实就是请求时间太长导致超时了
这里,需要修改nginx和php的配置
首先,找到php.ini
位置
root@vultr:~# php -i | grep php.ini
Configuration File (php.ini) Path => /etc/php/7.2/cli
Loaded Configuration File => /etc/php/7.2/cli/php.ini
我执行php -i | grep php.ini
之后发现在/etc/php/7.2/cli/php.ini
然后编辑这个文件,修改如下配置
upload_max_filesize 32M
post_max_size 32M
max_input_time 300
max_execution_time 300
其实就是把上传文件大小搞大,防止超上传上限,执行时间变长,防止超时。
然后,需要重启php-fpm
,先查找所有相关进程
root@vultr:~# ps -aux | grep php-fpm
root 3910 0.0 1.2 424852 12964 ? Ss 08:29 0:00 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
www-data 3970 0.6 11.8 529592 119472 ? S 08:32 0:10 php-fpm: pool www
www-data 3982 0.5 12.2 531760 123232 ? S 08:32 0:10 php-fpm: pool www
www-data 3984 0.6 13.5 545176 136540 ? S 08:32 0:11 php-fpm: pool www
root 4480 0.0 0.1 14728 1028 pts/1 S+ 09:01 0:00 grep --color=auto php-fpm
我们找到带master
的那一行,这是主进程,最前面的数字是id,kill掉这个id
kill 3910
再执行 ps -aux | grep php-fpm
确认一下 是否全部关闭,现在应该只有一行打印了
root 4480 0.0 0.1 14728 1028 pts/1 S+ 09:01 0:00 grep --color=auto php-fpm
执行php-fpm
启动,这里根据每个人安装版本不同,我的是php-fpm7.2
,所以命令是
php-fpm7.2
确认自己的命令很简单,只要输入php-fpm
然后按tab
就会自动补全
另外,为了确保加载的是刚刚修改的配置文件,可以加 -c
参数,后面跟刚刚修改的配置文件路径,比如:
php-fpm7.2 -c /etc/php/7.2/cli/php.ini
如果没有报错,就说明重启成功了
查看nginx配置文件位置
root@vultr:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
可以看到,我的配置文件在/etc/nginx/nginx.conf
,修改这个文件,找到http
,在里面添加配置项或者修改配置项
http {
# 修改内容在这里哦
}
修改内容如下:
send_timeout 60;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
client_max_body_size 30m;
重新加载配置
nginx -s reload
至此,就可以上传大文件,也不怕超时了~
viencoding.com版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/272