Squid缓存 高负载情况下的最大可打开文件数ulimit设置

这个问题只有在squid压力大时才会出现,linux默认的用户最大可开启文件数为1024,而编squid 2.6的版本的话编译时默认参数为max_filedesc 16384,这样在高负债下squid 的性能就会很受影响。所以我们可以用ulimit 命令改一下啊,增大这个数值。
#ulimit -Hn 20480
备注:用-a查询一下是否生效,如果没生效就加上S参数:ulimit -HSn 20480

查看squid具体用了多少文件描述符的方法
#squidclient -p 80 -U manager -W squidstats mgr:info
输出结果中:
File descriptor usage for squid:
Maximum number of file descriptors: 16384
Largest file desc currently in use: 169
Number of file desc currently in use: 132
Files queued for open: 0
Available number of file descriptors: 16252
Reserved number of file descriptors: 100
Store Disk files open: 39
IO loop method: epoll
表示最大的文件描述符为16384,当前使用的最大的文件描述符是169,总共在使用的有132个。

附:ulimit命令的详细介绍
语  法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大小>][-t <CPU时间>][-u <程序数目>][-v <虚拟内存大小>]
补充说明:ulimit为shell内建指令,可用来控制shell执行程序的资源。
参  数:
-a  显示目前资源限制的设定。
-c <core文件上限>  设定core文件的最大值,单位为区块。
-d <数据节区大小>  程序数据节区的最大值,单位为KB。
-f <文件大小>  shell所能建立的最大文件,单位为区块。
-H  设定资源的硬性限制,也就是管理员所设下的限制。
-m <内存大小>  指定可使用内存的上限,单位为KB。
-n <文件数目>  指定同一时间最多可开启的文件数。
-p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。
-s <堆叠大小>  指定堆叠的上限,单位为KB。
-S  设定资源的弹性限制。
-t <CPU时间>  指定CPU使用时间的上限,单位为秒。
-u <程序数目>  用户最多可开启的程序数目。
-v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB。

发表在 squid | 标签为 , | Squid缓存 高负载情况下的最大可打开文件数ulimit设置已关闭评论

Ghost重装系统重启提示Windows failed to start. A recent hardware or software change might be the cause. File:\Boot\BCD

开机提示Windows failed to start. A recent hardware or software change might be the cause. To fix the problem

IMG_20160309_171435

File:\Boot\BCD
Status:0xc000000e
Info:An error occurred while attempting to read the boot configurat data

单纯的重启修复系统分区没用,后来发现磁盘分区有问题,终于解决了。

错误原因:引导出错,一般预装WIN8系统,更改系统经常会建成引导出错。
解决方案:可以使用U大师、大白菜、老毛桃等u盘启动WIN8 PE后。运行DISKGenius。把分区表格式GUI转换为MBR格式。然后重新分区,再重装系统就OK。

发表在 其他类别 | 标签为 | Ghost重装系统重启提示Windows failed to start. A recent hardware or software change might be the cause. File:\Boot\BCD已关闭评论

vsftpd用户权限详细说明

主要命令权限如下:

=====================最常用的,出去对应命令即可========================
MKD – make a remote directory 新建文件夹
NLST – name list of remote directory
PWD – print working directory 显示当前工作目录
RETR – retrieve a remote file 下载文件
STOR – store a file on the remote host 上传文件
DELE – delete a remote file 删除文件
RMD – remove a remote directory 删除目录
RNFR – rename from 重命名
RNTO – rename to 重命名
====================================================================
ABOR – abort a file transfer 取消文件传输
CWD – change working directory 更改目录
DELE – delete a remote file 删除文件
LIST – list remote files 列目录
MDTM – return the modification time of a file 返回文件的更新时间
MKD – make a remote directory 新建文件夹
NLST – name list of remote directory
PASS – send password
PASV – enter passive mode
PORT – open a data port 打开一个传输端口
PWD – print working directory 显示当前工作目录
QUIT – terminate the connection 退出
RETR – retrieve a remote file 下载文件
RMD – remove a remote directory
RNFR – rename from
RNTO – rename to
SITE – site-specific commands
SIZE – return the size of a file 返回文件大小
STOR – store a file on the remote host 上传文件
TYPE – set transfer type
USER – send username

发表在 服务器相关 | 2条评论

Sql Server 2012集群提示:计算机已加入群集 解决方案

之前创建的集群出现故障,删除主服务器上的集群服务后,集群节点无法再次被添加进去了,网上查阅了不少资料,终于再微软全球支持中心的一个技术博客找到了相关思路。方法如下:

您只需要在这台服务器上以管理员身份运行如下命令:

cluster node <computername> /forcecleanup

举例来说,输入“cluster node host.xxxx.com /forcecleanup“就可以了。

运行完此条命令再尝试将这台服务器加进群集看是否成功。

具体步骤如下:

您可以直接以管理员身份运行Cmd, 但在Cmd中,您只需要输入以下信息:

cluster node /force

122

发表在 服务器相关 | 标签为 | 3条评论

解决discuz X2.0 X3.2中后台等待审核的回复点进去空白

两种解决方法,推荐使用第二种方法。
第一种:登录phpmyadmin,找到你的数据库名称和表名为pre_home_comment_moderate,单击浏览,然后把表里面的数据全部删除。
第二种:登录论坛后台,依次单击“站长”-“数据库”-“升级”,然后在“Discuz! 数据库升级 – 请将数据库升级语句粘贴在下面:”下面的输入框输入:
DELETE FROM pre_common_moderate WHERE 1
单击“提交”即可。

发表在 网站技术 | 标签为 | 解决discuz X2.0 X3.2中后台等待审核的回复点进去空白已关闭评论

rsync实现异机同步文件

先确认一下服务器是否安装rsync:rpm -qa|grep rsync,如果没有安装的话yum安装吧,很方便。

服务端:192.168.0.33  同步目录:/home

客户端:192.168.0.34  同步目录:/home

1、服务端配置

vi /etc/rsyncd.conf   #创建配置文件rsyncd.conf

配置文件内容:

****************************************
uid=nobody
gid=nobody
use chroot = no
max connections = 10
pid file = /var/run/rsyncde.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

Timeout = 300
Log format = %t %a %m %f %b
[backup]
path=/home/
ignore errors
read only = yes
list = no
auth users = rsync
secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.0.34
hosts deny = 0.0.0.0/0
****************************************

vi etc/rsyncd.secrets #创建密码文件
****************************************
rsync:rsync
****************************************

2、客户端

客户端就不用启动rsync服务了

vi /etc/rsyncd.secrets #这里也是创建密码文件,文件名字自定义,但内容只需要填目标服务授权密码。内容如下:
****************************************
rsync
****************************************

chmod 600 /etc/rsyncd.secrets #更改文件权限

 

配置完成了,测试下没问题就可以设置定时任务了:

测试代码:rsync -vzrtopg –delete –progress –password-file=/etc/rsyncd.secrets  rsync@192.168.0.33::backup /home

定时任务:*/1 * * * * rsync -vzrtopg –delete –progress –password-file=/etc/rsyncd.secrets  rsync@192.168.0.33::backup /home > /dev/null 2>&1
测试时间设置的是1分钟,随意修改。

20150929181429

发表在 Linux相关 | 标签为 , | rsync实现异机同步文件已关闭评论

squid和nginx的启动及停止

一, nginx
1,停止
从容关闭nginx
sudo kill -QUIT Nginx主进程id
 快速停止
sudo kill -TERM nginx主进程id
 强制停止
sudo pkill -9 nginx
2,启动
 sudo /usr/sbin/nginx -c /etc/nginx/nginx.conf
3,检查,重启
 sudo /usr/sbin/nginx -t -c /etc/nginx/nginx.conf
sudo kill -HUP `ps -ef |grep nginx|grep master|awk ‘{print $2}’`
二,squid
1,停止
sudo /usr/local/squid3/sbin/squid -k shutdown
或者
sudo kill -TERM squid
2,启动
sudo /usr/local/squid3/sbin/squid -s
3,重启
sudo /usr/local/squid3/sbin/squid -k reconfigure
——————————————–
#!/bin/sh
# restart squid.
sq=”`ps aux |grep ‘squid’ |grep -v ‘grep’|awk ‘{print $2}’`”
for pid in ${sq}
do
    sudo kill -9 ${pid}
done
sleep 2
sudo /usr/local/squid3/sbin/squid -s
发表在 squid | 标签为 | squid和nginx的启动及停止已关闭评论

去除谷歌浏览器input及textarea表单边框特效

去掉Chrome谷歌浏览器默认的input、textarea的边框(border)和背景(background) 及Chrome下不可更改textarea大小。

可以用下面的css代码去掉所有元素的边框,

*:focus {outline: none;}
用下面的代码去掉你要去掉的元素的边框,
.nohighlight:focus { outline:none; }
你也可以给元素增加你希望的边框,

.changeborder:focus { outline:Blue Solid 4px; }
Chrome允许用户控制textarea表单域的大小,在CSS中加入下面一句就可以了,

textarea {resize:none;}

发表在 其他类别 | 标签为 | 去除谷歌浏览器input及textarea表单边框特效已关闭评论

集群服务加入域服务后需要禁止普通用户登陆(如何禁止administrator登录远程桌面)

方法有两种,一种是禁止登陆,一种是修改权限

1.控制面板->管理工具->本地安全策略->本地策略->用户权限分配->拒绝通过终端服务登录,双击添加administrator

2.将原administrator改名,新建一个隶属于guests的administrator用户

发表在 服务器相关 | 标签为 | 集群服务加入域服务后需要禁止普通用户登陆(如何禁止administrator登录远程桌面)已关闭评论

mysql主从同步后日志问题,附mysql binlog日志自动清理方法

mysql开启主从同步后,必须打开binlog,每天会产生大量的日志文件。如果开启同步的时候没设置expire_logs_days,那系统默认是0,就是不删除,不断的增加。其实解决这个问题非常简单,只需要登陆mysql,执行: set global expire_logs_days = 3;日子你随便定,让系统自动清空旧日志。下面是mysql binlog日志自动清理的方法整理,仅供参考。

说明:
当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间。
mysql-bin.000001
mysql-bin.000002
mysql-bin.000003

有三种解决方法:1.关闭mysql主从,关闭binlog;2.开启mysql主从,设置expire_logs_days;3.手动清除binlog文件,> PURGE MASTER LOGS TO ‘MySQL-bin.010′;

实现:
1.关闭mysql主从,关闭binlog
# vim /etc/my.cnf //注释掉log-bin,binlog_format
# Replication Master Server (default)
# binary logging is required for replication
# log-bin=mysql-bin
# binary logging format – mixed recommended
# binlog_format=mixed
然后重启数据库

2.重启mysql,开启mysql主从,设置expire_logs_days
# vim /etc/my.cnf //修改expire_logs_days,x是自动删除的天数,一般将x设置为短点,如10
expire_logs_days = x //二进制日志自动删除的天数。默认值为0,表示“没有自动删除”
此方法需要重启mysql,附录有关于expire_logs_days的英文说明

当然也可以不重启mysql,开启mysql主从,直接在mysql里设置expire_logs_days
> show binary logs;
> show variables like ‘%log%’;
> set global expire_logs_days = 3;

3.手动清除binlog文件
# /usr/local/mysql/bin/mysql -u root -p
> PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY); //删除10天前的MySQL binlog日志,附录2有关于PURGE MASTER LOGS手动删除用法及示例
> show master logs;

也可以重置master,删除所有binlog文件:
# /usr/local/mysql/bin/mysql -u root -p
> reset master; //附录3有清除binlog时,对从mysql的影响说明

附录:
1.expire_logs_days英文说明
Where X is the number of days you’d like to keep them around. I would recommend 10, but this depends on how busy your MySQL server is and how fast these log files grow. Just make sure it is longer than the slowest slave takes to replicate the data from your master.
Just a side note: You know that you should do this anyway, but make sure you back up your mysql database. The binary log can be used to recover the database in certain situations; so having a backup ensures that if your database server does crash, you will be able to recover the data.

2.PURGE MASTER LOGS手动删除用法及示例,MASTER和BINARY是同义词
> PURGE {MASTER | BINARY} LOGS TO ‘log_name’
> PURGE {MASTER | BINARY} LOGS BEFORE ‘date’
删除指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除MySQL BIN-LOG 日志,这样被给定的日志成为第一个。

实例:
> PURGE MASTER LOGS TO ‘MySQL-bin.010’; //清除MySQL-bin.010日志
> PURGE MASTER LOGS BEFORE ‘2008-06-22 13:00:00’; //清除2008-06-22 3:00:00前binlog日志
> PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY); //清除3天前binlog日志BEFORE,变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。

3.清除binlog时,对从mysql的影响
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。

发表在 Linux相关 | 标签为 | mysql主从同步后日志问题,附mysql binlog日志自动清理方法已关闭评论