搭建LAMP架构
1. 为什么下载源码包需要到官网上去下载?
简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚。
2. 64位机器是否可以安装32位rpm包?64位机器是否可以安装32位的mysql二进制免编译包?
64位机器是可以安装32位rpm包的,同样的64位机器也能安装32位的mysql二进制免编译包(centos5.x的确是支持,但是centos6.x不支持)。
3. 编译安装apache时, 如果不加--with-included-apr 会有什么问题?
会报错,Cannot use an external APR with the bundled APR-util,因为apr是一个底层的接口库,编译apache必须要有这个支持。
4. 编译php时,必须加上 --with-apxs2=/usr/local/apache2/bin/apxs 这是什么意思呢?
apxs是apache编译动态模块并自动配置加载到httpd.conf文件的一个工具,由于php也是作为apache的一个动态加载模块,我们编译php的目的就是为了生成这个模块,所以必须要指定apxs的地址。
5. 当配置好apache的配置文件后,如何检验配置文件是否正确?
/usr/local/apache2/bin/apachectl -t
6. 如何查看80端口是否启动?
netstat -lnp |grep ':80'
7. 更改apache配置文件httpd.conf后,如何重新加载配置文件?
/usr/local/apache2/bin/apachectl graceful
8. 如何查看apache加载了哪些模块?
/usr/local/apache2/bin/apachectl -M
9. 怎么查看php加载了哪些模块?
/usr/local/php/bin/php -m
10. 简单描述静态加载和动态共享模块的区别。
不管编译httpd还是php,都会有一个静态模块和动态模块的概念。首先,动态和静态模块宏观上分析,静态会直接编译进httpd这个可执行文件内,而动态的模块是单独的一个文件;其次,静态模块是和httpd这个文件一同加载的,只要服务一开启就会加载所有的静态模块,而动态模块是根据需求什么时候用什么时候加载。
11. 当我们配置好lamp环境后,访问php程序无法解析,你如何去排查这个问题呢?
(1) apachectl -M 看是否加载了libphp5.so
(2) 如果没有加载,那查看/usr/local/apache2/modules/是否有libphp5.so,然后查看httpd.conf 中是否有LoadModule libphp5.so
(3) 再看httpd.conf中是否有 AddType application/x-httpd-php .php
(4) apache一定要重启服务
12. 如何配置apache的虚拟主机
vim httpd.conf
#Include conf/extra/httpd-vhosts.conf
把该行最前面的#去掉,然后修改:
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
改为
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
再 vim conf/extra/httpd-vhosts.conf 根据实际需求修改
13. 如何配置apache的用户验证
vi httpd.conf
在相应的虚拟主机配置文件段,加入
AllowOverride AuthConfig
AuthName "自定义的"
AuthType Basic
AuthUserFile /data/.htpasswd // 这个目录你可以随便写一个,没有限制
require valid-user
保存后,然后创建apache的验证用户 htpasswd -c /data/.htpasswd test
14. 如何配置apache的日志以及日志按天切割
在httpd.conf 在相应的虚拟主机配置段,加入
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/www.yourdomain.com-access_%Y%m%d.log 86400" combined
注意,需要写成绝对路径,写成相对的路径可能不生效
15. 如何配置apache的图片等静态文件的过期时间
httpd.conf 中加入
ExpiresActive on
ExpiresByType image/gif "access plus 1 days"
ExpiresByType image/jpeg "access plus 24 hours"
ExpiresByType image/png "access plus 24 hours"
ExpiresByType text/css "now plus 2 hour"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
16. 如何限定某个目录下的php文件没有执行权限
vim httpd.conf
在相关的虚拟主机段,加入
php_admin_flag engine off
其中 /www/htdocs/path 为要限制的目录
17. 如何配置apache的域名重定向
要把访问域名 www.domain1.com 的域名转发到 www.domain2.com 上
实现:
在相关的虚拟主机中增加
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
如果是多个域名重定向到一个域名
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.com[OR]
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
18. 如何配置php的错误日志
vim php.ini 检查并配置如下两项
log_errors = On
error_log = logs/error.log
19. 如何在php中配置open_basedir, 是否可以在httpd.conf 中针对虚拟主机配置open_basedir?
vim php.ini
加入 open_basedir=/var/www/
httpd.conf中也可以针对虚拟主机限制openbasedir:
在相对应的虚拟主机配置文件中加入:
php_admin_value open_basedir "/var/www/htdocs"
20. 如何禁止php的函数exec
vim php.ini 找到
disable_functions =
改为
disable_functions = exec 如果是多个函数,可以在exec后面继续增加函数名用逗号分开即可
21. 我们以源码安装LAMP环境时,先安装哪个,后安装哪个?为什么呢?
安装顺序可以是 mysql apache php 也可以是 apache mysql php
把php放到最后,这是因为安装php时,需要指定mysql安装目录,也需要指定apache的apxs工具
22. 怎么确定你的php.ini 在哪个目录下?
php -i |grep 'Configuration File'
23. 怎么确定你的php的extension_dir 在哪里?
php -i |grep 'extension_dir'
搭建LAMP架构的更多相关文章
- Ubuntu16.04搭建LAMP架构服务器
安装Apache: weirubo@weirubo-VirtualBox:~$ sudo apt-get install apache2 查看Apache版本: weirubo@weirubo-Vi ...
- salt搭建lamp架构
install_httpd: pkg.installed: - name: httpd httpd_running: service.running: - name: httpd - enable: ...
- LAMP架构的搭建
什么是LAMP架构? L : Linux,2.6.18-308.el5(redhat5.8) A :Apache,httpd 2.4.4 M : mysql-5.5.28 P : php-5.4. ...
- lamp架构搭建
目录 1. LAMP架构介绍 2.web服务器工作流程 2.1 cgi与fastcgi 2.2 httpd与php结合的方式 2.3 web工作流程 3. lamp平台搭建 3.1 安装httpd 3 ...
- Linux LAMP架构搭建
一.部署LAMP基本架构 1.L(linux)A(apache)M(mysql)P(php) 2.稳定版本(mysql5.1,php5.3,apache2.2) 3.安装顺序,mysql-->a ...
- Apache web服务器(LAMP架构)(week3_day4)--技术流ken
apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 3).URL 统一资源定位符 http:/ ...
- 末学者笔记--apache编译安装及LAMP架构上线
apache介绍 一.Apache的三种工作模式 Apache一共有3种稳定的MPM模式(多进程处理模块),它们分别是prefork.worker.event.http-2.2版本的httpd默认的m ...
- Apache web服务器(LAMP架构)
Apache web服务器(LAMP架构) apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 ...
- •搭建LAMP环境及快速部署双网站并实现基于域名的虚拟主机
本节所讲内容: 实战:搭建LAMP环境及快速部署双网站并实现基于域名的虚拟主机 LAMP架构:??? Linux+Apache+Mysql+PHP Linux+Apache+Mysql/MariaDB ...
随机推荐
- mvc自带的异步表单提交
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- Ajax从服务器端获取数据---原生态Ajax
写在前面的话 Ajax从服务器获取的数据都是字符串,但是通过不同的解析,可以解析为XML或JSON来进行应用. 一般来说.使用XML格式的数据比较通用,但是服务器和客户端解析起来都比较复杂一些;而使用 ...
- R0:前瞻
原文链接http://www.wangafu.net/~nickm/libevent-book/Ref0_meta.html Libevent使用手册:前瞻 总览: Libevent是一个用来写高性能 ...
- HTML5画布(变形)
坐标变换 案例1: <!DOCTYPE html><html><head lang="en"> <meta charset="U ...
- 作业:汽车查询--弹窗显示详情,批量删除 ajax做法(0521)
作业:显示以下界面: 作业要求: 1.查看详细信息,以弹窗的形式显示,使用ajax2.批量删除 一.主页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...
- xcode5.1上真机调试报告No architectures to compile for...的解决办法
由于手头上只有一台IPAD一代,近期升级到IOS5.0了(人家apple只让升级到此为止)而开发环境Xcode版本是5.1,默认情况下XCode编译出来的代码最低能跑在IOS6.0下, 于是GOOGL ...
- 整型(int)转时间格式字符串及页面long型转时间格式字符串
1,如果是封装的整型的话需要在后台进行处理再返回页面 处理过程是这样的 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm ...
- build.prop修改详细说明
用RE进入/system/挂载读写,找到build.prop复制到/sdcarrd进行修改比较保险.也可以挂载读写后,直接选择用文本编辑器打开,进行编辑.乱改有风险,修改需谨慎.1.# begin b ...
- (摘)oracle dataguard切换
众所周知,Data Guard已经是现今标准的主流容灾方案,由于日志传递对于网络适应程度强,且可以采用同步实时的传递方式和异步延迟的传递方式,甚至可以成为远程的异地容灾方案.不管用于何种用途,DG都免 ...
- SharedPreferences数据、openFileOutput文件、SQLite数据库文件存储位置
在模拟器中: SharedPreferences将XML文件保存在/data/data/<package name>/shared_prefs目录下, openFileOutput方法将文 ...