centos下面lnmp方式安装的proftpd,权限配置记录
[ 2015-06-28 10:31:27 | 作者: admin ]
p.s. linux的权限,proftpd运行账号需要读写权限,而类网站www默认需要读权限755,data和upload目录才需要给www写权限777
使用lnmp1.1中的proftpd比较好的解决了这个问题,可以做到ftp对读写权限的每个网站独立分配
问题一:
安装了proftpd,一开始不能启动,proftpd.conf改了nogroup为nobody就可以启动了
问题二:
本来以为wwwroot目录给予nobody的权限就可以了,后来发现根本没有用
测试把/home/wwwroot/给予777权限,然后用ftp上传一个文件,看看是哪个用户上传的
原来lnmp1.1的脚本生成的账号不是虚拟账号,会产生的系统账号 blog_xg98_com 和组 blog_xg98_com
这样就简单了,给予网站目录ftp的读写权权限就可以了[code][/code]...
阅读全文…
使用lnmp1.1中的proftpd比较好的解决了这个问题,可以做到ftp对读写权限的每个网站独立分配
问题一:
安装了proftpd,一开始不能启动,proftpd.conf改了nogroup为nobody就可以启动了
问题二:
本来以为wwwroot目录给予nobody的权限就可以了,后来发现根本没有用
测试把/home/wwwroot/给予777权限,然后用ftp上传一个文件,看看是哪个用户上传的
原来lnmp1.1的脚本生成的账号不是虚拟账号,会产生的系统账号 blog_xg98_com 和组 blog_xg98_com
这样就简单了,给予网站目录ftp的读写权权限就可以了[code][/code]...
阅读全文…
centos 5.5 64位已安装php情况下安装curl模块,phpize方式安装
[ 2014-11-05 14:30:01 | 作者: admin ]
p.s.服务器php版本为 5.2.14,发现无论如何也安装不上,无法生成 curl.so,经过无数次尝试,后来使用php5.2.17下的curl源码终于成功
1、安装curl
2、下载php5.2.14源文件和php5.2.17源文件
将 php5.2.17/ext/curl 里面的文件覆盖到 php5.2.14/ext/curl
3、假定已经好安装php,现在开始安装支持php的curl模块
make完成后使用make test会发现一些错误,可以忽略
...
阅读全文…
1、安装curl
# wget http://curl.haxx.se/download/curl-7.17.1.tar.gz
# tar -zxf curl-7.17.1.tar.gz
# ./configure –prefix=/usr/local/curl
# make
# make install
# tar -zxf curl-7.17.1.tar.gz
# ./configure –prefix=/usr/local/curl
# make
# make install
2、下载php5.2.14源文件和php5.2.17源文件
将 php5.2.17/ext/curl 里面的文件覆盖到 php5.2.14/ext/curl
3、假定已经好安装php,现在开始安装支持php的curl模块
make完成后使用make test会发现一些错误,可以忽略
...
阅读全文…
c# 正则表达式中遇到的问题,@符号下无法匹配识别双引号
[ 2014-05-19 13:02:45 | 作者: admin ]
ps:这个跟是否在正则中无关,如果字符串前不加@,那么在字符串中用\"对"转义,如果字符串前面加了@,那么在字符串中用""对"转义
假如某个网页的源代码中有如下一段:
使用@符号,匹配字符串为:
不使用@符号,则匹配字符串为:
注意:因为有了@符号来取消转义,可以看到里面的双引号无法使用\来实现转义,必须加双引号实现转义,即 "" 才能匹配到内容
参考:
======================...
阅读全文…
假如某个网页的源代码中有如下一段:
<span class="img">图片1</span>
使用@符号,匹配字符串为:
@"<span\s+class=""img"">([\S\s]*?)</span>"
不使用@符号,则匹配字符串为:
"<span\\s+class=\"img\">([\\S\\s]*?)</span>"
注意:因为有了@符号来取消转义,可以看到里面的双引号无法使用\来实现转义,必须加双引号实现转义,即 "" 才能匹配到内容
参考:
======================...
阅读全文…
php判断远程图片文件是否存在的方法
[ 2013-07-09 10:13:58 | 作者: admin ]
p.s.需要采集远程图片就需要先判断是否存在,这里提供一个函数,通过文件头来判断
不同状态下读取的header信息
找到图片
...
阅读全文…
function is_img_exist($url){
//print_r(get_headers("http://uc.discuz.net/data/avatar/000/00/022/03_avatar_small.jpg"));
//exit;
$result = get_headers($url);
$str_result = implode(",", $result);
if( substr_count( $str_result, "image" ) ){
return true;
}else{
return false;
}
}
//print_r(get_headers("http://uc.discuz.net/data/avatar/000/00/022/03_avatar_small.jpg"));
//exit;
$result = get_headers($url);
$str_result = implode(",", $result);
if( substr_count( $str_result, "image" ) ){
return true;
}else{
return false;
}
}
不同状态下读取的header信息
找到图片
...
阅读全文…
centos vps快速一键lnmp环境安全和基本安全配置
[ 2013-07-01 15:21:47 | 作者: admin ]
第一步,安装一键lnmp环境
在http://lnmp.org 下载完整安装包,一键安装包,30分钟左右安装完成...
阅读全文…
在http://lnmp.org 下载完整安装包,一键安装包,30分钟左右安装完成
引用
LNMP相关软件安装目录
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : 0.9版为/home/wwwroot/phpmyadmin/ 1.0版为 /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
默认网站目录 : 0.9版为 /home/wwwroot/ 1.0版为 /home/wwwroot/default/
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : 0.9版为/home/wwwroot/phpmyadmin/ 1.0版为 /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
默认网站目录 : 0.9版为 /home/wwwroot/ 1.0版为 /home/wwwroot/default/
阅读全文…
nginx和apache记录访问者端口 remote port
[ 2013-04-28 14:19:30 | 作者: admin ]
nginx升级到 1.2.8 log_format可以使用 $remote_port 全局变量。apache下面关于环境变量的使用有些因素影响,http和https下不同,版本也有差异,需要参考apache文档来核实。
apache2.2、apache2.4可以使用 %{format}P 获取端口,format可以使用 local或者remote,远程端口就是 %{remote}p
例子:
http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#logformat
http://httpd.apache.org/docs/2.4...
阅读全文…
apache2.2、apache2.4可以使用 %{format}P 获取端口,format可以使用 local或者remote,远程端口就是 %{remote}p
例子:
LogFormat "[%h]:%{remote}p %l %u %t \"%r\" %>s %b" common
更多设置可以参考 http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#logformat
http://httpd.apache.org/docs/2.4...
阅读全文…
此脚本实现nginx日志文件按天自动切割,并且删除一个月前的日志
[ 2013-04-26 15:22:20 | 作者: admin ]
p.s. 需要注意的是,一开始用root手动运行脚本可以运行,但是自动运行发现无法自动建立access.log,结果查看是目录权限问题。crontab配置中使用root运行脚本。
logs目录的权限必须和nginx配置的user nfsnobody nfsnobody权限一致,这样nginx 才能自动再建立access.log
自动运行的脚本 /home/tools/nginx_log_auto_split.sh
在logs目录下面建立old目录,将每天的日志移入压缩。
阅读全文…
logs目录的权限必须和nginx配置的user nfsnobody nfsnobody权限一致,这样nginx 才能自动再建立access.log
chown -R nfsnobody:nfsnobody logs
自动运行的脚本 /home/tools/nginx_log_auto_split.sh
在logs目录下面建立old目录,将每天的日志移入压缩。
#!/bin/bash
# This script run at 23:59
# The Nginx logs path
logs_path="/usr/local/nginx.0.8.15/logs"
...# This script run at 23:59
# The Nginx logs path
logs_path="/usr/local/nginx.0.8.15/logs"
阅读全文…
phpwind中pw_merge_posts建分表bug,造成个人空间主题回复数据不准确
[ 2012-11-01 20:03:54 | 作者: admin ]
p.s. 此bug存在于phpwind8.7正式版2011.11.11发布版本,目前(2012.11.1)下载版中还没有修复。
论坛一直有反馈说个人空间主题回复数不正确,每次重新分表之后能稍微消停下,稍微过点时间依旧出现强烈反馈
目前分表如下
pw_posts
pw_posts1
。。。
pw_posts9
对比发现 pw_posts9中的新数据,在合成表中pw_merge_posts不存在,也就是最后建立的表没有关联到pw_merge_posts,造成数据丢失。
导出pw_merge_posts结构,发现的确少了pw_posts9表,重建pw_merge_posts后问题解决
研究了下,发现/admin/bakup.php 中存在一个小问题
404行,新建回复分表时将最新回复表组合plist赋值给了tlist,造成更新Merge联合表的时候,少了最后建立的那个分表
阅读全文…
论坛一直有反馈说个人空间主题回复数不正确,每次重新分表之后能稍微消停下,稍微过点时间依旧出现强烈反馈
目前分表如下
pw_posts
pw_posts1
。。。
pw_posts9
对比发现 pw_posts9中的新数据,在合成表中pw_merge_posts不存在,也就是最后建立的表没有关联到pw_merge_posts,造成数据丢失。
导出pw_merge_posts结构,发现的确少了pw_posts9表,重建pw_merge_posts后问题解决
研究了下,发现/admin/bakup.php 中存在一个小问题
404行,新建回复分表时将最新回复表组合plist赋值给了tlist,造成更新Merge联合表的时候,少了最后建立的那个分表
$GLOBALS['db_tlist'] = $plist;
...阅读全文…