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的虚拟主机(Apache的主配置文件: /usr/local/apache2/conf/httpd.conf) vim httpd.conf #Include conf/extra/httpd-vhosts.conf 把该行最前面的#去掉,然后修改: <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> 改为 <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>

再 vim conf/extra/httpd-vhosts.conf 根据实际需求修改

13. 如何配置apache的用户验证 vi httpd.conf 在相应的虚拟主机配置文件段,加入 <Directory *> AllowOverride AuthConfig AuthName “自定义的” AuthType Basic AuthUserFile /data/.htpasswd // 这个目录你可以随便写一个,没有限制 require valid-user </Directory>

保存后,然后创建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 中加入

<IfModule mod_expires.c> 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” </IfModule>

16. 如何限定某个目录下的php文件没有执行权限 vim httpd.conf 在相关的虚拟主机段,加入 <Directory /www/htdocs/path> php_admin_flag engine off </Directory> 其中 /www/htdocs/path 为要限制的目录

17. 如何配置apache的域名重定向 要把访问域名 www.domain1.com 的域名转发到 www.domain2.com 上 实现: 在相关的虚拟主机中增加 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^www.domain1.com$ RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L] </IfModule>

如果是多个域名重定向到一个域名 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^www.domain.com[OR] RewriteCond %{HTTP_HOST} ^www.domain1.com$ RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L] </IfModule>

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’

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Laoqi's Linux运维专列

Apache安装时错误解析

14850
来自专栏Hongten

hadoop2-HBase的安装和测试

https://www.cnblogs.com/hongten/p/hongten_hadoop_hbase.html

24110
来自专栏流柯技术学院

CentOS下Zabbix安装部署及汉化

1.安装开发软件包 yum -y groupinstall "Development Tools"

20320
来自专栏北京马哥教育

10 分钟快速搭建 ELK 日志分析系统

作者:Json、 一、ELK搭建篇 官网地址: https://www.elastic.co/cn/ 官网权威指南: https://www.elastic....

4K100
来自专栏猿人谷

在Mac OS X上配置Apache2

最近一段时间在开发面向移动设备的网页,而且是静态网页。所以很需要一个HTTP服务器,简单明了的就可以。在Windows上,HFS(http://www.reje...

34150
来自专栏北京马哥教育

LAMP平台基于NFS实现web服务器负载均衡

前言 随着访问量的逐渐增大,一台web服务器可能已经无法满足需求,这就需要增加web服务器的数量了,于是问题就来了:如何保证两台服务器数据同步呢?本文将讲解...

36550
来自专栏铭毅天下

上线必备 | 高性能ES5.X部署配置清单

| 题记 | 网上当前(截止20170914)流传的各种配置文件普通存在以下问题: 1)版本低,不能和当前版本5.X匹配。 2)5.X的配置本身较1.X,2...

409110
来自专栏私有云搭建

腾讯云+kodexplorer可道云搭建私有云盘

KodExplorer可道云,原名芒果云,是基于Web技术的私有云和在线文件管理系统。致力于为用户提供安全可控、可靠易用、高扩展性的私有云解决方案。用户只需通过...

1.2K50
来自专栏前端小叙

express项目创建步骤

安装nodejs 安装npm 安装express npm install -g express 安装express生成器 npm install -g expr...

32280
来自专栏JetpropelledSnake

ELK学习笔记之CentOS 7下ELK(6.2.4)++LogStash+Filebeat+Log4j日志集成环境搭建

现在的公司由于绝大部分项目都采用分布式架构,很早就采用ELK了,只不过最近因为额外的工作需要,仔细的研究了分布式系统中,怎么样的日志规范和架构才是合理和能够有效...

76830

扫码关注云+社区

领取腾讯云代金券