网络浪子 发表于 2018-12-30 08:38:45

LAMP+LVS+KEEPALIVED(一)

  


LAMP+LVS+KEEPALIVED(一)

1、apache工作模式及参数说明

(1)prefork模式
  prefork是Unix平台上的默认(缺省)MPM,使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接,效率高,但内存占用量比较大。

(2)worker模式
  worker使用多个子进程,每个子进程有多个线程,每个线程在某个确定的时间只能维持一个连接,内存占用量比较小,适合高流量的http服务器。缺点是假如一个线程崩溃,整个进程就会连同其任何线程一起"死掉",所以要保证一个程式在运行时必须被系统识别为"每个线程都是安全的"。

(3)参数说明
  


2、源码安装lamp

(1)安装httpd-2.4.12
  #安装过程缺少依赖的包提示:
  #缺少apr-devel
  configure: error: APR not found.Please read the documentation
  

  #缺少apr-util-devel
  configure: error: APR-util not found.Please read the documentation
  

  #缺少pcre-devel
  configure: error: pcre-config for libpcre not found
  

  #使用yum来安装:
  yum -y install apr-devel apr-util-devel pcre-devel
  #或者源码安装apr-1.5.1和apr-util-1.5.4
  cd apr-1.5.1
  ./configure && make && make install
  cd ../apr-util-1.5.4
  ./configure--with-apr=/usr/local/apr/ && make && make install
  

  #安装openssl-1.0.2a
  yum -y install libgcrypt-devel.x86_64
  ./config && make && make install
  

  #安装httpd-2.4.12
./configure--prefix=/usr/local/apache2 --enable-so
--enable-ssl=static --with-ssl=/usr/local/ssl/
--enable-mods-shared=all
--with-apr=/usr/local/apr/
--with-apr-util=/usr/local/apr/
  make && make install
  

  #默认会安装到/usr/local/apache2/下
  #可以在./configure 时添加--prefix=/mypath
  #可以通过./configure --help来查看相关编译参数,根据需求调整
  


(2)安装php-5.6.8
  

  #安装过程缺少依赖包:
  #缺少gcc
  configure: error: no acceptable C compiler found in $PATH
  

  #缺少libxml2-devel
  configure: error: xml2-config not found. Please check your libxml2 installation
  

  #使用yum来安装:
  yum -y install gcc gcc-c++ libxml2-devel
  

  #安装php-5.6.8
  #apxs是在安装php时生成动态连接模块工具,如果不指明路径,apache就无法调用php
  #一定要添加--with-apxs2=/usr/local/apache2/bin/apxs
  #php安装完成后,可以看到会在httpd.conf文件添加"LoadModule php5_module modules/libphp5.so"
  #动态加载php来完成解析
  ./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs
  

  make && make install
  

  #默认会安装到/usr/local/php/下
  #可以在./configure 时添加--prefix=/mypath 更改安装路径
  #可以通过./configure --help来查看相关编译参数,根据需求调整
  


(3)安装mysql-advanced-5.6.23-linux-glibc2.5-x86_64
  #具体安装和应用方法查看之前的mysql文档
  #具体可以参考目录下的INSTALL-BINARY文件
  

  #安装mysql,将mysql压缩解压到/usr/local
  tar zxvf mysql-advanced-5.6.23-linux-glibc2.5-x86_64.tar.gz -C /uar/local/
  cd /usr/local
  ln -s mysql-advanced-5.6.23-linux-glibc2.5-x86_64 mysql
  cd mysql
  

  #添加mysql用户和群组
  groupadd mysql
  useradd -r -g mysql mysql
  

  #修改相关目录和文件属主和所属群组
  chown -R mysql .
  chgrp -R mysql .
  或者:chown -R mysql:mysql .
  

  #将目录属主更改为root,避免mysql用户将目录删除
  chown -R root .
  chown -R mysql data
  

  #使用mysql用户权限来初始化数据库
  scripts/mysql_install_db --user=mysql
  

  #会提示缺少perl-modules
  #FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db
  yum -y install perl-Module-Install.noarch
  

  #缺少依赖包libaio
  #error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
  yum -y install libaio-devel
  

  #将mysql添加为服务
  cp support-files/mysql.server /etc/init.d/mysqld
  chkconfig --add mysqld
  

  #将mysql的bin目录加入到PATH环境变量
  #在/etc/profile最后面添加
  PATH=$PATH:/usr/local/mysql/bin
  source /etc/profile
  

  #脚本初始化已经添加mysqld脚本,如果没有直接cp /etc/init.d/mysqld
  /etc/rc.d/init.d/mysqld
  

  #启动mysql
  /usr/local/mysql/bin/mysqld_safe &
  

  #更改mysql root密码提示
  #error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock'
  

  /usr/local/mysqladmin -u root -p password --socket=/var/lib/mysql/mysql.sock
  #或者
  ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
  

  #在/etc/my.cnf 文件socket参数指定为/tmp/mysql.sock
  socket=/tmp/mysql.sock
  


3、lamp连接测试

(1)设置service方式启动apache
  #将启动脚本复制为/etc/init.d/httpd
  cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
http://s3.运维网.com/wyfs02/M02/6E/11/wKiom1VyqNqAsbH6AACSUEtctXw676.jpg
  #可以这样来停止、启动和重启apache
  service httpd stop/start/restart
  /etc/init.d/httpd stop/start/restart
  /usr/local/apache2/bin/apachectl stop/start/restart
  

  #或许是因为兼容性不好,无法使用chkconfig设置开机启动
  chkconfig add httpd
http://s3.运维网.com/wyfs02/M00/6E/0C/wKioL1Vyqnqxugt6AABjb53ukJg974.jpg
  #但是可以使用下面的方式设置为开机启动apache
http://s3.运维网.com/wyfs02/M00/6E/11/wKiom1VyqNuh3NE-AACevaF6DwE973.jpg

(2)复制php.ini文件
  cp php.ini-development /etc/php.ini
  #不需要进行手动更改就可以让apache调用php
  #php在编译的时候会修改httpd.conf配置文件,添加如下一行
  LoadModule php5_module      modules/libphp5.so
  #如果在编译的时候没有指定--with-apxs2=/usr/local/apache2/bin/apxs,则apache无法加载php



页: [1]
查看完整版本: LAMP+LVS+KEEPALIVED(一)