lamp之调试lamp和ab压力测试

LAMP:

10年积累的成都网站建设、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有潮州免费网站建设让你可以放心的选择与我们合作。

    php和MySQL建立关联:

        php-mysql

        #yum install php-mysql yum安装的时候才用,编译安装不需要

    php连接mysql测试脚本:

        #vim index.php

       

        $conn = mysql_connect("HOST","USERNAME","PASSWORD") or die("connect err: ".mysql_error());

        echo "MySQL conn OK!";

        ?>

    httpd+php

        CGI

        Modules

        FastCGI/fpm

测试LAMP:

    1.测试php

        #cd /usr/local/httpd/htdocs

        #vim index.html

           

            phpinfo()

            ?>        

        #mv index.html index.php

        编辑完成后打开网页,若能看到php相关信息则说明成功。

    2.测试php和mysql

        #vim index.php

       

        $conn = mysql_connect("HOST","USERNAME","PASSWORD") or die("connect err: ".mysql_error());

        echo "MySQL conn OK!";

        ?>

        编辑完成后若显示conn ok则表示数据路连接正常。

    3.启用虚拟主机

        #vim /etc/httpd/httpd.conf

            #DocumentRoot /usr/local/httpd/htdocs 注释中心主机配置

            Include /etc/httpd/extra/httpd-vhost.conf 取消注释,启动虚拟主机的配置文件。

            LoadModule log_config_modules/mod_log_config.so 启动日志配置模块。

        #vim /etc/httpd/extra/httpd-vhost.conf

           

                ServerName www.test.com

                DocumentRoot "/www/test.com"

                ErrorLog "/var/log/httpd/test.com_error_log"

                CustomLog "/var/log/httpd/test.com_access_log" 

                combined

               

                    Options none

                    AllowOverride none

                    Require all granted

               

           

           

                ServerName www.apk.org

                DocumentRoot "/www/apk.org"

                ErrorLog "/var/log/httpd/apk.org_error_log"

                CustomLog "/var/log/httpd/apk.org_access_log" common

               

                    Options none

                    AllowOverride none

                    Require all granted

               

           

        #mkdir /www/{test.com,apk.org}

        #mkdir /var/log/httpd/{test.com,apk.org}

        #chmod 755 -R /www

    3.让httpd支持https,可以对单独的虚拟主机进行设置。

        注意:一个ip地址上只能建立1个支持ssl的主机。

        #vim /etc/httpd/httpd.conf

            LoadModule ssl_module modules/mod_ssl.so

            Include /etc/httpd/extra/httpd-ssl.conf

        #vim /etc/httpd/extra/httpd-ssl.conf

           

                ServerName www.apk.org

                DocumentRoot "/www/apk.org"

                ErrorLog "/var/log/httpd/apk.org_error_log"

                TransferLog "/var/log/httpd/apk.org_access_log" common

               

                    Options none

                    AllowOverride none

                    Require all granted

               

           

        证书服务器上:

            1.生成私钥:

                #cd /etc/pki/CA

                #(umask 077;openssl genrsa -out private/cakey.pem 2048)

            2.编辑openssl配置文件:

                #vim ../tls/openssl.cnf

                    dir=/etc/pki/CA 修改CA默认目录。

                    

                    [ req_distinguished_name ]

                    修改国家、份等等信息,后续再次申请就无需输入。

                #mkdir certs crl newcerts 根据配置文件的内容创建相关的文件夹和文件

                #touch index.txt

                #echo 00 > serial

            3.生成自签证书:

                #openssl req -new -x509 -key private/cakey.pem -out    cacert.pem -days 3650

                    Common Name: ca.test.com 这里填CA的主机名。

            6.签署证书:

                #openssl ca -in /tmp/httpd.csr -out /tmp/httpd.crt -dyas 3650

        httpd服务器上:

            4.生成证书请求:

                #cd /etc/httpd/

                #mkdir ssl

                #cd ssl

                #(umask 077;openssl genrsa 2048 > httpd.key ) 生成私钥。

                #openssl req -new -key httpd.key -out httpd.csr 生成证书签署请求。

                    Common Name: 虚拟主机的名称。

            5.将生成的证书请求文件复制到证书服务器:

                #scp httpd.scr root@192.168.100.4:/tmp

            7.将颁发的证书复制到本机:

                #scp 192.168.100.4:/tmp/httpd.crt ./

                #ll

                    httpd.crt

                    httpd.csr

                    httpd.key

    4.若php以fpm模式安装,则还需要对httpd进行如下配置:

        启用模块支持:

            #vim /etc/httpd/httpd.conf

                LoadModule proxy_module modules/mod_proxy.so

                LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

        配置虚拟主机支持fpm:

            #vim /etc/httpd/extra/httpd-vhost.conf

                在每个虚拟主机内添加如下内容

                ProxyRequests Off 

                    关闭httpd的正向代理功能。

                ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/DIR/DOCUMENT_ROOT/$1

                    类似于ProxyPass URI,将请求的地址转换到另外一台主机上的地址。此行为被称为反向代理。

                    此参数支持正则表达式,把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI,所以这里直接在fcgi://127.0.0.1:9000后指明了这两个参数,其它的参数的传递已经被mod_proxy_fcgi.so进行了封装,不需要手动指定。

            例如:

               

                    DocumentRoot "/www/test.com"

                    ServerName test.com

                    ServerAlias www.test.com

                    ProxyRequests Off

                    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/test.com/$1

                   

                        Options none

                        AllowOverride none

                        Require all granted

                   

               

压力测试:

    ab(apache benchmark)

        工具位置:

            httpd安装目录下的bin文件夹下。

            usr/local/httpd/bin/ab

            #ab [OPTION] HOSTNAME|IP:PORT/FILE

                [OPTION]

                    -c NUM 指定并发数,单次发起的请求个数。

                    -n NUM 请求的总个数。

                    -r 忽略错误信息

        例如:

            #ab -c 10 -n 100 http://www.test.com/index.php

            

        注意:

            测试所用的客户端会有系统限制,默认linux允许单个进程同时访问1000个文件。使用以下命令调整

            #ulimit -n NUM

    http_load

    webbench

    siege

LAMP优化:

    通过vmstat命令观察系统状况,主要注意bi bo in cs

    #vmstat 1


本文名称:lamp之调试lamp和ab压力测试
文章来源:http://azwzsj.com/article/ghdojc.html