LAMP 进阶

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LAMP 进阶相关的知识,希望对你有一定的参考价值。

CentOS 7, 基于rpm包方式安装部署apm(php module) + xcache;
            a) 一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress;
            b) 为phpMyAdmim提供https服务;
           

  1. 需要工具:httpd,php,php-mysql,mariadb-server,php-xcache
     2.LAMP的部署
                    a.设置httpd虚拟主机
                        在/etc/httpd/conf.d/下创建 *.conf文件(以admin.conf为例)

        1. ,因为在主配置文件下有一条IncludeOptional conf.d/*.conf  ,所以所有在/etc/httpd/conf.d/*.conf 文件都会作为配置文件生效

  2. Listen 172.16.0.149:8000   
    <VirtualHost 172.16.0.149:8000>
            ServerName www.admin.com
            DocumentRoot "/mnt/admin/"
            <Directory "/mnt/admin/">
                    Options None
                    AllowOverRide None
                    Require all granted
            </Directory>
    </VirtualHost>
    注意:若监听的ip地址不是有效ip则服务将无法启动

3.启动httpd服务,关闭防火墙和SELINUX(此处是内部测试,建议先关闭)

创建上面的web映射目录,并且在该目录下。创建index.php文件,写其文件内容为

<?php

    phpinfo();  //php内建函数,用于php测试

?>

使用网页端测试

技术分享图片

3.将phpmyadmin解压到web目录下

[[email protected] admin]# ls
index.php  phpMyAdmin-3.5.4-all-languages.tar.gz
[[email protected] admin]# tar xf phpMyAdmin-3.5.4-all-languages.tar.gz 
[[email protected] admin]# mv phpMyAdmin-3.5.4-all-languages myadmin  //为了网页查找方便,给此目录更换名称
[[email protected] admin]# ls
index.php  myadmin  phpMyAdmin-3.5.4-all-languages.tar.gz

4.切换至myadmin目录下,会发现里面有一个index.php文件,然后我们使用网页打开该文件

技术分享图片

现在需要使用数据库去登录该程序,(此程序的默认host为localhost,无法更改),所以

5.数据库设置:

[[email protected] ~]# systemctl start mariadb //启动数据库

MariaDB [(none)]> grant all on *.* to 'myadmin'@'localhost' identified by '111111';  //创建一个用户并授权
Query OK, 0 rows affected (0.07 sec)

MariaDB [(none)]> flush privileges;   //刷新权限表
Query OK, 0 rows affected (0.05 sec)

MariaDB [(none)]>

6.返回刚刚的网页,用新建的用户名和密码登录,则可以对数据库进行设置(如下);

技术分享图片


二:wordpress的实现

同上,创建一个虚拟主机,此次为word.conf

<VirtualHost 172.16.0.149:80>
        Servername www.word.com
        DocumentRoot "/mnt/word/"
        <Directory "/mnt/word/">
                Options none
                AllowOverride none
                Require all granted
        </Directory>
</VirtualHost>

2.创建相应的web映射目录,并将wordpress解压到该目录

[[email protected] ~]# ls /mnt/word/
index.html  index.php  word  wordpress-4.2-zh_CN.tar.gz

同样打开word目录下的index.php文件

技术分享图片

3.同样创建一个新的数据库并给其授权

MariaDB [(none)]> create database word;
MariaDB [(none)]> grant all on word.* to 'word'@'localhost' identified by '123';

4.在网页登录数据库

技术分享图片

5.登录成功后,会出现如下界面,(需要我们在word目录下创建wp-config.php文件,并将下列内容复制进去,写完刷新,重新登录)技术分享图片

6.压力测试

[[email protected] ~]# ab -c 100 -n 1000 172.16.0.149:8000/index.php
.......

Total transferred:      47724875 bytes
HTML transferred:       47521875 bytes
Requests per second:    370.11 [#/sec] (mean)
Time per request:       270.190 [ms] (mean)
Time per request:       2.702 [ms] (mean, across all concurrent requests)
Transfer rate:          17249.43 [Kbytes/sec] received

7.在epel源,安装php-xcache,安装完成后重启http服务,在测试页面可以找到xcache

技术分享图片

再次压力测试

Total transferred:      53075901 bytes
HTML transferred:       52872901 bytes
Requests per second:    314.28 [#/sec] (mean)
Time per request:       318.189 [ms] (mean)
Time per request:       3.182 [ms] (mean, across all concurrent requests)
Transfer rate:          16289.65 [Kbytes/sec] received
发现并没什么卵用,这是yum安装的版本不兼容



二:        (2) CentOS 7, 基于rpm包方式安装部署apm(php-fpm) + xcache;
            a) httpd, php, mariadb分别部署在一个单独的主机上;
            b) 一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress;
            c) 为phpMyAdmim提供https服务;

使用php-fpm,需要http版本2.4以上,且得卸载php模块.

注意:php模块,是将php作为模块加载到httpd里面实现的,而php-fpm则是一个独立的守护进程,需要http使用fcgi协议向php-fpm发送动态资源请求,从而实现LAMP

  1. 卸载php,会发现动态资源以及无法解释

    技术分享图片

    1. 配置php-fpm,(编辑/etc/php-fpm.d/www.conf),

    listen.allowed_clients = 127.0.0.1 //允许哪个客户端访问

    b.开启php-fpm服务

    [[email protected] ~]# systemctl start php-fpm
    重新编辑admin.conf和word.conf文件
    
    <VirtualHost 172.16.0.149:80>
            Servername www.word.com
            DocumentRoot "/mnt/word/"
            ProxyRequests Off //关闭反向代理
            ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/mnt/word/$1 //将匹配到的所有以.php结尾的文件通过fcgi协议通过9000端口发送到127.0.0.1/mnt/word/目录下找相应的文件
            <Directory "/mnt/word/">
                    Options none
                    AllowOverride none
                    Require all granted
            </Directory>
    </VirtualHost>

    重启服务,再次打开 word网页

    技术分享图片


以上是关于LAMP 进阶的主要内容,如果未能解决你的问题,请参考以下文章

Atom编辑器入门到精通 Atom使用进阶

四十LAMP与LNMP加速与缓存优化进阶实战上部

LAMP的基本配置

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段