Monthly Archives: 8月 2015

8月 30th, 2015

昨天服务器到期,之前的服务器由于空间小,不能满足现在的服务要求,就新购买了一个服务器,目前正在调试安装中!

在调试过程中,发现系统中有很多僵尸进程,现在就是找出这些僵尸进程,并将其杀死。

先看看这些僵尸是什么程序来的

ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'

因为状态为 z或者Z 的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程

出现很多僵尸经常.如果一个一个来杀的话.

这样处理的速度有点慢,直接来个快速干掉所有僵尸进程的命令

ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9

再查看,僵尸进程没有了!

 

 

8月 27th, 2015

Linux下查看apache连接数

1、查看apache当前并发访问数:

#对比httpd.conf中MaxClients的数字差距多少。 netstat -an | grep ESTABLISHED | wc -l
2、查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):

ps aux|grep httpd|wc -l

3、可以使用如下参数查看数据

ps -ef|grep httpd|wc -l
#1388
#统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。
#表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。
netstat -nat|grep -i "80"|wc -l
#4341
#netstat -an会打印系统当前网络链接状态,而grep -i "80"是用来提取与80端口有关的连接的,wc -l进行连接数统计。
#最终返回的数字就是当前所有80端口的请求总数。
netstat -na|grep ESTABLISHED|wc -l
#376
#netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。
#最终返回的数字就是当前所有80端口的已建立连接的总数。
netstat -nat||grep ESTABLISHED|wc
#可查看所有建立连接的详细记录

4、查看Apache的并发请求数及其TCP连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'

(这条语句是从 新浪互动社区事业部 新浪互动社区事业部技术总监王老大那儿获得的,非常不错)返回结果示例:

LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057

其中:
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数。

5、输出每个ip的连接数,以及总的各个状态的连接数

netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'
TAGS: ,
8月 27th, 2015

一、开放80端口

WEB服务器IP 172.16.100.1

iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -s 172.16.100.1 -p tcp --sport 80 -j ACCEPT

如果不是开放的80端口而是其他端口请将80端口改变成你需要的端口

二、关于icmp协议的规则

允许本机 ping 通外网,但不允许外网 ping 本机
 iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
允许外网 ping 本机
 iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
 iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

三、开放FTP服务

大家都知道ftp返回数据的时候端口不是固定的,所以我们不能像开放web服务的那样直接开放某个端口,所以很多人开放了21端口之后都不能正常的访问ftp服务器,在里我们就使用Iptables的扩展模块来开放ftp

3.1、开启被动模式FTP支持

/etc/sysconfig/iptables-config里面添加ip_nat_ftp、ip_conntrack_ftp模块,如下:
vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_nat_ftp"
IPTABLES_MODULES="ip_conntrack_ftp"

3.2、然后重启iptables或者执行如下命令

lsmod | grep ftp (查看是否加载ftp模块)
modprobe ip_nat_ftp(加载ftp模块)
lsmod | grep ftp (查看模块是否被加载)

3.3、之后只需要添加规则

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
8月 27th, 2015

hostease共享主机购买流程

1.首先需要先注册hostease账户.

注册链接:https://manage.hostease.com/register.php

如图:

h1

在上面填写个人信息,填写完成后,输入垃圾邮件机器人验证,勾选我已经阅读并同意服务条款.最后点击注册.

h2

注册成功后,会自动发送一封邮件到您的注册邮箱中.

 

注意:填写个人信息的时候,不要填写中文,否则您的域名将无法注册成功.

 

 

2,购买主机

登陆HE账户后,点击右边的订购:

h3

会进入下面的界面,可以选择自己需要购买的服务,例如购买主机,注册域名.购买ssl之类的.

h4

主机分为四类:共享主机(linux),windows主机,香港主机(linux),香港windows主机.

您想购买哪一款,点击下面的现在订购,进入下面的界面:

h5

 

这上面有三个选项,每个都是不同的,

如果您没有域名,想要注册一个新的域名的话,就选择第一项或者第三项.

转移域名选择第二项

您自己有域名的话,就选择第三项.直接在下面的输入框输入域名就可以了.

 

如果注册新域名的话,输入域名后,点击继续,hostease系统自带检测功能.如下图

h6

确认域名后,点击继续,会进入产品配置界面.

h7

在这里可以选择购买主机周期,月付,半年付,年付,两年付. 默认是月付.

下面的可配置选项,是独立ip,如果购买独立ip的话,就勾选.

插件是ssl证书,这个ssl证书购买的前提是需要购买独立ip的.

最后点击添加到购物车.进入域名配置界面

h8

插件是id保护是whois保护,以前是免费的,现在需要收取3.5美元的费用.需要就勾选吧,不需要的话,就不用了.

点击更新购物车

h9

这是订单概况,如果不满意,上面的绿色字体可以对主机和域名进行重新设置.

促销码这一项是需要填写优惠码的. 填写好后,点击验证码上面会给您优惠的.

最后点击结账

会在当前页面下面显示出

h10

 

这个时候需要选择付款方式,还有下面的一些备注信息.勾选我已经阅读并同意服务条款.

最后点击订单完成.会转到

h11

这个界面,点击现在付款,会跳到支付宝登陆界面,

登陆支付宝付款就可以了.

hostease主机是自动开通的,域名也是自动注册的,您付款后,就会收到一封主机开通的邮件信息.上面有主机控制面板的登陆信息,按照上面的信息登陆控制面板,上传网站程序,安装网站就可以了.

8月 27th, 2015

虚拟主机也有国内和国外之分,中国的站长们是应该选择国内虚拟主机还是国外虚拟主机呢?这是每一个站长都会遇到的一个问题。

所谓国内虚拟主机就是指虚拟主机服务器托管在国内的机房,不包括香港和澳门,而国外虚拟主机指的是虚拟主机服务器托管在国外的机房(含港澳),从价格上 看,同等配置的虚拟主机,国外的通常比国内要便宜一些,但在技术支持、支付、速度上国外的主机通常又处于劣势,下面是我总结的国内和国外虚拟主机各自的优 缺点。

虚拟主机

国内虚拟主机的优点:

1、国内用户访问速度快,因为网站在国内,用户访问的时候无需走海底光缆,因此速度通常会比国外虚拟主机快。

2、服务本地化,国内虚拟主机客服通常的上下班时间和站长相同,提供支持的方式多种多样,例如QQ、电话、邮件等,沟通和交流通常不会有什么问题。

3、域名安全,国内的监管部门通常对于国内主机用户不会采取域名黑名单的策略,因此域名可以保证安全,而使用国外虚拟主机的话,一旦网站出现敏感内容,网站域名就有可能进入黑名单,导致整个网站无法从国内访问,即使更换主机和IP也无法恢复。

国内虚拟主机的缺点:

1、必须备案,而且备案过程较为繁琐,通常要几周到几个月时间才能备案成功,而且某些类型的网站需要提供的资料很难获取,导致备案成功率不高,很多站长在购买了国内主机后都因为备案最后放弃而改成国外主机了。

2、电信网通互联不通,电信线路的主机网通访问速度很慢,网通线路的主机电信访问速度很慢,速度慢到比访问国外主机还慢。就象那句笑话所说的,“在Internet上,最远的距离不是中国和美国,而是网通和电信”,

3、服务良莠不齐,因为虚拟主机门槛低,所以服务商鱼龙混杂,很多服务商存在过度销售的情况。

国外虚拟主机的优点:

1、价格便宜,服务器稳定,国外主机市场成熟规范,网络技术一流,一般来说,国外的虚拟主机服务的价格都较低廉。在这一点上,国内的虚拟主机市场是无法与国外的虚拟主机商相比的。因此,如果想降低网站运作成本的话,可以考虑国外低廉且优质的虚拟主机。

2、克服电信网通互访问题,无论电信用户还是网通用户,访问国外主机的速度都不算很慢。

3、免备案,目前中国工信部对互联网的管理仅限于对国内ISP接入商的强行管制,国外(包括香港)的ISP不受工信部管理,因此不需要备案即可使用,无法在中国备案的网站都可以无限制接入国外虚拟主机。

4、功能服务较好,国外的产品大多在技术上有优势,提供的主机服务功能相对来说会较多较全面。

国外虚拟主机的缺点:

1、容易被封,因为工信部无法直接管理国外网站,因此大多通过屏蔽的方式禁止中国用户对某些网站的访问,通常的屏蔽包括IP屏蔽和域名屏蔽,如果是IP 屏蔽的话,通常换一个IP网站就又可以访问了,而域名屏蔽的话即使更换IP也无法访问,网站一旦被屏蔽域名,通常情况下只能采取更换域名的方法,流量损失 会非常大。还有一种情况是被牵连,由于在虚拟主机的设置上,一个IP通常被赋给多个不同使用者的网站,而一旦其中的一个网站被封IP,其他网站会被牵连导 致同样无法访问,也一起被封了。

2、速度较慢,通常情况下,中国用户访问国外主机的速度都会比访问国内主机的速度慢。

3、服务不本地化,通常国外主机并没有专门的中文客服,因为时差的原因,美国的白天正好是中国的晚上,交流沟通不变,国际电话成本也很高,通过邮件交流 就要求站长熟练掌握英文,通过英文和客服交流沟通,国外主机的网站服务和界面通常都是英文,如果国内站长的英文不好的话,可能会遇到一个语言障碍。

4、支付,国外主机的支付通常要信用卡和Paypal,大多不支持支付宝,因此国内用户在购买国外主机时支付往往还会遇到麻烦。

综上所述,国外主机跟国内主机仍然是各有优势和劣势,对于主要服务于中国用户的网站来说,使用国内主机确实还略有优势,即使麻烦一些,至少域名是安全的,如果网站内容是英文,主要服务国外用户,比如外贸类型的网站,那使用国外主机就更为合适。

8月 19th, 2015

先来解释一下,什么是 LAMP。正如标题所言,LAMP 实际上就是 Linux、Apache、MySQL、PHP 四个名称的缩写,当然最后一个 “P” 还有其他说法是 Perl 或者 Python。

一般情况下,安装的都是最新的正式版,除非你有特殊需求,要安装指定的版本,本文暂不讨论。从最基础的开始,一点点完成一个可用的 Linux 主机。这里就开始介绍如何在 CentOS 6.0 上安装 LAMP 组件。经过如下语句安装,目前安装到的版本为:

PHP:5.3.2Apache:2.2.15MySQL:5.1.52

一、安装 MySQL

首先来进行 MySQL 的安装。打开超级终端,输入:

yum install mysql mysql-server

安装完毕,让 MySQL 能够随系统自动启动:

chkconfig –levels 235 mysqld on

/etc/init.d/mysqld start

设置 MySQL 数据 root 账户的密码:

mysql_secure_installation

当出现如下提示时候直接按回车:

Enter current password for root

出现如下再次回车:

Set root password? [Y/n]

出现如下提示输入你需要设置的密码,回车后在输入一次确认:

New password:

接下来还会有四个确认,分别是:

  • Remove anonymous users? [Y/n]
  • Disallow root login remotely? [Y/n]
  • Remove test database and access to it? [Y/n]
  • Reload privilege tables now? [Y/n]

直接回车即可。

二、安装 Apache 组件

由于 CentOS 已经封装了 Apache,直接运行安装:

yum install httpd

同样配置系统让 Apache 随系统启动:

chkconfig –levels 235 httpd on

配置完毕,启动 Apache:

/etc/init.d/httpd start

此时已经可以访问你的服务器,不出意外的话,能够看到 “Apache 2 Test Page powered by CentOS” 的测试页面。注意,如果其他机器访问这台服务无法显示这个页面,而直接在这台服务器上可以访问的话,一般情况下是 CentOS 自带的防火墙禁止了。你只需要进入防火墙,将 “WWW” 对应的 “80” 端口打开即可。

在防火墙上开启80端口:

先进入iptables配置文件:

vi /etc/sysconfig/iptables

然后加入下面这段代码

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

 

 

注意:在 CentOS 中 Apache 的默认根目录是 /var/www/html,配置文件 /etc/httpd/conf/httpd.conf。其他配置存储在 /etc/httpd/conf.d/ 目录。

三、安装 PHP

输入如下指令安装 PHP:

yum install php

需要重新启动 Apache 服务:

/etc/init.d/httpd restart

四、测试 PHP 相关信息

这步实际上可以省略,但是为了测试是否安装成功,你可以新建一个 PHP 页面进行测试,使用 vim 编辑器新建:

vi /var/www/html/info.php

按 “i” 键进行编辑,输入:

<?php phpinfo(); ?>

编辑完毕,按 “ESC” 键退出编辑模式,接着输入:

:wq

然后回车,即保存并退出。

此时你可以访问你的站点地址,例如 “http://192.168.1.2/info.php”,查看是否能看到相关的 PHP 信息。

 

看到这样的图,就说明 PHP 安装成功了。

五、将 PHP 模块和 MySQL 模块关联起来

还需要将 PHP 和 MySQL 关联起来,才能正常工作。搜索模块:

yum search php

安装相关模块:

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

需要重启 Apache 模块才能生效:

/etc/init.d/httpd restart

再次刷新刚才建立的 “info.php” 页面,往下拉找到相关 MySQL 模块,看是否检测到相关信息。

 

 

 

 

 

 

后加::::
安装php5.4
1.环境
centos6.4 x86_64

2.添加源
wget -q -O – http://www.atomicorp.com/installers/atomic | sh

3.排除php5.3的包,我们只需要php5.2.17(这一步是排除5.3的)

vim /etc/yum.conf

增加这一行:exclude=*5.3.*
4.安装

yum install php php-mysql php-xml php-gd php-mbstring php-cli

大功告成!

 

TAGS: ,
8月 19th, 2015

部分使用PHP 5.3的主机可能会有下面的提示:

(PHP 5.3 and above) Please set ‘request_order’ ini value to include C,G and P (recommended: ‘CGP’) in php.ini
由于在PHP最新的版本中增加了一个配置项目“request_order”,默认值为“GP”,这个存在一定的安全风险。这里我们建议用户将配置更改为“CGP”

可以在phpinfo中查看对应的php.ini配置目录,找到下面选项:

1
request_order = “GP”
更改为

1
request_order = “CGP”
重启服务器后即可。

由于此选项会影响服务器的安全,请大家务必及时更改

TAGS:
8月 19th, 2015

1.  通过yum安装 ppp:

$ yum install ppp perl -y

2. 下载安装pptpd,你可以在这个网站获得 http://poptop.sourceforge.net/yum/stable/packages/ :

(根据操作系统位数而定,这里是64位的x86_64版本)


$ wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.x86_64.rpm
$ rpm -Uhv pptpd-1.3.4-2.el6.x86_64.rpm

(这里是32位的版本)

$ wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.i686.rpm
$ rpm -ivh pptpd-1.4.0-1.el6.i686.rpm

3. 安装好之后打开 /etc/pptpd.conf 增加或者修改下面的配置:

localip 172.16.0.1
remoteip 172.16.0.2-254

4. 打开 /etc/ppp/options.pptpd 添加vpn的dns(使用google的dns):

ms-dns 8.8.8.8
ms-dns 8.8.4.4

5. 给vpn添加账户,打开 /etc/ppp/chap-secrets 按照下面的格式添加用户名密码:

pcvpn pptpd 123456 *

格式是这样的: [username] [space] [server] [space] [password] [space][IP addresses]

6. 我们需要开启服务的的IP转发. 打开 /etc/sysctl.conf 更改下面的配置:

net.ipv4.ip_forward = 1
#net.ipv4.tcp_syncookies = 1 注释掉这一行

7. 运行下面的命令,使配置生效:

$ sysctl -p

8. 在防火墙中添加规则允许NAT转换 设置清空防火墙使VPN用户可以连接

$ service iptables start
$ iptables -F
$ iptables -X
$ iptables -Z
$ service iptables save
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
$ sed -i "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g" /etc/sysctl.conf
$ service iptables save 
$ service iptables restart

注意:当你做完第八步的时候检查一下  /etc/sysconfig/iptables.确保 POSTROUTING 规则在任何 REJECT 规则前

面根据VPS实现的不同,主要有openVZ和XEN,hyper-v规则分别为:

OpenVZ: iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source **.**.**.**(这里为VPS公网
IP)
XEN:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

9.  开启pptpd服务的自启动,并重新服务器

$ chkconfig pptpd on 
$ chkconfig pptpd on

到这一步,VPN服务器就配置成功了,可以使用帐号pcvpn 密码123456 登陆使用了,你就可以通过VPN客户端连接打服

务器了. 你可以查看 /var/log/message for ppp and pptpd 相关日志.

TAGS: ,
8月 19th, 2015

如何在windows 批量添加IP地址?一行DOS命令快速设置29/61/255个IP地址。你要做的就是批量设置IP的修改命令(如下),运行cmd命令打开dos窗口,然后粘贴命令,回车即可:

for /l %i in (其实数字,1,结束数字) do  netsh interface ip add address “本地连接” IP前缀.%i 子网掩码

范例:

IP地址段 Subnet:      188.82.131.81/29
子网掩码 Netmask:     255.255.255.248
网关地址 Gateway:     188.82.131.81
广播地址 Broadcast:     188.82.131.87
可用IP地址:     188.82.131.82 – 188.82.131.86(共5个可用IP)

DOS命令:
for /l %i in (83,1,86) do  netsh interface ip add address “本地连接” 188.82.131.%i 255.255.255.248

IP地址段 Subnet:      188.82.136.0/24
子网掩码 Netmask:     255.255.255.0
网关地址 Gateway:     188.82.136.1
广播地址 Broadcast:     188.82.136.255
可用IP地址:     188.82.136.2 – 188.82.136.254(共253个可用IP)

DOS命令:
for /l %i in (2,1,254) do  netsh interface ip add address “本地连接” 188.82.136.%i 255.255.255.0

 

注:网关IP手动添加上即可。

TAGS: ,
8月 18th, 2015

cPanel和WHM在/scripts文件夹中提供了大量预先定义的脚本。可用脚本如下:

检查ImageMagick是否已经安装

/scripts/checkimagemagick

安装imagemagick

/scripts/installimagemagick

更新cpanel

/scripts/upcp --force

检查perl模块

/scripts/checkperlmodules

重启cpanel

/etc/init.d/cpanel restart

查看php.ini位置

php -i | grep php.ini

修复horde

/scripts/fullhordereset或者/usr/local/cpanel/bin/update-horde --force

修复roundcube

/usr/local/cpanel/bin/update-roundcube --force

复squirrelmail

/usr/local/cpanel/bin/update-squirrelmail --force

安装最新版本的exim

/scripts/betaexim

寻找大小接近2GB的日志

/scripts/biglogcheck

重建exim.conf

/scripts/buildeximconf

查看/usr/local/apache/conf/httpd.conf检测不良用户

/scripts/checkbadconf

检测GD是否支持

/scripts/checkgd

安装GD

/scripts/installgd

检测Apache是否已达到允许的最多客户端

/scripts/checkmaxclients

检测你系统上的Perl版本是否已经过时

/scripts/checkoldperl

检测以确认rsync是最新的

/scripts/checkrsync

确认yum已正确设置

/scripts/checkyum

清空老的带宽日志

/scripts/cleanbw

清空老的GD安装并重新安装GD

/scripts/cleangd

删除一个mySQL数据库

/scripts/dropmysqldb

升级Apache

/scripts/easyapache

修改用户的定额

/scripts/editquota

安装/更新exim

/scripts/eximup

检测你的php版本文件是不是最新的

/scripts/findphpversion

更新proftpd

/scripts/fixproftpddupes

修复quotas,有时候用户的配额会显示0则需要运行以下脚本

/scripts/fixquotas

检测所有用户的配额(空间占用量)

/scripts/ftpquaotacheck

TAGS: , ,