zoukankan      html  css  js  c++  java
  • lamp介绍

    概述

             Lamp架构是目前成熟的网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态web站点服务及其应用开发环境。

    组成:Linux 、Apache、MySQL、php/perl/python

    优势:成本低廉、可定制、易于开发、方便易用、安全和稳定

    1)准备工作

    setenforce 0 #关闭selinux

    systemctl stop firewalld.service

    apr-utils apache移植运行库

    --prefix=:指定安装目录

    --enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力

    --enable-rewrite::启用网页地址重写功能,用于网站优化及目录迁移维护。(如果访问网站未找到,将自动跳转到其他网页)

    --enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。

    --enable-cgi:启用CGI脚本程序支持,以便于网站的应用访问能力

    --help:帮助信息

     

    make && make install

     

    cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd

    chmod +x /etc/rc.d/init.d/httpd

    checkconfig --add httpd

     

     

    报错1httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName    不能找到完全合格的域名

        解决:vim /usr/local/httpd/conf/httpd.conf

            97 #ServerName www.example.com:80

            98 ServerName localhost:80

       报错2

    /usr/local/apache/bin/httpd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

    有很多so模块在/usr/local/lib目录下,所以在/etc/ld.so.conf中加入/usr/local/lib这一行

    /usr/local/httpd/bin/apachectl start启动httpd服务

    下载工具
    [root@E tools]# pwd
    /home/evan/tools
    [root@E tools]# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
    [root@E tools]# ls -l cmake-3.5.2.tar.gz
    -rw-r--r-- 1 root root 6863498 4月 16 01:40 cmake-3.5.2.tar.gz

    解压cmake3.5.2
    [root@E tools]# tar xf cmake-3.5.2.tar.gz
    [root@E tools]# ls -ld cmake-3.5.2
    drwxr-xr-x 11 root root 4096 4月 27 09:45 cmake-3.5.2

    安装cmake3.5.2
    [root@E tools]# cd cmake-3.5.2
    [root@E cmake-3.5.2]# ./configure
    [root@E cmake-3.5.2]# gmake
    [root@E cmake-3.5.2]# gmake install
    [root@E cmake-3.5.2]# cd ../

    3.yum -y install gcc gcc-c++ ncurses-devel perl openssl-devel bison 解决依赖


    4.安装MySQL
    创建用户和组
    groupadd mysql
    useradd mysql -s /sbin/nologin -M -g mysql
    mkdir -p /usr/local/mysql
    mkdir -p /data/mysql
    chown -R mysql.mysql /data/mysql
    chown -R mysql.mysql /usr/local/mysql

    解压编译安装(编译文档附件)
    安装openssl 和 ncurses
    tar zxf mysql-5.5.32.tar.gz
    cd mysql-5.5.32

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql

    #-- Build files have been written to: /home/evan/tools/mysql-5.5.32
    提示,编译时可配置的选项很多,具体可参考结尾附录或官方文档:
    make && make install

    cp supports-file/my-medium.cnf /etc/my.cnf 使用样本来给mysql作为配置文件

    [root@localhost mysql-5.5.11]#scripts/mysql_install_db  --user=mysql  --basedir=/usr/local/mysql --datadir=/data/mysql/ 初始化

    指定basedir 和 datadir

    cp support-file/mysql.server /etc/rc.d/init.d/mysqld

    chmod +x /etc/rc.d/init.d/mysqld

    checkconfig --add mysqld

    checkconfig --list mysqld

    vim /etc/profile.d/mysql.sh

    export PATH=$PATH:/usr/local/mysql/bin

    编译安装php

     

     整合lamp

    php需要php.ini作为配置文件 

    在/php-5.3.6安装包中有两个配置文件一个是php.ini-development还有一个是php.ini-production

    将production拷到/usr/local/php中

    修改配置文件

     修改httpd的配置文件/usr/local/httpd/conf/httpd.conf

    LoadModule php5_module modules/libphp5.so

    modules/libphp5.so    模块位置
    
    54 AddType application/x-httpd-php .php .phtml                 
        添加对“.php”类型网页支持
    169  DirectoryIndex index.php index.html        
        识别常见的php首页文件

    vim /usr/local/httpd/htdocs/index.php
      <?php
        phpinfo();
      ?>

    测试是否能连同mysql
    <?php
      $conn = mysql_connection('127.0.0.1','root','')
        if ($conn)
          echo "ok";
        else
          echo 'not ok';
    ?>

    Xcache 以及 fastcgi配置

    下载地址:
    http://xcache.lighttpd.net/wiki/Release-3.2.0


    编译安装:

    [php] view plain copy
     
    1. # wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz  
    2. # tar -zxvf xcache-3.2.0.tar.gz  
    3. # cd xcache-3.2.0  
    4. # /usr/local/php/bin/phpize  
    5. # ./configure --enable-xcache --enable-xcache-coverager --enable-xcache-optimizer   
    6. --with-php-config=/usr/local/php/bin/php-config  
    7. # make && make install  
    8. # vim php.ini #add line extension=xcache.so  




    配置文件参数解释:

    [xcache-common]
    extension = xcache.so
    ; extension = php_xcache.dll

    [xcache.admin] 
    ; 登录管理界面的用户名和密码,留空则禁用管理界面
    xcache.admin.enable_auth = On

    ; 管理用户名
    xcache.admin.user = "xcache-admin"

    ; MD5加密后的密码,# echo -n pass | md5sum
    xcache.admin.pass = ""

    [xcache] 
    ; 决定 XCache 如何从系统分配共享内存
    xcache.shm_scheme = "mmap"

    ; 所用共享缓存的大小。如果为0,缓存将无法使用
    xcache.size = 60M

    ; 指定将 cache 切分成多少块, 建议设置为 cpu 数 (cat /proc/cpuinfo |grep -c processor)
    xcache.count = 1

    ; 只是作为 hash 槽个数的参考值, 您可以放心地缓存超过这个个数的项目.
    xcache.slots = 8K

    ; Opcode文件的生存时间。如果将此值设置为0,则将无限期缓存 (int)
    xcache.ttl = 0

    ; 触发垃圾回收的时间间隔。默认设置为0 (秒)
    xcache.gc_interval = 0

    ; 同上, 只是针对变量缓存设置
    xcache.var_size  = 4M
    xcache.var_count = 1
    xcache.var_slots = 8K
    xcache.var_ttl = 0
    xcache.var_maxttl = 0
    xcache.var_gc_interval = 300

    ; 启用或禁用测试功能
    xcache.test = off

    ; 如果启用了 ReadonlyProtection, 将会略微降低性能, 但是会提高一定的安全系数. 
    ; 这个选项对于xcache.mmap_path = /dev/zero 无效.
    xcache.readonly_protection = On

    ; 用于只读保护的文件路径
    ; 这将限制两个 php 进程组共享同一个 /tmp/xcache 目录, 指定为 /dev/zero 时无效
    xcache.mmap_path = "/tmp/xcache"

    ; 在遇到故障时,放置核心转储的目录。必须是PHP可写入的目录。保留为空代表禁用.
    xcache.coredump_directory = ""

    ; 仅用于 Windows
    xcache.coredump_type = 0

    xcache.disable_on_crash = off  
    xcache.experimental = off

    ; 使用/不使用 opcode 缓存. xcache.size = 0 时无效.
    xcache.cacher = On

    ; 使用 stat() 发现检查脚本更新.
    xcache.stat = ON

    ; 启用或禁用优化。默认状态为禁用
    xcache.optimizer = off

    [xcache.coverager]
    ; 启用代码覆盖信息采集器
    ; 启用后 xcache.coveragedump_directory 设置以及 xcache_coverager_start/stop/get/clean() 系列函数才可以使用. (启用后会对降低影响).
    xcache.coverager = off

    ; 每个页面请求自动调用 xcache_coverager_start()
    xcache.coverager_autostart = off

    ; 放置数据采集信息的目录位置。默认使用目录 /tmp/pcovis

    xcache.coveragedump_directory = ""

    https://my.oschina.net/angelangel/blog/338458 eaccelerator  

    Zend Opcache

    这几个PHP加速插件的主要原理都相同,就是把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速 度,降低服务器负载,它们的效率是显而易见的,像drupal这种庞大的CMS,每次打开一个页面要调用数十个PHP文件,执行数万行代码,效率可想而 知,在安装APC等加速器后打开页面的速度明显加快。

    Zend Opcache 已经集成在了PHP 5.5里面,编译安装PHP5.5的时候加上–enable-opcache就行了。但也支持低版本的 PHP 5.2.*, 5.3.*, 5.4.*,未来会取消对5.2的支持,下面是我在PHP 5.4下的安装方法:

    依次执行下面的命令

    wget http://pecl.php.net/get/zendopcache-7.0.2.tgz

    tar xzf zendopcache-7.0.2.tgz

    cd zendopcache-7.0.2

    /usr/local/php/bin/phpize (此处根据实际php安装路径)

    ./configure --with-php-config=/usr/local/php/bin/php-config

    make

    make install

    如果显示Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/ 表示安装完成,下面要修改php的配置文件让它生效

    接着呢,配置下php.ini,在最后加上:

    [opcache]

    zend_extension=opcache.so

    opcache.memory_consumption=128

    opcache.interned_strings_buffer=8

    opcache.max_accelerated_files=4000

    opcache.revalidate_freq=60

    opcache.fast_shutdown=1

    opcache.enable_cli=1

    opcache.enable=1

    一般来说,按照以往的经验,如果加在ZendGuardLoader之前会稳定多了。

    128意思是给它分配128M内存,然后重启apache,用phpinfo查看是否生效,显示下面的信息就说明生效了

    在phpinfo页面的下面可以看到的运行状态

    如果嫌这个不直观可以装个PHP文件查看,地址在https://gist.github.com/ck-on/4959032,把上面的代码保存为一个php文件放到你的网站目录下面打开就可以看到:

    命中率100%。













  • 相关阅读:
    (七)mysql 记录长度
    (六)列类型
    (五)校对集
    (四)中文数据问题
    Spring Boot Jpa 的使用
    Spring Boot:如何优雅的使用 Mybatis
    Spring Boot:定时任务
    Spring Boot 小技巧
    【重磅】Spring Boot 2.0权威发布
    Spring Boot + Jpa + Thymeleaf 增删改查示例
  • 原文地址:https://www.cnblogs.com/ronghui/p/8940782.html
Copyright © 2011-2022 走看看