您的位置:首页 > 运维架构 > Linux

菜鸟学Linux 第059篇笔记 编译安装MySQL,PHP 压力测试

2016-12-25 08:53 741 查看
菜鸟学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包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息