ab模拟压力测试,iptables防火墙限制同一IP的访问

提示:RPM包安装的apache自带ab命令。

(1) 在客户机上用命令ab命令进行压力测试

Select Code
1
2
ab -n 100000 -c 40 http://106.14.41.112/index.html
# -n 总请求数 -c 每次并发的连接数

(2) 观察服务器的连接数、性能情况

Select Code
1
2
3
4
5
w
# 查看负载情况

netstat -an|grep 80|grep 220.115.189.54|wc -l
# httpd请求数

(3) 加入iptables的规则,来限制对http 80端口的访问

Select Code
1
2
iptables -I INPUT -p tcp --dport 80 -s 220.115.189.54 -m connlimit --connlimit-above 10 -j REJECT
# 控制单个ip的并发访问数量

(4) 在客户端,再一次执行ab命令,查看结果:

Select Code
1
2
3
4
5
6
7
[root@localhost /]# ab -n 1000000 -c 100 http://106.14.41.112/ecshop/index.php
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 106.14.41.112 (be patient)
apr_socket_recv: Connection refused (111)

CentOS 6.5源码安装PHP7.1

注意:本文章是作者实验安装记录日志。源码安装实验比较久,请勿尝试。

学习总结步骤:

1、源码安装httpd-2.2.*
2、源码安装php7.*

在执行./configure检测环境时,会报错提示:
configure: error: xml2-config not found. Please check your libxml2 installation.

解决办法:
rpm -qa | grep libxml2 # 检查是否安装了libxml2包

# 重新安装libxml2和libxml2-devel包
yum install libxml2
yum install libxml2-devel -y

解决:xml2-config文件不存在的问题。

这样,就在执行./configure就不会报错。然后make, make install

3、配置文件php.ini

4、检查httpd.conf是否开启了php7模块
LoadModule php7_module modules/libphp7.so

摘要:PHP7源码包中的INSTALL文件

Select Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
1. Obtain  the  Apache HTTP server from the location listed above, and
       unpack it:
gzip -d httpd-2_x_NN.tar.gz
tar -xf httpd-2_x_NN.tar

    2. Likewise, obtain and unpack the PHP source:
gunzip php-NN.tar.gz
tar -xf php-NN.tar

    3. Build  and install Apache. Consult the Apache install documentation
       for more details on building Apache.
cd httpd-2_x_NN
./configure --enable-so
make
make install

    4. Now  you  have  Apache  2.x.NN  available under /usr/local/apache2,
       configured  with  loadable  module  support  and  the  standard MPM
       prefork.  To  test  the  installation use your normal procedure for
       starting the Apache server, e.g.:
/usr/local/apache2/bin/apachectl start

       and stop the server to go on with the configuration for PHP:
/usr/local/apache2/bin/apachectl stop

    5. Now,  configure and build PHP. This is where you customize PHP with
       various  options,  like  which  extensions  will  be  enabled.  Run
       ./configure  --help for a list of available options. In our example
       we'll do a simple configure with Apache 2 and MySQL support.
       If  you  built  Apache  from  source, as described above, the below
       example  will match your path for apxs, but if you installed Apache
       some other way, you'll need to adjust the path to apxs accordingly.
       Note that some distros may rename apxs to apxs2.
cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install

       If  you decide to change your configure options after installation,
       you'll  need to re-run the configure, make, and make install steps.
       You  only need to restart apache for the new module to take effect.
       A recompile of Apache is not needed.
       Note  that  unless told otherwise, 'make install' will also install
       PEAR,  various  PHP  tools such as phpize, install the PHP CLI, and
       more.
    6. Setup your php.ini
cp php.ini-development /usr/local/lib/php.ini

       You  may  edit  your  .ini  file  to set PHP options. If you prefer
       having php.ini in another location, use
       --with-config-file-path=/some/path in step 5.
       If  you  instead  choose php.ini-production, be certain to read the
       list of changes within, as they affect how PHP behaves.
    7. Edit  your httpd.conf to load the PHP module. The path on the right
       hand side of the LoadModule statement must point to the path of the
       PHP  module  on  your  system. The make install from above may have
       already added this for you, but be sure to check.
LoadModule php7_module modules/libphp7.so
    8. Tell  Apache to parse certain extensions as PHP. For example, let's
       have  Apache  parse  .php  files  as PHP. Instead of only using the
       Apache  AddType  directive,  we want to avoid potentially dangerous
       uploads  and  created  files  such  as  exploit.php.jpg  from being
       executed   as   PHP.   Using  this  example,  you  could  have  any
       extension(s)  parse as PHP by simply adding them. We'll add .php to
       demonstrate.
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
       Or,  if we wanted to allow .php, .php2, .php3, .php4, .php5, .php7,
       and  .phtml files to be executed as PHP, but nothing else, we'd use
       this:
<FilesMatch "\.ph(p[2-7]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
       And  to  allow  .phps files to be handled by the php source filter,
       and displayed as syntax-highlighted source code, use this:
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>
       mod_rewrite  may  be  used  To  allow any arbitrary .php file to be
       displayed  as  syntax-highlighted  source  code,  without having to
       rename or copy it to a .phps file:
RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
       The  php source filter should not be enabled on production systems,
       where it may expose confidential or otherwise sensitive information
       embedded in source code.
    9. Use your normal procedure for starting the Apache server, e.g.:
/usr/local/apache2/bin/apachectl start

Ubuntu 14.04 安装 Sublime Text 3

在Ubuntu中按CTRL+ALT+T打开命令窗口,按下面步骤和命令进行安装即可:

1、添加sublime text 3的仓库:sudo add-apt-repository ppa:webupd8team/sublime-text-3

2、更新软件库:sudo apt-get update

3、安装Sublime Text 3: sudo apt-get install sublime-text-installer
然后等待安装…………这个过程稍微有些漫长

4、启动办法:/opt/sublime_text/sublime_text

波老师总结:

*******************************
源码包
RPM
packager (pkg)

软件包的后缀名 二进制包的安装命令(工具) 解决依赖性的安装工具
CentOS .rpm rpm yum
Ubuntu .deb dpkg apt

ubuntu软件安装常用命令

安装
sudo apt-get install ***

举例:
sudo apt-get install virtualbox

ubuntu下安装、卸载软件命令

安装:(1) apt-get install name
卸载:(1) apt-get remove name
卸载并清除配置:(1) apt-get remove –purge name
更新信息库:apt-get update www.2cto.com
系统升级:apt-get upgrade
安装deb软件包:dpkg -i pkgname.deb
删除deb软件包: dpkg -r pkgname.deb

*******************************