WordPress安装插件提示无法创建目录

出现这个问题有几种可能:

  1. 服务器没有安装vsftpd服务,很明显我装了
  2. vsftpd的用户没有对plugin目录的写权限,检查之后发现我新建的用户是有这个权限的

    • 如果没有写权限的话,需要对WordPress的目录 /var/www/html/wp-content/plugins赋予写权限的,我们来个直接的运行命令: chmod 777 /var/www/html/wp-content/plugins,主要是的第三个7起作用,对其他用户赋予读写权限
  3. 最后检查发现我的vsftpd.conf配置文件中 chroot_local_user的值设置成了No, 该配置表示我的本地Ftp用户不能切换到ftp主目录外的其他目录,而我的ftp主目录与WordPress的Plugin的目录明显不是同一个。既然该用户都不能切换目录,如何到Plugin目录进行写操作呢,所以立马更改该配置为YES,再次安装插件就成功了

  4. 另外,如果还不行的话可以检查下vsftpd.conf配置文件中 chroot_list_enable的值,如果chroot_list_enable=YES该配置表示 /etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录。

阿里云服务器安装vsftpd

运行命令:yun install vsftpd 安装vsftpd

将vsftpd设置为开机启动:chkconfig vsftpd on

启动vsftpd服务: service vsftpd start

管理vsftpd相关服务:

停止:service vsftpd stop

重启:service vsftpd restart

阿里云服务器安装MySQL

运行命令:yun install mysql 安装MySQL客户端

紧接着运行命令:yun install mysql-server 安装MySQL服务

运行命令:chkconfig –levels 235 mysqld on 让MySQL服务可以自动启动

运行命令:/etc/init.d/mysqld start 立刻启动MySQL服务

阿里云服务器安装Apache

使用阿里云自带的安装命令:yun install httpd
安装完成之后运行命令:chkconfig --levels 235 httpd on
上面的命令可以让Apache开机自动启动。
运行命令:/etc/init.d/httpd start 让Apache立刻启动

启动过程中如果出现Could not reliably determine the server's fully qualified domain name, using 10.161.94.31 for ServerName提示,则将Apache安装目录/etc/httpd/conf/下的httpd.conf文件中的#ServerName localhost:80注释去掉即可,或是添加一行ServerName localhost:80

阿里云上Apache安装路径为/etc/httpd/


原创文章,转载请出处注明。

下面是我的个人公众号,欢迎关注交流

Android基础之点击两次返回键退出程序

Android应用中退出应用程序通常有两种做法,一种是使用选择对话框询问用户是否退出应用程序,另外一种是快速点击返回按钮两次然后退出应用。其中第二种实现方式较为普遍,而且我个人认为这种方式用户体验性要好点。下面,我介绍两种常用的点击两次返回退出应用的实现方式。

Android调用相机无法执行onActivityResult或data为null

最近项目中调用系统相机时遇到了这么个问题:红米手机无法执行onActivityResult回调,部分华为手机无法获取到照片数据,最后各种分析,各种网上搜索资料折腾了好久,最后终于把问题解决,当看到问题的最终原因时,我也是醉了,简直就是坑爹坑大发了。

最开始用红米手机调用系统相机的时,当我拍照完成点击那个勾勾始终无法返回到前面的界面上,也就是无法调用onActivityResult函数取到拍照的照片,在网上搜索了一圈,没找到解决办法,都说是红米的系统问题,无法解决,项目比较紧张,刚好客户的手机全部是统一型号的华为荣耀6Plus,这个问题丢着暂时没管了。
后来现场同事批量测试机器时,发现有3台手机可以拍照,但是在onActivityResult回调中获取到的照片数据为null,但是其他的同型号手机又没这个问题,这问题看着真是坑爹啊。

Android基础之解压zip中文乱码处理

####乱码原因分析
一般我们使用的Windows系统外部文件默认都是GBK编码方式,Mac系统默认的好像是UTF-8(同事的电脑就是,不知道其他人的是不是),Linux的没验证过,这里我讨论的是Windows下打包的zip文件。

Java中自带的ZipEntry解压缩的编码方式是UTF-8,而且没有可以自定义编码方式的接口,所以当我们使用UTF-8编码去解压缩GBK编码的文件的时,解压缩出来的中文部分当然是乱码,所以Mac上打包的zip用Java的自带解压缩接口解压出来是没有问题的。

Android基础之shape使用

Android中的shape标签用于描述形状,可以在布局文件layout和选择器selector中使用,它有6个子标签,具体如下:

浅谈JSONP跨域请求

第一次听说JSONP跨域请求还是去年刚入职实习的时候,也借那个机会在网上好好了解了下用法,但是对于其如何实现还是不太明白。昨天一同事问我当时对JSONP的使用情况,突然发现一年多没用,对于这个跨域请求技术又忘的差不多了,刚好不知道这个星期该写篇什么方面的文章,那就趁这个机会再把JSONP琢磨琢磨顺便把过程记录下来,免得下次不记得了又得到网上到处找资源查阅。

OK,进入正题!!!!

先看JSONP定义

JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是 JSON,而是任意的JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。
JSONP它是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。
——来自百度

同源策略

同源策略是一种约定,也是浏览器本身最核心最基本的一个安全功能。
所谓同源是指协议、域名、端口相同,也就是说同源策略不允许一个站点的某个文档或脚本加载请求另一个站点的文档或脚本,具体看下如下实验:

Lucene近实时搜索应用总结

最近因工作需要,用到了Lucene,在需求中,需要对生成的索引文件不断的更新、新增、删除等操作,同时还要实时的看到索引改动后的数据,在使用过程中碰到了Lucene里几个比较常见的问题,特来总结记录下。

我使用的是Lucene4.3,本来是想使用最高的版本Lucene4.9的(不知道现在又有么有新的版本出现),但是因为公司项目的JDK都是JDK6的,而Lucene4.9的支持的最低JDK版本是7+的,所以最后选择了这个版本。第一次碰这个东东,也是在网上搜罗各种资料,当然官网是少不了的,还有一个网址,这个里面的版本更全面,包含了Lucene所有的版本,有需要的可以去下载自己想要的版本。

OK,进入正题。

  1. 在读取索引文件内容时,索引文件的打开操作 new IndexSearcher(DirectoryReader.open(FSDirectory.open(new File(indexPath)))) 是个非常耗时耗资源的操作,所以在搜索索引数据时把IndexSearcher对象给缓存起来可以提高搜索性能,这个地方可以将索引目录对应的IndexSearcher对象做成一个单例模式进行获取。

  2. 在问题1的操作基础上,我对索引进行了更新操作,紧接着我就发现了一个问题,索引更新后我查询出来的结果和我更新后的结果对不上号。再网上查了半天没找到原因,后来在一个群里请教之后,才知道更新完索引之后,索引文件需要重新打开,否则搜索得到的还是原来索引的数据,Lucene里面的这个原理非常重要。

  3. 因为当时对Lucene了解的不是很多,所以为了每次更新后能搜索到正确的数据,我的做法是每次更新完索引就将我之前缓存的IndexSearcher对象和Reader对象给移除掉,下次搜索时重新打开索引,这样来保证搜索结果的正确性。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×