频道栏目
首页 > 资讯 > 浏览器 > 正文

LAMP环境搭建4-整合

15-06-13        来源:[db:作者]  
收藏   我要投稿
重新整理以前的笔记发到博客还真是累,以前笔记做的有点乱,知识点也比较杂,以致每次发现其他地方有相似内容需要添加就得重新修改博客,前面的都比较基础,后面开始才会慢慢结合一些高级功能进行讲解。
一、配置apache结合php

1、# vim /usr/local/apache2/conf/httpd.conf
找到:AddType application/x-gzip .gz .tgz
在该行下面添加:AddType application/x-httpd-php .php

csr

2、找到:

    DirectoryIndex index.html

将该行改为:

    DirectoryIndex index.html index.htm index.php


3、找到:ServerName www.example.com:80
修改为:ServerName localhost:80

4、不改会出现403错误

#   2.4以下版本
#   Deny from all    =>     Allow from all
#   2.4及以上的
    Require all denied => Require all granted
二、测试php是否正确加载、是否可以正确连接mysql

1、首先测试apache是否可以正常结合php
# vim /usr/local/apache2/htdocs/test.php

# 用浏览器打开看看是否输出"Hello world.",或者直接使用curl测试
# curl 127.0.0.1/test.php
Hello world.

2、测试连接mysql之前还要先给root添加密码,这里就顺便说下怎么改root密码了(-p后面接密码的时候不要加空格,否则会出错!)
# 1.root原先没有密码,需要修改为123456:
# mysqladmin -uroot password 123456
# 2.root有密码(123456),回车后需要输入旧密码:
mysqladmin -u root -p password 654321 
# 3.root有密码(123456),不需要再输入旧密码:
mysqladmin -u root -p123456 password 654321

3、测试php能否连接mysql
# vim /usr/local/apache2/htdocs/test_mysql.php


三、php不能正常解析处理方法 1、检查配置文件httpd.conf里的: AddType application/x-httpd-php .php # 这行(就是上头配置添加的)有没有写错单词 2、apachectl -M 查看是否加载了php5_module模块 # 1、没有则查看httpd.conf配置文件是否开启该模块(前面有'#'则表示被注释了要去掉): LoadModule php5_module modules/libphp5.so # 2、ldd查看libphp5.so所需的共享库是否都存在,不存在则要手动复制所依赖的共享库到/lib下了,下面还是具体演示一下ldd的用法吧(看图片) ldd /usr/local/apache2/modules/libphp5.so 

csr

看到没有,如果未能找到所需的共享库,则会出现not found,这时只需要copy该共享库到/lib下即可:

csr

这里会出错是因为mv、copy刚好也依赖/lib/libselinux.so.1共享库,这样就惨了...还好可以使用ln做个硬连接到/lib下解决(这也说明ln并不依赖该共享库)
#  ln libselinux.so.1 /lib/libselinux.so.1

csr

csr

3、这里说一个ln、cp、mv都依赖的共享库:/lib/ld-linux.so.2(实际上很多命令像rename、dd、echo等都依赖该库)
如果你拿这个库做实验,那么后果就有点严重了;这意味着你不能使用重命名mv、rename,
也不能复制,连链接也不能做了,这样的话怎么把该库移动到原来位置?
(当然这个并不像‘rm -rf /’命令这么严重,还是可以通过第三方软件等很多方法修复的)
                        --linux允许你随意操作,同样也允许你自杀
四、压力测试
# apache在/usr/local/apache2/bin/下有个工具ab:ApacheBench,用于web性能压力测试;
# ab命令不仅仅用于测试apache,还可以用于测试任何网站,如nginx、IIS等;

1、常用选项:
    -c 单次发起的请求个数
    -n 总共发起多少请求
    --help 查看帮助信息

2、开始测试、测试方法
第一组:每次发10个请求一共100个请求,测试静态页面、php、php+mysql的
ab -c 10 -n 100 localhost/test.html # 请求静态页面
ab -c 10 -n 100 localhost/test.php # 请求动态页面
ab -c 10 -n 100 localhost/test_mysql.php # 请求php结合mysql的页面

第二组:加大测试数据
ab -c 100 -n 1000 localhost/test.html
ab -c 100 -n 1000 localhost/test.php
ab -c 100 -n 1000 localhost/test——mysql.php

第三组:继续加大测试数据(根据你服务器质量决定,普通PC机的话就不要加大了,一会儿死机不好的)
ab -c 2000 -n 10000 localhost/test.html # 这里可能会报错
# 因为centos默认每个进程最多只允许打开1024个文件,可以使用"ulimit -n 3000"将限制改成3000个,这样就不会出错了

3、测试的时候尽量找局域网里面的其他机子帮忙测,这样是最准确的;
使用本机测的话效果不是很好,毕竟请求报文和响应报文这时候都得自己发,当然不会那么准确的了;
使用远程的话需要经过路由器和DNS解析等,测试出来的时间还需要加上时延时间,一般来说是最不准确的
(想想这时候你的网络不好,还选择大数据测试,这时候结果显示的时间还会准吗?
很大部分时间都花在了网络传输过程中了)

4、这里就不对ab命令显示的结果进行讲解了,下面链接有人已经总结的很全面了:

见:http://www.ha97.com/4617.html

下篇开始介绍些LAMP的高级功能,比如:
    防盗链
    日志分割
    静态文件缓存配置
    访问控制
    URL重写
    域名跳转
    配置访问日志
    ...
对于Apache2.2和2.4不同的地方(如访问控制等)还会进行比较
相关TAG标签
上一篇:使用excel进行数据挖掘(2)----分析关键影响因素
下一篇:XA中使用dblink发现的一个oraclebug
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站