快速删除WordPress删除评论的方法

比较有意思的方法:通过 SQL 命令删除

如果你不喜欢折腾插件,并且你可以通过登陆PhpMyAdmin 管理MySQL数据库,那你可以通过 SQL 命令来删除
Wordpress评论表为wo_comments,comment_approved为评论回应的字段.

Comment_approved 为1 :通过审核的评论
Comment_approved 为0:待审核的评论
Comment_approved 为trash:回收站的评论
Comment_approved 为spam: 垃圾评论

use wordpress;
#其中0表示未审核的评论 待审评论
DELETE FROM wp_comments WHERE comment_approved = '0';

#其中的‘1’,表示的是所有评论;
DELETE FROM wp_comments WHERE comment_approved = '1';
DELETE FROM wp_comments WHERE comment_approved NOT LIKE '1';
#删除垃圾评论
DELETE FROM wp_comments WHERE comment_approved = 'spam';

#删除回收站评论
DELETE FROM wp_comments WHERE comment_approved = 'trash';

#-e 删除所有评论
mysql -uroot -p123456 -e "use wordpress; DELETE FROM wp_comments WHERE comment_approved = '0'; DELETE FROM wp_comments WHERE comment_approved = '1'; DELETE FROM wp_comments WHERE comment_approved NOT LIKE '1'; DELETE FROM wp_comments WHERE comment_approved = 'spam'; DELETE FROM wp_comments WHERE comment_approved = 'trash'; "

freesbsd ports 安装 nginx+mariadb(mysql分支) +php

ps 2015 准备更新 一下 基于 freebsd 10.1

因为各种原因特别想用绝对自由 这里没有mysql 而是用mariadb
开始
首先是更新ports
portsnap fetch extract #第一次更新时用,直接下载ports并且解压
portsnap fetch update #以后更新时使用
portsnap extract

1.#安装nginx
cd /usr/ports/www/nginx
make config-recursive
make install clean

2.#安装php
cd /usr/ports/lang/php5
#在php5-extensions的config页面中,需要勾选PHP-FPM项。
make config-recursive
make install clean
cd /usr/ports/lang/php5-extensions/
#您的PHP似乎没有安装运行WordPress所必需的MySQL扩展
#这个有些要选择一下下 支持mysql gd什么 MYSQL PDO_MYSQL
make config
make install clean

3.#安装mariadb
http://www.freshports.org/databases/mariadb-server
cd /usr/ports/databases/mariadb55-server/ && make config
make install clean
cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf

echo 'mysql_enable="YES"' >> /etc/rc.conf
cat /etc/rc.conf
/usr/local/etc/rc.d/mysql-server start
mysql -uroot -p

4.#配置php
vi /usr/local/etc/php-fpm.conf
-; events.mechanism = epoll
+events.mechanism = kqueue
...
-listen = 127.0.0.1:9000
+listen = /var/run/php-fpm.sock
...
-;listen.owner = www
-;listen.group = www
-;listen.mode = 0666
+listen.owner = www
+listen.group = www
+listen.mode = 0666

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

echo 'php_fpm_enable="YES"' >> /etc/rc.conf
Start PHP-FPM:
Code:
# /usr/local/etc/rc.d/php-fpm start

Configure nginx

/usr/local/etc/rc.d/nginx restart
其它
添加root密码:
MariaDB [(none)]> set password for root@localhost=password('password'); 
Query OK, 0 rows affected (0.00 sec) 
# set root password 
MariaDB [(none)]> set password for root@'127.0.0.1'=password('password'); 
Query OK, 0 rows affected (0.00 sec)

mysqladmin -u root password yourpassword
8、安装eaccelertor

cd /usr/ports/www/eaccelerator
make install clean
vi /usr/local/etc/php/extensions.ini
添加

extension=eaccelerator.so
安装Memcache扩展

cd /usr/ports/databases/pecl-memca

mkdir -p /usr/local/etc/nginx/logs

echo 'nginx_enable="YES"' >> /etc/rc.conf
echo 'php_fpm_enable="YES"' >> /etc/rc.conf

其它参考
安装与配置nginx下的php (PHP-FPM模式)
https://wiki.freebsdchina.org/howto/n/php_php-fpm_nginx

fnmp
http://forums.freebsd.org/showthread.php?t=30268

How to Install Nginx and PHP-FPM on FreeBSD

http://203.208.46.148/search?q=freebsd+nginx&ie=UTF-8&oe=UTF-8&hl=zh-CN&btnG=+Search+

http://bin63.com/how-to-install-nginx-and-php-fpm-on-freebsd
http://os.51cto.com/art/201101/244084_1.htm
http://www.yangjia.org/2013/01/25/%E5%B0%8F%E5%86%85%E5%AD%98-freebsd-%E4%BC%98%E5%8C%96%E5%8F%8A%E9%83%A8%E7%BD%B2-nmp.html

卸载
make deinstall clean

FreeBSD 的 Ports 系统
https://wiki.freebsdchina.org/faq/ports

FreeBSD 网络配置
https://wiki.freebsdchina.org/faq/networking

https://www.digitalocean.com/community/tutorials/how-to-install-an-nginx-mysql-and-php-femp-stack-on-freebsd-10-1
http://netkiller.github.io/journal/freebsd.php.html

在 FreeBSD 10.0 上安装和配置 Nginx+PHP+APC+MySQL


#不错
http://forums.freebsd.org/showthread.php?p=213791
#这个源码的
http://www.excms.cn/manual/install-freebsd-nginx.html
https://hackademics.eu/repo/1/
http://bbs.linuxtone.org/thread-6474-1-1.html
freebsd desktop
https://wiki.freebsdchina.org/doc/d/freebsd_desktop
https://wiki.freebsdchina.org/software/v/virtualbox-additions

每天一命令之 date

小提示
一般不要用K 因为是单的 有时会发现多了个空格

%H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)

date –help
用法:date [选项]… [+格式]
 或:date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
以给定的格式显示当前时间,或是设置系统日期。

-d,–date=字符串 显示指定字符串所描述的时间,而非当前时间
-f,–file=日期文件 类似–date,从日期文件中按行读入时间描述
-r, –reference=文件 显示文件指定文件的最后修改时间
-R, –rfc-2822 以RFC 2822格式输出日期和时间
例如:2006年8月7日,星期一 12:34:56 -0600
–rfc-3339=TIMESPEC 以RFC 3339 格式输出日期和时间。
TIMESPEC=`date’,`seconds’,或 `ns’
表示日期和时间的显示精度。
日期和时间单元由单个的空格分开:
2006-08-07 12:34:56-06:00
-s, –set=字符串 设置指定字符串来分开时间
-u, –utc, –universal 输出或者设置协调的通用时间
–help 显示此帮助信息并退出
–version 显示版本信息并退出

给定的格式FORMAT 控制着输出,解释序列如下:

%% 一个文字的 %
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
%A 当前locale 的星期名全称 (如:星期日)
%b 当前locale 的月名缩写 (如:一,代表一月)
%B 当前locale 的月名全称 (如:一月)
%c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
%d 按月计的日期(例如:01)
%D 按月计的日期;等于%m/%d/%y
%e 按月计的日期,添加空格,等于%_d
%F 完整日期格式,等价于 %Y-%m-%d
%g ISO-8601 格式年份的最后两位 (参见%G)
%G ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
%h 等于%b
%H 小时(00-23)
%I 小时(00-12)
%j 按年计的日期(001-366)
%k hour, space padded ( 0..23); same as %_H
%l hour, space padded ( 1..12); same as %_I
%m month (01..12)
%M minute (00..59)
%n 换行
%N 纳秒(000000000-999999999)
%p 当前locale 下的”上午”或者”下午”,未知时输出为空
%P 与%p 类似,但是输出小写字母
%r 当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
%R 24 小时时间的时和分,等价于 %H:%M
%s 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
%S 秒(00-60)
%t 输出制表符 Tab
%T 时间,等于%H:%M:%S
%u 星期,1 代表星期一
%U 一年中的第几周,以周日为每星期第一天(00-53)
%V ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
%w 一星期中的第几日(0-6),0 代表周一
%W 一年中的第几周,以周一为每星期第一天(00-53)
%x 当前locale 下的日期描述 (如:12/31/99)
%X 当前locale 下的时间描述 (如:23:13:48)
%y 年份最后两位数位 (00-99)
%Y 年份
%z +hhmm 数字时区(例如,-0400)
%:z +hh:mm 数字时区(例如,-04:00)
%::z +hh:mm:ss 数字时区(例如,-04:00:00)
%:::z 数字时区带有必要的精度 (例如,-04,+05:30)
%Z 按字母表排序的时区缩写 (例如,EDT)

默认情况下,日期的数字区域以0 填充。
以下可选标记可以跟在”%”后:

– (连字符)不填充该域
_ (下划线)以空格填充
0 (数字0)以0 填充
^ 如果可能,使用大写字母
# 如果可能,使用相反的大小写

在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字。
作为一个可选的修饰声明,它可以是E,在可能的情况下使用本地环境关联的
表示方式;或者是O,在可能的情况下使用本地环境关联的数字符号。

Examples:
Convert seconds since the epoch (1970-01-01 UTC) to a date
$ date –date=’@2147483647′

Show the time on the west coast of the US (use tzselect(1) to find TZ)
$ TZ=’America/Los_Angeles’ date

Show the local time for 9AM next Friday on the west coast of the US
$ date –date=’TZ=”America/Los_Angeles” 09:00 next Fri’

1.命令格式:
date [参数]… [+格式]
2.命令功能:
date 可以用来显示或设定系统的日期与时间。
3.命令参数:
必要参数:
%H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r 时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。
%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c 日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%j 该年中的第几天。
%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%x 日期(以本地的惯用法来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。
%t 在显示时,插入tab。
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss 秒(选择性)
选择参数:
-d<字符串>  显示字符串所指的日期与时间。字符串前后必须加上双引号。
-s<字符串>  根据字符串来设置日期与时间。字符串前后必须加上双引号。
-u  显示GMT。
–help  在线帮助。
–version  显示版本信息
4.使用说明:
1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下: % : 打印出 %:
%n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区 %a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)
2.在设定时间方面:
date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间
3.加减:
date +%Y%m%d //显示前天年月日
date +%Y%m%d –date=”+1 day” //显示前一天的日期
date +%Y%m%d –date=”-1 day” //显示后一天的日期
date +%Y%m%d –date=”-1 month” //显示上一月的日期
date +%Y%m%d –date=”+1 month” //显示下一月的日期
date +%Y%m%d –date=”-1 year” //显示前一年的日期
date +%Y%m%d –date=”+1 year” //显示下一年的日期
5.使用实例:
实例1:显示当前时间
命令:
date
date ‘+%c’
date ‘+%D’
date ‘+%x’
date ‘+%T’
date ‘+%X’
输出:
[root@localhost ~]# date
2012年 12月 08日 星期六 08:31:35 CST
[root@localhost ~]# date ‘+%c’
2012年12月08日 星期六 08时34分44秒
[root@localhost ~]# date ‘+%D’
12/08/12[root@localhost ~]# date ‘+%x’
2012年12月08日
[root@localhost ~]# date ‘+%T’
08:35:36[root@localhost ~]# date ‘+%X’
08时35分54秒
[root@localhost ~]#
说明:
实例2:显示日期和设定时间
命令:
date –date 08:42:00
输出:
[root@localhost ~]# date ‘+%c’
2012年12月08日 星期六 08时41分37秒
[root@localhost ~]# date –date 08:42:00
2012年 12月 08日 星期六 08:42:00 CST
[root@localhost ~]# date ‘+%c’ –date 08:45:00
2012年12月08日 星期六 08时45分00秒
[root@localhost ~]#
说明:
实例3:date -d参数使用
命令:
输出:
[root@localhost ~]# date -d “nov 22”
2012年 11月 22日 星期四 00:00:00 CST
[root@localhost ~]# date -d ‘2 weeks’
2012年 12月 22日 星期六 08:50:21 CST
[root@localhost ~]# date -d ‘next monday’
2012年 12月 10日 星期一 00:00:00 CST
[root@localhost ~]# date -d next-day +%Y%m%d
20121209[root@localhost ~]# date -d tomorrow +%Y%m%d
20121209[root@localhost ~]# date -d last-day +%Y%m%d
20121207[root@localhost ~]# date -d yesterday +%Y%m%d
20121207[root@localhost ~]# date -d last-month +%Y%m
201211[root@localhost ~]# date -d next-month +%Y%m
201301[root@localhost ~]# date -d ’30 days ago’
2012年 11月 08日 星期四 08:51:37 CST
[root@localhost ~]# date -d ‘-100 days’
2012年 08月 30日 星期四 08:52:03 CST
[root@localhost ~]# date -d ‘dec 14 -2 weeks’
2012年 11月 30日 星期五 00:00:00 CST
[root@localhost ~]# date -d ’50 days’
2013年 01月 27日 星期日 08:52:27 CST
说明:
date 命令的另一个扩展是 -d 选项,该选项非常有用。使用这个功能强大的选项,通过将日期作为引号括起来的参数提供,您可以快速地查明一个特定的日期。-d 选项还可以告诉您,相对于当前日期若干天的究竟是哪一天,从现在开始的若干天或若干星期以后,或者以前(过去)。通过将这个相对偏移使用引号括起来,作为 -d 选项的参数,就可以完成这项任务。
具体说明如下:
date -d “nov 22” 今年的 11 月 22 日是星期三
date -d ‘2 weeks’ 2周后的日期
date -d ‘next monday’ (下周一的日期)
date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d
date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d
date -d last-month +%Y%m(上个月是几月)
date -d next-month +%Y%m(下个月是几月)
使用 ago 指令,您可以得到过去的日期:
date -d ’30 days ago’ (30天前的日期)
使用负数以得到相反的日期:
date -d ‘dec 14 -2 weeks’ (相对:dec 14这个日期的两周前的日期)
date -d ‘-100 days’ (100天以前的日期)
date -d ’50 days'(50天后的日期)
实例4:显示月份和日数
命令:
date ‘+%B %d’
输出:
[root@localhost ~]# date ‘+%B %d’
十二月 08[root@localhost ~]#
说明:
实例5:显示时间后跳行,再显示目前日期
命令:
date ‘+%T%n%D’
输出:
[root@localhost ~]# date ‘+%T%n%D’
09:00:30
12/08/12[root@localhost ~]#

让Apache禁止IP直接访问的方法

#for

#for yryz.org


AllowOverride All
Options FollowSymLinks
# Order allow, deny
Allow from all
DirectoryIndex index.php index.html index.htm

DocumentRoot "/data/y.org"
DirectoryIndex index.html index.htm index.php
ServerName www.yryz.org
ServerAlias yryz.org

##deny ip


Order Allow,Deny
Deny from all

DocumentRoot "/data/"
DirectoryIndex index.html index.htm index.php
ServerName 12.401.179.153

###********

http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5973898

###********

http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5973898

CentOS ulimit系统命令修改

一般有两种修改方法

1) 临时修改
使用 ulimit -n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)

2) 永久修改
vim /etc/security/limits.conf
#生效的
# End of file
* soft nofile 409600
* hard nofile 409600

#查看修改生效
[root@253 ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 514799
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 2048

1. 命令用法

命 令:ulimit
功 能:控制shell程序的资源
语  法:ulimit [-aHS][-c ][-d <数据节区大小>][-f <文件大 小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆栈大小>][-t ][-u <程序数目>][-v <虚拟内存大小>]
补充说明:ulimit为shell内建指令,可用来控制shell执行程序的资源。

参  数:

-a  显示目前资源限制的设定。
-c  设定core文件的最大值,单位为区块。
-d <数据节区大小>  程序数据节区的最大值,单位为KB。
-f <文件大小>  shell所能建立的最大文件,单位为区块。
-H  设定资源的硬性限制,也就是管理员所设下的限制。
-m <内存大小>  指定可使用内存的上限,单位为KB。
-n <文件数目>  指定同一时间最多可打开的文件数。
-p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。
-s <堆栈大小>  指定堆叠的上限,单位为KB。
-S  设定资源的弹性限制。
-t  指定CPU使用时间的上限,单位为秒。
-u <进程数目>  用户最多可启动的进程数目。
-v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB。

ps
cat /proc/27568/limits

我们在制作启动程序的时候,使用ulimit -n 65535是不生效的

ulimit -HSn 65535
ulimit -n 65535

https://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/
http://limimgjie.iteye.com/blog/691270
http://blog.csdn.net/yangzhenzhen/article/details/8905846

FTP之proftp

第一章   proftpd之源码安装

下载 http://www.proftpd.org/

安装
tar xvf proftpd-1.3.4a.tar.bz2
cd proftpd-1.3.4a

./configure --prefix=/usr/local/proftpd
make ;make install

cd  /etc/init.d/

##自启动文件 也可以在这下载
proftpd

chmod +x proftpd

创建用户
#uid gid 要自己查看哦 这个比较不出错
ftpasswd --file=/etc/proftpd/ftpd.passwd --home=/home/xxxx \
--shell=/bin/false --name=xxxx \
--uid=1111 --gid=1111 --passwd

##创建用户 前提系统必有 www 用户
echo '123456' | /usr/local/proftpd/bin/ftpasswd --passwd --file=/usr/local/proftpd/etc/passwd --name=evan --uid=$(cat /etc/passwd |grep www |awk -F : '{print $3}') --gid=$(cat /etc/passwd |grep www |awk -F : '{print $3}') --home=/data/www/frg_act_91 --shell=/sbin/nologin --stdin

[root@appjoys_WEB proftpd]# cat /etc/passwd | grep www
www:x:507:507::/data/www:/bin/bash

##先useradd 一个(/sbin/nologin), ftp设置时新加的用户 UID GID设置成与 www一样就行了呢,因为 要给对方 用的目录是 www 所有
还是这个好最好还是指定 uid and gid 因为 有时 cat 出来的不唯一
echo '123456' | /usr/local/proftpd/bin/ftpasswd --passwd --file=/usr/local/proftpd/etc/passwd --name=evan --uid=507 --gid=507 --home=/data/www/frg_act --shell=/sbin/nologin --stdin
mkdir -p /data/www/frg_act_91
chown -R www:www /data/www/frg_act_91

vim /usr/local/proftpd/etc/proftpd.conf

####配置文件##
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName “ProFTPD Default Installation”
ServerType standalone
DefaultServer on

DefaultAddress 27.131.221.154

# Port 21 is the standard FTP port.
Port 21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances 30
# Set the user and group under which the server will run.
User www
Group www

# To cause every FTP user to be “jailed” (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~

# Normally, we want files to be overwriteable.
AllowOverwrite on

# Bar use of SITE CHMOD by default
DenyAll

# modified by Micheas Liao

AuthOrder mod_auth_file.c
AuthUserFile /usr/local/proftpd/etc/passwd

ServerIdent off
DeferWelcome off
TimesGMT off
UseReverseDNS off
Identlookups off
RequireValidShell off
WtmpLog off
AllowOverride off

SystemLog /var/log/proftpd.log

AllowUser act_frg act_frg_kaixin001 evan #  要注意 有这个
DenyAll
AllowAll evan act_frg  # 要注意 有这个
AllowAll
最后启动
/etc/init.d/proftpd start

********************
问题

安装好后提示error: no valid servers configured

# /etc/init.d/proftpd start
Starting proftpd: – warning: unable to determine IP address of ‘frg_xiaonei’
– error: no valid servers configured

Fatal: error processing configuration file ‘/usr/local/proftpd/etc/proftpd.conf’
解决方法如下:

在proftp.conf 配置文件里面添加下面一个信息

DefaultAddress 本机ip # 添加服务器IP绑定

 

几个要注意的地方
设置密码时 用户与密码要一致
配置文件 要记得 AllowUser ,and AllowAll 重启服务

<Limit LOGIN>
AllowUser 登录的所有用户名
DenyAll
</Limit>

503 错误,忘记allow
更新于20120913pm
以下文章也不错
http://os.chinaunix.net/a2012/0210/1310/000001310140.shtml

mysql创建用户以及授权

1.创建用户 ps 用户名一定要大于 4个字节
shell>mysql -uroot -p2240881 -e "CREATE USER evan IDENTIFIED BY '1234'";
mysql> CREATE USER evan IDENTIFIED BY '1234';
上面的两条命令是等效的,表示创建用户名为 evan ,密码 为 1234 并可以在任何地方登录,上面建立的用户可以在任何地方登陆。
如果要限制在固定地址登陆,比如localhost 登陆:
mysql> CREATE USER evan@localhost IDENTIFIED BY '1234';
2.授权
grant: #注意 其实这个就会创建用户的了,平时用这个比较多
grant select on 数据库.* to 用户名@登录主机ip identified by “密码”
grant all on 数据库.数据表名 to 用户名@登录主机ip identified by “密码”
mysql> GRANT ALL PRIVILEGES ON *.* TO user@localhost
grant all on dbname.tablename to user@login_host_ip identified by "password"

修改密码:
mysql> grant all privileges on pureftpd.* to evan@localhost identified by '2240';
mysql> flush privileges;

#增加一个用户dkmweb密码为evan,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、建表的权限。
grant select,insert,update,delete ,create on *.* to dkmwe@"localhost" identified by 'evan';
flush privileges;

查看用户信息:
mysql> select host,user from mysql.user
#查看数据库已经授权的用户
select user from mysql.db where db="dbname"
#查看用户和IP ,下面的例子是查看 下面的库有没有 对 19.145.130.1 的data授权,对烦人的数据中心的报警很有用
show grants for data@'19.145.130.1';
这样就能看此机 哪些库对 data@’19.145.130.1‘ 有授权

有关权限的一些知识

#创建用户并授权: data@204.152.2.2 并赋予数据库上所有表的 select 权限
grant select on *.* to data@204.152.2.2 identified by 'evan';
flush privileges;

#check
select * from mysql.user;
select * from mysql.db;

user 表中的每个权限都代表了对所有数据库都有的权限
db 表中的每个权限都代表了对指定数据库都有的权限

3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="evan" and Host="localhost";
mysql>flush privileges;

4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password(‘新密码’) where User=”phplamp” and Host=”localhost”;
mysql>flush privileges;

##20161101pm

1、GRANT命令使用说明:

先来看一个例子,创建一个只允许从本地登录的超级用户jack,并允许将权限赋予别的用户,密码为:jack.

mysql> grant all privileges on *.* to jack@'localhost' identified by "jack" with grant option;
Query OK, 0 rows affected (0.01 sec)
GRANT命令说明:
ALL PRIVILEGES 是表示所有权限,你也可以使用select、update等权限。
ON 用来指定权限针对哪些库和表。
*.* 中前面的*号用来指定数据库名,后面的*号用来指定表名。
TO 表示将权限赋予某个用户。
jack@’localhost’ 表示jack用户,@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方。注意:这里%有的版本不包括本地,以前碰到过给某个用户设置了%允许任何地方登录,但是在本地登录不了,这个和版本有关系,遇到这个问题再加一个localhost的用户就可以了。
IDENTIFIED BY 指定用户的登录密码。
WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项导致后来该用户不能使用GRANT命令创建用户或者给其它用户授权。
备注:可以使用GRANT重复给用户添加权限,权限叠加,比如你先给用户添加一个select权限,然后又给用户添加一个insert权限,那么该用户就同时拥有了select和insert权限。

2、刷新权限

使用这个命令使权限生效,尤其是你对那些权限表user、db、host等做了update或者delete更新的时候。以前遇到过使用grant后权限没有更新的情况,只要对权限做了更改就使用FLUSH PRIVILEGES命令来刷新权限。

grant select, insert, update, delete on testdb.* to common_user@'%'

grant all privileges on testdb to dba@’localhost’ 其中,关键字 “privileges” 可以省略
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;

ALTER 更改表,比如添加字段、索引等

查看当前用户的权限:
mysql> show grants;

查看某个用户的权限:
mysql> show grants for ‘jack’@’%’;

http://www.cnblogs.com/goodhacker/p/3373213.html

https://www.cnblogs.com/Richardzhu/p/3318595.html

权限分配 user ->db ->tables_priv-> columns_priv

见书p391

http://seawavecau.iteye.com/blog/282345

查看文件去掉注释

配置文件一般注释的东西太多了 vim打开却是整个文件,而我们要看的其实只是那些没注释的才对嘛
cat /etc/httpd.conf |grep -v '^#'

运维老鸟谈Linux运维工程师发展路线(转)

linux运维发展常见的就是下面两条路线:
第一条:运维应用–>系统架构–>运维开发–>系统开发
第二条:运维应用–>应用dba–>架构dba–>开发DBA

下面详细每个阶段的职位说明(以北上广为例):

01. 运维应用级别:
这个阶段就是玩别人的软件,例如:linux,nginx,mysql,php,nagios 大多数的linux运维工程师,网络工程师,系统工程师都是这个阶段。 这个阶段的工资平均3-10K。处在这个阶段的伙伴们要注意了。
这里属于金字塔的底端,工资是相对比较低的。

02. 系统架构级别:
这个阶段就是用已知软件架构大规模集群方案以及实现各种技术方案
这个就是所谓的系统架构师,如果是程序开发就是程序架构师。
这个阶段的工资平均10K-30K,属于运维应用上层,需要靠技术,
沟通,思想三条线通力配合才能达到这个水平。

03. 运维开发级别:
这个阶段就是利用已知语言,开发基本的应用层工具,例如:web管理系统
这个阶段的平均工资大概10-30K,如果具备前两个运维应用和系统架构的积淀,
那么工资30-60K很轻松。

04. 系统开发级别:
这个阶段就是修改开源的软件,或者开发新的服务软件(例如:也开发一个web软件,存储软件)与底层软件(例如:OS)
这个阶段的平均工资大概20-60K,如果具备前两个运维应用和系统架构的积淀,工资更高!

05. 数据库管理和架构:
这个阶段就是也主要是玩别人的软件,但是由于数据相对更重要,所以工资要一些。
数据库也需要架构,所以数据库的高级阶段工资也会较高,数据库开发职位不多,就不说了。
这个阶段的工资平均10K-40K。要求至少第一层运维应用的能力。其他能力有就是加分。

#####为什么架构师工资比运维高?
很多IT网友都知道架构师工资高,但不知道到底具备哪些素质工资才高?
不过也想工资高,于是拼命学习,N时间后,发现自己的工资还是再原地不动,或者没涨多少,
于是很困惑。过来找老男孩问个究竟。
其实架构师的工资也不都是很高的,架构师人员的工资也差距很大的,从10K到100K都有。
高级人员一般有两个方向决定价值:一个是知识宽度,一个是知识深度,随便哪个达到工资都会很高。
一般高级系统架构师主要还是知识的宽度,除了知识的宽度外,还有一个老生常谈的核心,
还是做人的人品(优秀的品质),职场做事的重要思想(就是如何把事做对)。具体可以参看:
http://edu.51cto.com/lesson/id-46911.html
为什么老提人品和做事态度、做事思想呢,这些是应聘者得到企业重用的大前提。
下面今天上午再架构师群里和小伙伴们讨论的几个大型架构系统架构的问题。
1、1000台服务器规模,JAVA和PHP混合环境,如何构建一套高效的从测试环境代码测试到
正式环境的代码发布、回滚以及软件更新、配置变更的可实施的解决方案及规范流程制度?
2、电商秒杀:前10秒100万并发抢购,请设计个方案解决之?
3、6个机房,近1000台服务器如何设计一套所有账号统一管理的解决方案?
4、不考虑硬件资源及带宽,请设计一套可行的网站架构,解决大流量DDOS攻击问题,请分层逐一详细说明?
5、500台服务器规模,如何实现跨机房容灾,即一个机房宕机,其他机房可以最快接管提供服务?
请勿泛泛而谈,通盘整体考虑给出可实施的解决方案细节。
上面5道题其实只是一个N多方案的几个试题而已,但这些答好了,就可以推测你别的也能搞定了。
我再群里和小伙伴们说,如果这5道答明白了,轻松月薪2-3W,想挑战的来老男孩教室办公室,
老男孩亲自面试,通过后负责推荐工作。
高级架构师最核心的就是思想(系统架构思想,程序架构思想),而不是某一个具体的技术点。
专注于部署各种网络服务的应用运维,只是应用软件,脑细胞的使用和架构师无法比的,所以工资必然低。
架构师是靠思想,经验再赚钱。所以,工资必然高。所以,简单的说,你的工资高不高就看你付出的脑细胞多不多。
有时候,面试者觉得自己很好了。但是面试官感觉不行,就是因为面试官的头脑框架比面试者大。
所以面试者解答问题的框架、高度以及方案细节能否达到面试官头脑的框架高度直接决定工资的多少。

所有评价你会不会不是你自己觉得咋样,而是别人(面试者)的评判,对高级人员首先会看人品,态度。
临时的一篇随笔。自我保留记录,有待完善,谢谢大家!

将DOS格式文本文件转换成UNIX格式

有些哥做了运维又喜欢在win 下写脚本 ,于是常常问我 为什么他的脚本好好的 在linux上运行起来各种报错, 竟然不能叫他们像我一样用linux作桌面写脚本,只好找个办法了

方法一 除了上次说的 dos2uinx 因为他一般不内置在系统中,不如下面的这个方便用

方法二 用vim
解决方法:vim 脚本名
:set ff
查看这里结果是fileformat=dos,如果如这个结果,你看到这里就知道问题了吧

设置:
set ff=unix

ps
nix系统本身的一些文件,执行set ff?可以看到提示fileformat=unix,而我们传递过去的是fileformat=dos,这两种系统在换行符上处理稍有不同,如果一些配置文件依赖不同的行数是不同的配置,可能就会引起错误,尤其执行的时候可能不会报警就更加隐藏了问题。我们有时候用vim打开一些文档发现里面带^M字符其实就是这个问题。