菜鳥學Linux第059篇筆記編譯安裝MySQL,PHP壓力測試

科技探索者發表於2017-11-07

菜鳥學Linux 第059篇筆記 編譯安裝MySQL,PHP 壓力測試



安裝二進位制格式的MySQL

# tar -xf mysql-5.5.54-linux2.6-i686.tar.gz -C /usr/local/

# cd /usr/local/

# ln -sv mysql-5.5.54-linux2.6-i686 mysql

# groupadd -r -g 306 mysql

# useradd -u 306 -r -g 306 mysql (建立MySQL的使用者和組)

# chown -R mysql.mysql .  更改解壓的MySQL檔案的屬主屬級為mysql:mysql

# scripts/mysql_install_db –user=mysql

# chown -R root /usr/local/mysql

# chown -R mysql data

# cp suppot-files/my-huge.cnf /etc/my.cnf

# vim /etc/my.cnf

# Try number of CPU`s*2 for thread_concurrency 

thread_concurrency = 8 (自行看CPU而修改)

在此後新增一行 datadir = /mydata/data (這個是資料放在哪裡自行定義)

# cp support-files/mysql.server /etc/init.d/mysqld

# ckconfig -add mysqld

新增環境變數

# vim /etc/profile.d/mysql.sh

新增一行 export PATH=$PATH:/usr/local/mysql/bin

可選安裝

1、新增mysql的man文件

# vim /etc/man.config

在MANPATH處新增一行

MANPATH /usr/local/mysql/man

2、輸出mysql庫檔案

# vim /etc/ld.so.conf.d/mysql.conf

新增一行/usr/local/mysql/lib  (此處新增不會立即重新,需重啟)

# ldconfig -v 在不重新啟動系統情況下重新讀取庫檔案


庫檔案快取路徑 /etc/ld.so.cache

3、輸出標頭檔案

ln -sv /usr/local/mysql/include /usr/include/mysql


(至此MySQL已經完成安裝)




MySQL配置檔案格式,集中式配置檔案,可以為多個程式提供配置

[mysql]

abc…


[mysqld]

abc…


[client]

abc


mysql查詢配置檔案順序

/etc/my.cnf –> /etc/mysql/my.cnf –> $BASEDIR/my.cnf (一般為安裝目錄) –>

$BASEDIR/my.cnf –> ~/.my.cnf  

(如果配置檔案衝突,後一個會覆蓋前一個)



MySQL伺服器維護了兩類變數

伺服器變數:information_schema

定義MySQL伺服器執行特性

SHOW GLOBAL VARIABLES [LIKE `STRING`]

狀態變數:performance_schema

儲存了MySQL伺服器執行統計資料

SHOW GLOBAL STATUS [LIKE `STRING`];



MySQL萬用字元

_ 任意單個字元

% 任意長度任意個字元



PHP 編譯安裝

php53-mbstring multi-bytes string 

用來支援中文,或非一個位元組可以表示字元的那些語言

編譯安裝

# tar xf php-5.4.13.tar.bz2

# cd php-5.4.13 

# ./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql 

–with-openssl –with-mysqli=/usr/local/mysql/bin/mysql_config 

–enable-mbstring –with-freetype-dir –with-jped-dir –with-png-dir 

–with-zlib –with-libxml-dir=/usr –enable-xml –enable-sockets 

 –with-apxs2=/usr/local/apache/bin/apxs –with-mycrypt 

 –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d 

 –with-bz2 –enable-maintainer-zts

(注意這些是一行命令)

註解以上幾個引數

–with-mycrypt

加密傳遞php 但是要使用此功能需要安裝其它安裝包

libmcrypt-2.5.7-5.el5.i386.rpm

libmcrypt-devel-2.5.7-5.el5.i386.rpm

mhash-0.9.2-6.el5.i386.rpm

mhash-devel-0.9.2-6.el5.i386.rpm

–with-apxs2=/usr/local/apache/bin/apxs

將php編譯成模組 讓httpd在解析動態php指令碼時,掉用php庫檔案來解析

而不是啟用另外一個程式,來解析php動態檔案,直接在httpd程式內部

進行動態指令碼解析

# make 

# make install


為php提供配置檔案

# cp php.ini-production /etc/php.ini


讓httpd能夠理解和處理.php結尾的檔案

# vim /etc/httpd/httpd.conf

/AddType  搜尋找到以AddType開頭的行,在其行後新增如下兩行

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

/DirectoryIndex 查詢到此處在其後加入index.php

DirectoryIndex index.php index.html (這個是我加入之後的,之前沒有)

(重新啟動httpd服務 service httpd restart)




PHP支援擴充套件功能:

xcache

Apc

php-mycrypt



安裝PHP擴充套件功能Xcache

# tar -xf xcache-2.0.0.tar.bz2

# /usr/local/php/bin/phpize

# ./configure –enable-xcache –with-php-config=/usr/local/php/bin/php-config

# make 

# make install 會輸出如下一段資訊 複製此段資訊

/usr/local/php/lib/php/extensions/no-debug-zts-20100525/

# mkdir /etc/php.d

# cp xcache.ini /etc/php.d/

# vim /etc/php.d/xcache.ini 

找到一項為zend_extension =  將等於後全部刪除

然後把剛剛上邊所輸出的資訊貼上等於號後,然後再在其後新增xcache.so

完成後的樣子

zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.s

將zend_extension_ts =此行註釋掉 注意是使用;來註釋

(至此Xcache可正常進行工作)


新版httpd建立VirtualHost

註釋中心主機

#DocumentRoot “/usr/local/apache/htdocs”

啟用虛擬主機

# Virtual hosts 

#Include /etc/httpd/extra/httpd-vhosts.conf

(將上一行的#號去除卻可) 

編輯虛擬主機配置檔案 vim /etc/httpd/extra/httpd-vhosts.config

(裡面有案例,照著修改即可) 以下是我自己做的虛擬機器

(注意這裡邊不需要再宣告NameVirtualHost *:80)

(注意許可權,此版本必須要加directory 裡邊的許可權如果不設定預設禁止訪問)

<VirtualHost 192.168.11.122:80>

DocumentRoot “/web/mysky.com”

ServerName www.mysky.com

<Directory “/web/mysky.com”>

Options none

AllowOverride none

Require all granted

</Directory>

ErrorLog “/var/log/httpd/mysk.com-error”

CustomLog “/var/log/httpd/mysky.com-access” common

</VirtualHost>


<VirtualHost 192.168.11.122:80>

DocumentRoot “/web/websql.com”

ServerName www.websql.com

<Directory “/web/websql.com”>

Options none

AllowOverride none

Require all granted

</Directory>

ErrorLog “/var/log/httpd/webmysql.com-error”

CustomLog “/var/log/httpd/webmysql.com-access” common

</VirtualHost>

(建立完成後需要建立/var/log/httpd目錄和網站檔案即可訪問相應的站點) 

至此你的虛擬主機即可正常工作!!!



如何啟用httpd ssl功能

vim /etc/httpd/httpd.conf

#LoadModule ssl_module modules/mod_ssl.so 將此項啟用 即去除#

#Include /etc/httpd/extra/httpd-ssl.conf  此項也啟用 去除#

然後配置/etc/httpd/extra/httpd-ssl.conf

此配置和之前配置ssh相同 詳細可看前邊的章節

網站效能測試

ab (Apache HTTP server benchmarking tool)

-c concurrency

  Number of multiple  requests  to  perform  at  a

  time. Default is one request at a time.

-n requests

  Number of requests to perform for the benchmark-

  ing session. The default is to  just  perform  a

  single request which usually leads to non-repre-

  sentative benchmarking results.

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

解釋一下里邊的重要引數

Time taken for tests:   0.202 seconds  從發起到結束一共花費時長

Complete requests:      100  成功請求數量

Failed requests:        4 失敗請求數量

Write errors:  失敗寫入次數

Total transferred:      4883895 bytes  總傳輸資料量

HTML transferred:       4867295 bytes  其中html傳輸的大小

Requests per second:    253.99 [#/sec] (mean)  每秒鐘完成請求個數

Time per request:       39.372 [ms] (mean)  併發一次 完成所需時間

Time per request:       3.937 [ms] (mean, across all concurrent requests)

單個請求所需要用的時間

Transfer rate:          12113.70 [Kbytes/sec] received

傳輸速率


vmstat 1

vmstat – Report virtual memory statistics

web壓力測試工具

ab

http_load

webbench

siege

網站:

rpmfind.net 可以查詢rpm包

本文轉自Winthcloud部落格51CTO部落格,原文連結http://blog.51cto.com/winthcloud/1885888如需轉載請自行聯絡原作者
Winthcloud


相關文章