zoukankan      html  css  js  c++  java
  • LAMP之基本介绍及应用

    LAMP:

    A:apache
    M:mariadb,mysql,mongodb
    P:php,perl,python

    LAMMP:

    另一个M:memcached

    静态资源:静态内容,客户端从服务器获得的资源的表现形式与原文件相同

    动态资源:通常是程序文件,需要在服务器端执行之后,将执行的结果返回给客户端

    CGI:

    CGI:Common Gateway Interface

    httpd+php的三种方式

    modules
      httpd prefork:libphp5.so
      httpd event or worker:libphp5-zts.so
    cgi fastcgi(fpm)

    用户请求资源的流程

    Client --> (http协议)--> httpd --(如果请求的是动态资源)--> (cgi或fastcgi或模块的方式)--> application server(主要运行用户所请求的程序文件) --> (mysql协议) --> mariadb

    基于RPM包的方式在CentOS7上构建lamp

    # yum install httpd php php-mysql mariadb-server -y  //安装httpd,php及mariadb-server,安装驱动php-mysql
    注意:php要求httpd使用prefork MPM,如果使用其他MPM,要安装支持线程格式的php模块包
    # systemctl start httpd  //启动httpd
    # httpd -M  //可以查看到php是以模块的方式被装载的
    # systemctl start mariadb.service  //启动mariadb

    基于RPM包的方式在CentOS6上构建lamp

    安装程序包

    # yum install httpd php php-mysql mysql-server -y

    启动服务

    # service httpd start
    # service mysqld start

    测试php

    # cd /var/www/html
    # vim index.php
    <?php
        phpinfo();
    ?>
    浏览器中访问:http://192.168.2.10/index.php
    页面显示php信息页

    测试php连接mariadb或mysql

    <?php
      $link=mysql_connect("127.0.0.1","mysql","");
      if($link)
         echo "success";
      else
         echo "failure";
         mysql_close();
    ?>

    使用lamp部署简单应用wordpress

    下载wordpress:
      https://cn.wordpress.org/download/
    # tar zxf wordpress.tar.gz
    # cp -a wordpress /var/www/html
    # cd /var/www/html
    # cd wordpress
    # cp wp-config-sample.php wp-config.php
    # vim wp-config.php
    define( 'DB_NAME', 'wpdb' );  //修改数据库名
    /** MySQL数据库用户名 */
    define( 'DB_USER', 'wpuser' );  //修改用户名
    /** MySQL数据库密码 */
    define( 'DB_PASSWORD', 'wppasswd' );  //修改密码
    /** MySQL主机 */
    define( 'DB_HOST', 'localhost' );
    /** 创建数据表时默认的文字编码 */
    define( 'DB_CHARSET', 'utf8' );

    # mysql

    GRANT ALL ON wpdb.* TO 'wpuser'@'localhost' IDENTIFIED BY 'wppasswd';
    GRANT ALL ON wpdb.* TO 'wpuser'#'127.0.0.1' IDENTIFIED BY 'wppasswd';
    CREATE DATABASE wpdb;
    FLUSH PRIVILEGES;

    测试:

    浏览器中访问:192.168.2.10/wordpress

    安装php加速器
      yum install php-xcache-VERSION
    ab测试: 
      ab -c 200 -n 10000 http://192.168.1.201/wp/index.php 

    使用lamp部署简单应用phpmyadmin

    下载phpmyadmin:
        https://www.phpmyadmin.net/
    # unzip phpMyAdmin-5.0.4-all-languages.zip

    # cp -a phpMyAdmin-5.0.4-all-languages /var/www/html/phpmyadmin

    # cd /var/www/html

    # cd phpmyadmin

    # ln -sv phpmyadmin pma

    # cd pma

    # cp config.sample.inc.php config.inc.php

    # vim config.inc.php

    $cfg['blowfish_secret'] = '231122221111';  //添加随机密码
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['AllowNoPassword'] = false;
    # mysql
    SET PASSWORD FOR 'root'@'127.0.0.1'=PASSWORD('ckh');  //给root用户添加密码
    SET PASSWORD FOR 'root'@'127.0.0.1'=PASSWORD('ckh');
    FLUSH PRIVILEGES;

    提供虚拟主机和https服务

      vhost1: pma.stux.com, phpMyAdmin,同时提供https服务
      vhost2: wp.stuX.com,wordpress

    复制代码
    提供虚拟主机
    # vim /etc/httpd/conf.d/vhost.conf
           添加:<VirtualHost "192.168.1.201:80">
                ServerName "pma.stux.com"
                DocumentRoot "/var/www/html/pma"
            </VirtualHost>
        <VirtualHost "192.168.1.201:80">
                ServerName "wp.stux.com"
                DocumentRoot "/var/www/html/wp"
        </VirtualHost>   
    测试:curl wp.stux.com 为pma提供https服务 以192.168.1.105建立私有ca 建立ca的步骤参照之前博客https://www.cnblogs.com/ckh2014/p/10780608.html中https内容 # httpd -M | grep ssl //检查ssl模块已装载 # vim /etc/httpd/conf.d/ssl.conf 修改:DocumentRoot "/var/www/html/pma" ServerName pma.stux.com:443 SSLCertificateFile /etc/httpd/ssl/httpd.crt SSLCertificateKeyFile /etc/httpd/ssl/httpdkey.pem

      测试:以192.168.1.105作为客户端
        # openssl s_client -connect 192.168.1.201:443 -CAfile=/etc/pki/CA/cacert.pem

     php解释器如何与mariadb交互?

    解释器无须与mariadb交互,那些用到数据存储系统的程序才需要与数据存储交互。
    存储系统:
      文件系统:存储的是文件
      SQL数据库:mariadb,oracle,mssql,
      NoSQL:redis,mongodb,hbase...
      NewSQL:

     

  • 相关阅读:
    cocos2d 设置按钮不可用
    cocos2d-js屏幕任何位置点击开始的实现
    cocos2d-js取不到cocostudio里面控件问题
    XMLHttpRequest
    [cocos2d-js]长按按钮事件
    [cocos2d-js]chipmunk例子(二)
    [cocos2d-js]chipmunk例子(一)
    BOX2D测试
    Cocos2d-JS v3.0 alpha 导入 cocostudio的ui配置
    Cocos2d-JS v3.0 alpha不支持cocos2d-x的Physics integration
  • 原文地址:https://www.cnblogs.com/ckh2014/p/14243155.html
Copyright © 2011-2022 走看看