LAMP的PHP
这章我们讲PHP,和fastcgi
下面链接是LAMP的AM,apache和mariadb
http://rexchow.blog.51cto.com/11619161/1886441
首先准备几个安装包
libmcrypt-2.5.8.tar.gz
wget http://down1.chinaunix.net/distfiles/libmcrypt-2.5.7.tar.gz
php-5.6.29.tar.gz
wget http://cn2.php.net/distributions/php-5.6.29.tar.gz
1、解决依赖关系
如果想让编译的php支持mcrypt扩展,需安装libmcrypt libmcrypt-devel 或者编译安装
#tar -zxvf libmcrypt-2.5.7.tar.gz
#cd libmcrypt-2.5.7
#./configure
#make && make install
2、编译安装php-5.6.29
#tar zxvf php-5.6.29.tar.bz2
#cd php-5.6.29
./configure\ --prefix=/usr/local/php\ ##php路径 --with-mysql=/usr/local/mysql\ ##mysql路径 --with-openssl=/usr/local/openssl1u\ ##openssl路径 --with-mysqli=/usr/local/mysql/bin/mysql_config \ ##mysql配置文档 --enable-mbstring --with-freetype-dir \ --with-jpeg-dir --with-png-dir --with-zlib \ ##支持图文件 --with-libxml-dir=/usr\ ##支持xml库 --enable-xml --enable-sockets \ ##支持xml、套接字 --with-apxs2=/usr/local/httpd2.4/bin/apxs \ ##apxs --with-mcrypt --with-config-file-path=/etc \ --with-config-file-scan-dir=/etc/php.d \ --with-bz2 --enable-maintainer-zts
./configure\
--prefix=/usr/local/php\
--with-mysql=/usr/local/mysql\
--with-openssl=/usr/local/openssl1u\
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring --with-freetype-dir \
--with-jpeg-dir --with-png-dir --with-zlib \
--with-libxml-dir=/usr\
--enable-xml --enable-sockets \
--with-apxs2=/usr/local/httpd2.4/bin/apxs \
--with-mcrypt --with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-bz2 --enable-maintainer-zts
# make && make install
为php提供配置文件:
# cp php.ini-production /etc/php.ini
3、 编辑apache配置文件httpd.conf,以apache支持php
# vim /etc/httpd/httpd.conf
1、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
2、定位至DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
3、添加模块
LoadModule php5_module modules/libphp5.so
4、测试是否正常
在数据添加权限
mysql -u账号 -p密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'rexchow' WITH GRANT OPTION; ##授权root账号访问%=(本地、IP、hostname) FLUSH PRIVILEGES; 更新权限
#cd /usr/local/apache/htdocs
#mv index.html index.php
#vim index.php 清除内容
$conn=mysql_connect('192.168.230.202','root','rexchow');
if ($conn)
echo "Connect Success...";
else
echo "Connect Failure...";
phpinfo();
?>
打开浏览器测试、走到这步,已经完成lamp的编译安装任务
那么我们开始新的路线,建一个网站,首先下个模板
我们在体验个小游戏:
1、建立wordpress
2、给服务器做压力测试
##下周wordpress
wget https://cn.wordpress.org/wordpress-4.7.1-zh_CN.zip ##下载 unzip wordpress-4.7.1-zh_CN.zip ##解压 mv wordpress /usr/local/httpd2.4/htdocs ##将wordprss复制到apache服务器下的根目录
先安装个mysql管理器
yum install phpmyadmin -y
$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5340 to server version: 3.23.54 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE DATABASE wordpress; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "wp"@"localhost" IDENTIFIED BY "wp"; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) mysql> EXIT Bye $
##创建wordpress数据,及给予改wp授权该数据管理权限。
从网上抄来的一段精华内容:
用户管理
mysql>use mysql;
查看
mysql> select host,user,password from user ;
创建
mysql> create user zx_root IDENTIFIED by 'xxxxx'; //identified by 会将纯文本密码加密作为散列值存储
修改
mysql>rename user feng to newuser;//mysql 5之后可以使用,之前需要使用update 更新user表
删除
mysql>drop user newuser; //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限
更改密码
mysql> set password for zx_root =password('xxxxxx');
mysql> update mysql.user set password=password('xxxx') where user='otheruser'
查看用户权限
mysql> show grants for zx_root;
赋予权限
mysql> grant select on dmc_db.* to zx_root;
回收权限
mysql> revoke select on dmc_db.* from zx_root; //如果权限不存在会报错
上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔
mysql> grant select,update,delete ,insert on dmc_db.* to zx_root;
如果想立即看到结果使用
flush privileges ;
命令更新
设置权限时必须给出一下信息
1,要授予的权限
2,被授予访问权限的数据库或表
3,用户名
grant和revoke可以在几个层次上控制访问权限
1,整个服务器,使用 grant ALL 和revoke ALL
2,整个数据库,使用on database.*
3,特点表,使用on database.table
4,特定的列
5,特定的存储过程
user表中host列的值的意义
% 匹配所有主机
localhost localhost不会被解析成IP地址,直接通过UNIXsocket连接
127.0.0.1 会通过TCP/IP协议连接,并且只能在本机访问;
::1 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1
登录网页http://192.168.230.202/wordpress
即有安装提示:
按照提示附带index.php,验证wordpress账号登录是否正常
我的localhost 被锁了,原因还没有查出来。则用127.0.0.1代替
安装wordpress的提示页,需要你把配置文档复制到wordpress目录下的wp-config.php文件内
登录进去,直接点击发布,咱们实用性网页发布完成。
来来,开始ab进行压力测试
测试机器,用的192.168.230.204
http://www.jianshu.com/p/43d04d8baaf7
##命令使用详细说明
我们现在只用下面的命令
输入命令
ab -n 100 -c 10 http://test.com/
响应非常快,原因是我们用的压力太小了
10000个请求 999个并发,
吞吐率2784 用户平均请求等待时间 355
服务器平均请求处理时间 0.359ms
咱们进行下一个故事,fastcgi模块
把服务器速度加速优化!~