Web服务器集群——源码部署LAMP平台
Posted 可乐卷儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web服务器集群——源码部署LAMP平台相关的知识,希望对你有一定的参考价值。
文章目录
一、LAMP简介与概述
1、LAMP平台概述
LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境
LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,mysql数据库服务器,php(或perl,Python)网页编程语言
2、构建LAMP平台顺序
在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP
其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服务器和数据库系统以协同工作
3、编译安装的优点
- 具有较大的自由度,功能可定制
- 可及时获得最新的软件版本
- 普遍适用于大多数Linux版本,便于一直使用
4、各组件的主要作用
-
(平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。
-
(前台)Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容;静态页面服务。
-
(后台)MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息;数据库。
-
(中间连接)PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到html中,尤其适合于Web应用开发。
二、源码安装Apache
1、安装准备工作
- apache官网:http://httpd.apache.org/
- 所需源码包:httpd-2.4.48
- 所需依赖包apr-1.7.0.tar.gz、apr-util-1.6.1.tar.gz
- 安装环境:必须预先安装gcc、gcc-c++和make
- apr包是apache的依赖包,apr、apr-util软件包支持Apache上层应用跨平台,提供底层接口库
2、安装步骤
- 解压tarball
- 解压完成后会产生一个configure可执行文件,它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息,为随后的编译工作做准备,在解压目录下./configure
- 检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同。命令为: make
- 成功编译后,键入如下的命令开始安装:make install
安装完毕,可以清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:make clean
代码如下:
[root@klj ~]# cd /opt ##软件包放在opt目录下
[root@klj opt]# rz -E ##先下载到电脑再拖进linux中
rz waiting to receive.
[root@klj opt]# ls
apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.48.tar.gz rh
[root@klj opt]# ls
apr-1.7.0 apr-util-1.6.1 httpd-2.4.48 rh
apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.48.tar.gz
[root@klj opt]# tar zxf apr-1.7.0.tar.gz ##opt目录下解压
[root@klj opt]# tar zxf apr-util-1.6.1.tar.gz
[root@klj opt]# tar zxf httpd-2.4.48.tar.gz
[root@klj opt]# mv apr-1.7.0 httpd-2.4.48/srclib/apr ##移动解包包至 httpd-2.4.48/srclib目录下重命名apr
[root@klj opt]# mv apr-util-1.6.1 httpd-2.4.48/srclib/apr-util ##移动解包包至 httpd-2.4.48/srclib目录下重命名apr-util
[root@klj opt]# cat /etc/resolv.conf ##查看DNS是否配置
# Generated by NetworkManager
search localdomain
nameserver 114.114.114.114
[root@klj opt]# yum install -y pcre pcre-devel expat-devel ##下载依赖软件;PCRE(Perl Compatible Regular Expressions)是一个轻量级的Perl函数库,包括 perl兼容的正则表达式库,功能和性能都很强大,expat是一个由C语言编写的XML解析库
[root@klj httpd-2.4.48]# ./configure --prefix=/usr/local/httpd ##配置和检查环境
[root@klj httpd-2.4.48]# make && make install ##编译和安装
[root@klj httpd-2.4.48]# cd /usr/local/httpd
[root@klj httpd]# ls
bin cgi-bin error httpd.conf include logs manual
build conf htdocs icons lib man modules
[root@klj httpd]# vim httpd.conf ##修改配置文件
51行:下面加入一行:Listen 192.168.35.40:80
194行:下面加入一行:ServerName www.klj.com:80
219行: DocumentRoot " /usr/ local /httpd/htdocs" ##默认首页存放路径
253行:Di rectoryIndex index. html ##默认首页文件名设置
[root@klj conf]# cp /user/local/httpd/bin/apachetcl /etc/init.d/httpd ##把httpd的命令apache 复制到service下面,便于service管理
[root@klj bin]# vim /etc/init.d/httpd ##添加两行内容,加上注释
# chkconfig: 35 85 21 ##35级别自动运行 第85个启动 第21个关闭
# description: Apache is a World Wide Web server
[root@klj bin]# chkconfig --add httpd ##将httpd加入系统管理器;chkconfig:系统识别命令;--add:添加
[root@klj bin]# httpd -t 对配置文件的语法检测
[root@klj bin]# service httpd star ##开启httpd服务
[root@klj bin]# netstat -antp | grep 80 ##查询端口已开启
tcp 0 0 192.168.35.40:80 0.0.0.0:* LISTEN 99070/httpd
主页目录:/usr/local/httpd/htdocs
执行文件目录:/usr/local/httpd/bin
日志目录(访问日志、错误日志):/usr/local/httpd/logs
3、启动服务
- ./apachectl start
- 创建软链接,直接执行httpd
ln -s /usr/local/httpd/bin/* /usr/local/bin/
- 使用server管理
cp /user/local/httpd/bin/apachetcl /etc/init.d/httpd ##把httpd的命令apache 复制到service下面,便于service管理
/etc/init.d/ :service管理工具可以识别服务启动脚本的目录位置
/usr/lib/systemd/system/:真实suystemctl 可以识别的服务启动脚本的目录位置
vim /etc/init.d/httpd
# chkconfig: 35 85 21 ##35级别自动运行 第85个启动 第21个关闭
# description: Apache is a World Wide Web server
chkconfig --add httpd ##将httpd加入系统管理器;chkconfig:系统识别命令;--add:添加主配置文件
4、卸载
- make uninstall
- rm -rf httpd/
软件包安装目录在:usr/local/httpd目录下,删除此httpd目录
三、安装MYSQL
1、安装过程
mysql的功能:提供持久化存储
yum -y install ncurses ncurses-devel bison cmake autoconf ##安装mysql依赖软件
cd /opt
tar xzvf mysql-5.6.26.tar.gz ##解压mysql包到opt目录下
cd /opt/mysql-5.6.26 ##切换到mysql解压目录下
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DSYSCONFIDIR=/etc -DMYSQL_DATADIR=/home/mysql/ -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
-DCMAKE_ INSTALL _PREFIX=/usr/ local/mysql ##在mysql解压包的目录下
注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMa keCache. txt文件删除,然后再重新CMAKE,否则错误依旧
make && make install ##编译和安装
cd /opt/mysql-5.6.26/supoort-files/ ##模板型文件
cp support-files/my-default.cnf /etc/my.cnf
cp support- files/my-default.cnf /etc/my.cnf ##把默认配置文件复制到mysql自带的配置文件/etc/my.cnf;my-default.cnf:默认配置文件
cp support-files/mysql.server /etc/init.d/mysqld ##复制mysql.server复制到service服务下并改名mysqld;做开机启动脚本
chmod 755 /etc/init.d/mysqld ##赋予一个启动权限
chkconfig --add /etc/init.d/mysqld
chkconfig mysqld --level 35 on ##配置开机自启
useradd -s /sbin/nologin mysql #创建普通用户管理mysql
chown -R mysql:mysql /usr/local/mysql/ #递归更改属主属组
echo "PATH=SPATH:/usr/ local/mysql/bin" >> /etc/profile #设置环境变量,申明/宣告mysql命令便于系统识别
/usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/lib/mysql --basedir=/usr/local/mysql --datadir=/home/mysql ##初始化数据库
vim /etc/init.d/mysqld
46 basedir=/usr/local/mysql
47 datadir=/home/mysql
service mysqld start ##开启mysqld服务
netstat -antp | grep 3306 ##验证端口已开启
tcp6 0 0 :::3306 :::* LISTEN 9370/mysqld
需下载的依赖软件包
- gcc #编译语言,翻译官
- gcc-c++
- ncurses #字符终端下图形互动功能的动态库
- ncurses-devel #ncurses开发包
- bison #语法分析器
- cmake #mysql需要用cmake编译安装
- autoconf #是一个用于生成可以自动配置软件源代码包以适应多种unix类系统的shell脚本工具。
cmake #mysql需要用cmake编译安装
-
autoconf #是一个用于生成可以自动配置软件源代码包以适应多种unix类系统的shell脚本工具。
-
DDEFAULT CHARSET=utf8 #指定默认使用的字符集编码,如utf8/utf-8:语法是中文
-
DDEFAULT_ COLLATION=utf8_ general_ _ci #指定默认使用的字符集校对规则;COLLATION:校对
-
DEXTRA_ CHARSETS=all #指定支持其他字符集编码;DEXTRA:其他;CHARSETS:字符集
-
DSYSCONFIDIR=/etc #配置文件路径/etc/mysql; 会覆盖掉系统中默认的配置文件: /etc/my. cnf
-
DMYSQL_ DATADIR=/home/mysql/ #数据文件;数据文件放到home家目录mysq|目录下
-
DMYSQL_ UNIX ADDR=/ home/ mysql/ mysql . sock #指定连接数据库的通讯文件(启动数据库的时候会生成)
-
有关cmkae的相关释义,百度百科如下:
cmake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似与UNIX下的automake。只是cmake的组态档取名为cmakeLists.txt。
cmake并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用
2、给root设置密码
密码使用英文双引号""引住
mysqladmin -u root -p password "abc123"
3、登录和退出mysql
- 登录
- mysql -uroot -p
- mysql -uroot -pabc123
- show databases; #show:查看,data:数据,bases:信息
- use mysql
- show tables ##查看mysql的表
- mysql -uroot -p
- 退出
- exit ##友好退出
- Ctrl-C – exit! ##暴力退出
- exit ##友好退出
四、安装PHP
php 处理动态请求,在此处他是一个后台的代码程序,不是一个服务(所以不需要启动脚本)
yum -y install gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-devel ##安装php服务依赖软件
tar xjvf php-5.6.11.tar.bz2 ##解压到opt目录下
cd php-5.6.11 ##切换到软件包目录下
./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring ##这一步为了可以httpd mysql对接,为了可以更好的处理动态请求
make && make install ##编译和安装
ln -s /usr/local/php5/bin/* /usr/local/bin #优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
cd /usr/local/httpd/conf/httpd.conf
vim httpd.conf ##编辑httpd主配置文件
253行:添加index.php ##添加php的网页格式
390行后面插入以下内容,让Apache可以支持.php的网页文件
391 AddType application/x-httpd-php .php
392 AddType application/x-httpd-php-source .phps
检查156行默认支持php5的模块是否存在
vim /usr/local/httpd/htdocs/index.php #创建、编辑php页面文件
<?php
phpinfo();
?>
service httpd stop
service httpd start ##重启httpd服务;不直接使用restart是因为在开启或者运转过快时导致卡死的状况
–prefix=/usr/local/php5
–with-gd #激活gd 库的支持
–with-zlib #支持zlib功能,提供数据压缩功能的函式库
–with-apxs2=/usr/local/httpd/bin/apxs #指定httpd服务提供的apxs模块支持程序的文件位置
#用于指定Apache可以加载/识别对应的功能模块,此处可以让php服务模块直接提供给apache加载使用
–with-mysql=/usr/local/mysql #关联数据库
–with-config-file-path=/usr/local/php5 #指定配置文件
–enable-mbstring #启用多字节字符串功能,以便支持中文等代码
验证:本机输入网址:http://192.168.35.40/index.php
以上是关于Web服务器集群——源码部署LAMP平台的主要内容,如果未能解决你的问题,请参考以下文章