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%。













原文地址:https://www.cnblogs.com/ronghui/p/8940782.html