• ADADADADAD

    LAMP环境搭建小结[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:13:25

    作者:文/会员上传

    简介:

    1. 为什么下载源码包需要到官网上去下载?
    简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚,毕竟是源码的,任何人都可以修改代码。2. 64位机器是否可

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    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/apachectlgraceful

    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 p_w_picpath/gif “access plus 1 days”
    ExpiresByType p_w_picpath/jpeg “access plus 24 hours”
    ExpiresByType p_w_picpath/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’


    LAMP环境搭建小结.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: 环境搭建lamp