Ubuntu 16.04 LTS下通过PHP7-FPM配置的服务器增大WordPress文件上传大小限制

一般来说你使用的主机会限制你上传文件的大小,在WordPress的媒体文件上传可以看到,大多数都是2MB。如果是图片的话可能会还够用,但是如果是其他文件就不一定够用了。

增大可以上传的文件大小的话,则执行如下命令

$ sudo vim /etc/php/7.0/fpm/php.ini

搜索"upload_max_filesize",把默认的2M修改为需要的大小。
搜索"post_max_size",把默认的8M修改为需要的大小。

重启PHP-FPM服务

$ sudo service php7.0-fpm restart

重新刷新页面,上传文件即可。

Ubuntu 16.04开启dlib对于AVX或者CUDA的支持

最近在使用openface来测试人脸识别,实际过程中发现识别速度非常缓慢,平均每帧的识别速度达到了秒级水平,这个是不可接受的。跟踪代码性能,发现是dlib部分非常缓慢。

根据dlib的文档,默认使用

$ sudo pip install dlib

安装的dlib库,由于对具体硬件的要求(CPU需要支持AVX指令集),是没有开启AVX指令加速的,另外由于显卡的要求,也是默认不开启CUDA的支持。

如果想要开启这部分加速,需要手工编译安装才可以,具体操作如下:

$ cd ~
$ mkdir dlib
$ sudo pip download dlib
$ tar -zxvf tar -zxvf dlib-*.tar.gz
$ cd dlib*

#安装依赖的库
$ sudo apt-get -y install libopenblas-dev

#移除我们以前安装过的dlib
$ sudo pip uninstall dlib

#开启AVX指令集支持
$ sudo python setup.py install --yes USE_AVX_INSTRUCTIONS

上面的命令是使用AVX指令加速功能的,如果机器上安装了CUDA,则需要正确安装cuDNN 5.0以上的版本,否在编译的时候会报告

-- Checking if you have the right version of cuDNN installed.
-- *** Found cuDNN, but it looks like the wrong version so dlib will not use it. ***
-- *** cuDNN V5.0 OR GREATER NOT FOUND.  DLIB WILL NOT USE CUDA. ***
-- *** If you have cuDNN then set CMAKE_PREFIX_PATH to include cuDNN's folder.

对于使用

$ sudo apt install nvidia-cuda-toolkit

安装的CUDA-7.5来说,可以从这里下载cuDNN v6.0 (April 27, 2017), for CUDA 7.5,下载完成后,整个目录中的include目录中的文件解压缩到/usr/local/include/目录下,lib64目录中的内容整个解压缩到/usr/lib/目录下,并且在/usr/local/lib/目录下建立libcudnn.so的软链接

$ sudo ln -s /usr/lib/libcudnn.so /usr/local/lib/libcudnn.so

都配置正确后,使用如下编译命令安装:

$ sudo python setup.py install --yes DLIB_USE_CUDA

参考链接


Easily Create High Quality Object Detectors with Deep Learning

执行"luarocks install cutorch"发生错误"error: implicit declaration of function 'THLongStorage_calculateExpandGeometry'"

执行

$ luarocks install cutorch

发生如下错误:

[ 88%] Building C object lib/THC/CMakeFiles/THC.dir/THCStorageCopy.c.o
In file included from generic/THCTensor.c:1:0,
                 from /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/THCGenerateAllTypes.h:17,
                 from /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/THCTensor.c:7:
/tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/generic/THCTensor.c: In function ‘THCudaByteTensor_newExpand’:
/tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/generic/THCTensor.c:304:3: error: implicit declaration of function ‘THLongStorage_calculateExpandGeometry’ [-Werror=implicit-function-declaration]
   THLongStorage_calculateExpandGeometry(tensor->size,
   ^
[ 90%] Building C object lib/THC/CMakeFiles/THC.dir/THCThreadLocal.c.o
cc1: some warnings being treated as errors
lib/THC/CMakeFiles/THC.dir/build.make:686: recipe for target 'lib/THC/CMakeFiles/THC.dir/THCTensor.c.o' failed
make[2]: *** [lib/THC/CMakeFiles/THC.dir/THCTensor.c.o] Error 1
CMakeFiles/Makefile2:172: recipe for target 'lib/THC/CMakeFiles/THC.dir/all' failed
make[1]: *** [lib/THC/CMakeFiles/THC.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Error: Build error: Failed building.

解决方法为:

$ luarocks install torch
$ luarocks install cutorch

参考链接


error: implicit declaration of function ‘THLongStorage_calculateExpandGeometry’

解决执行"sudo echo xxx > log.txt" 时提示"Permission denied"

在执行

$ sudo echo xxx > log.txt

命令时候,会提示错误

Permission denied

这个错误的原因在于sudoecho提权,但是并没有给重定向命令提权,导致在输出到文件的时候是没有权限的。

解决方法为使用tee命令,如下:

$ echo xxx | sudo tee log.txt

参考链接


避免’sudo echo x >’ 时’Permission denied’

编译Torch 7时遇到错误"make[2]: *** [lib/THNN/CMakeFiles/THNN.dir/init.c.o] Error 1"

编译Torch 7时执行

$ sudo luarocks install nn

遇到如下错误信息:

make[2]: *** [lib/THNN/CMakeFiles/THNN.dir/init.c.o] Error

原因是缺少依赖包torch导致的,在安装nn之前需要先安装torch即可解决问题。

如下方式执行:

$ sudo luarocks install torch
$ sudo luarocks install nn

参考链接


使用torch遇到的一些问题

编译Torch 7时执行luarocks install提示"Error: No results matching query were found."

编译Torch 7时执行luarocks install 提示错误信息:

Error: No results matching query were found.

这个是由于系统上安装了多个luarocks而执行安装命令的并不是Torch 7代码目录下自带的luarocks导致的。
修正的办法就是设置搜索路径,把Torch 7代码目录下的install/bin/放到搜索目录(PATH)的最前面。

参考链接


luarocks install *错误之Error: No results matching query were found.

移除WordPress-4.7.5自动加载的emoji脚本

WordPress 4.2版本之后,查看网页源代码你会发现WordPress会自动在加载一段用于支持emjo表情的脚本(JS+CSS)。对于大部分人来说,这个是十分鸡肋的功能,反而影响加载速度,仔细观察一下就会发现,这部分功能引入了非常多的脚本以及代码,实际上绝大部分人从来不使用这部分功能,另外这部分加载脚本在Internet Explorer 11 + HTTPS的时候,会出现警告访问不安全的内容,原因就在于emjo加载脚本在HTTPS的情况下依旧会使用HTTP去请求数据。

继续阅读移除WordPress-4.7.5自动加载的emoji脚本