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

安装Tengine

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

代码仓库
https://github.com/alibaba/tengine

最新下载地址
http://tengine.taobao.org/download_cn.html

1) 将安装包上传至Linux服务器,解压缩,进入安装目录。

解压:tar -zxvf tengine-2.2.0.tar.gz
进入安装目录:cd tengine-2.2.0

2) 安装命令。(查看README文档)
图1
安装Tengine

./configure
make
make install

分别执行上述3条命令,安装成功后显示如图:
图2

3) 启动Nginx

cd /usr/local/nginx
./nginx

4) 查看Nginx启动进程

ps aux|grep nginx

图3

5) 访问根目录下的首页文件
图4

图5:预览访问Nginx服务器