大家好,又见面了,我是全栈君。
菜鸟学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包
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108047.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...