WEB服务器群集架构——部署LAMP架构平台

LAMP的构成

  • L 表示服务器操作系统使用的是Linux
  • A 表示网站服务使用的是Apache的httpd服务,用来处理http的请求、构建响应报文自身的请求。
  • M 表示网站后台使用的是Mysql数据库,提供PHP程序对数据的读写与存储。
  • P 表示网站使用的是Perl/PHP/Python等语言开发,提供给Apache访问接口cgi或者Fast cgi(FPM)以及mysql数据库的连接环境。

手工编译安装Apache

先把Apache的跨平台组件包装了,环境包先装了

  • apr-1.6.2.tar.gz
  • apr-util-1.6.0.tar.gz
tar zxvf apr-1.6.2.tar.gz 			
tar zxvf apr-util-1.6.0.tar.gz 			
tar jxvf httpd-2.4.29.tar.bz2

注意文件结构,跑在最底下的两个组件包放到httpd/srclib里

mv apr-1.6.2 httpd-2.4.29/srclib/apr		
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

安装编译工具

yum -y install \
gcc \				#c语言编译器
gcc-c++ \			#c++的编译器
make \				#make编译工具
pcre-devel \		#pcre-devel 开发
expat-devel \		#expat 让你的网站能够去解析xml格式的文件
perl				#perl编译器

perl语言是个工具,类似shell脚本,也是支持awk、sed正则表达式的操作,专注于制作正则表达式里的工具,pcre-devel 开发,perl编译器,expat 让你的网站能够去解析xml格式的文件,都是支持标签性语言的,<> 斜杠/为结尾,让它能够识别标签性语言工具环境

进入http-2.4.29路径下,找到configure文件进行配置

./configure \
--prefix=/usr/local/httpd \		#自定义安装路径
--enable-so \					#核心模块
--enable-rewrite \				#重写功能,开启防盗链功能
--enable-charset-lite \			#字符集,支持简体中文
--enable-cgi					#通用网关接口	只要搭建网站,底层必有cgi

编译和安装
上面的是配置文件

make && make install

make的过程就是把刚刚的配置文件转换成可执行性文件,能执行的文件就是二进制文件,机器能识别而人识别不了 ,转换成机器能够识别的文件,二进制文件

修改配置文件

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd		#复制一份文件到/etc/init.d/httpd 文件中

vim /etc/init.d/httpd
# chkconfig: 35 85 21  //35级别自动运行  第85个启动  第21个关闭
# description: Apache is a World Wide Web server

添加启动脚本 便于server所能管理,systemctl所能管理Apache的服务启动和关闭

chkconfig --add httpd  //将httpd加入到SERVICE管理器

修改httpd配置文件,ServerName和Listen监听地址

vi /usr/local/httpd/conf/httpd.conf
ServerName www.kgc.com:80
Listen 192.168.15.133:80

创建软链接,/usr/local/bin目录便于系统识别

ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

关闭防火墙

systemctl stop firewalld.service
setenforce 0

检查httpd与apachectl是否有报错

httpd -t
apachectl -t

无报错,开启服务,检查80端口是否开启

service httpd start
netstat -anpt | grep 80

安装Mysql

安装环境包

yum install ncurses-devel autoconf cmake -y

解压缩后,进入mysql-5.6.26路径下

tar xzvf mysql-5.6.26.tar.gz
cd mysql-5.6.26

找到cmake文件,进行配置

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	#数据库通讯文件,sock文件,只有在服务启动之后,会自动产生

编译和安装,一般make和make install还是分开进行

make && make install

修改配置文件并提权

cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig --level 35 mysqld on

更改环境变量

echo "PHTH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
echo $PATH

添加Mysql用户,指定属组

useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/

初始化数据库

/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \						#用户
--ldata=/var/lib/mysql \			#函数库
--basedir=/usr/local/mysql \		#工作位置
--datadir=/home/mysql				#数据位置

修改/etc/init.d/mysqld文件,找到basedir和datadir指定路径

vi /etc/init.d/mysqld

basedir=/usr/local/mysql
datadir=/home/mysql

打开服务,检查3306端口是否开启

service mysqld start
netstat -anpt | grep 3306

安装PHP

安装环境包

yum -y install \
gd \					#图像化处理的库
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \			#解析xml标签系语言
libjpeg-devel

解压缩文件,进入php-5.6.11目录

tar xjvf php-5.6.11.tar.bz2
cd php-5.6.11

找到configure文件,进行配置

./configure \
--prefix=/usr/local/php5 \		
--with-gd \
--with-zlib \									#压缩,函数库
--with-apxs2=/usr/local/httpd/bin/apxs \		#让Apache各种功能模块直接启动给Apache执行和加载
--with-mysql=/usr/local/mysql \					#关联数据库
--with-config-file-pah=/usr/local/php5 \		#php的配置文件
--enable-mbstring								#功能型模块加载

编译和安装

make && make install

复制配置文件,建立软链接

cp php.int-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin/

修改 /etc/httpd.conf 文件

vi /etc/httpd.conf

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

DirectoryIndex index.php index.html

修改 html

vi /usr/local/httpd/htdocs/index.php

打开浏览器,输入"http://192.168.15.133/index.php"来进行测试

搭建Discuz论坛

解压缩Discuz_X2.5_SC_UTF8.zip文件

unzip Discuz_X2.5_SC_UTF8.zip -d /opt/Discuz

在数据库进行创建bbs,把论坛upload组件复制到bbs

mysql -u root -p #进入数据库
mysql>create database bbs;  					#创建bbs数据库
mysql> GRANT all ON bbs.* TO 'bbsuser'@'192.168.15.133' IDENTIFIED BY 'admin123';
mysql> flush privileges;  #刷新数据库
mysql> quit               						#退出

cp -r upload/ /usr/local/httpd/htdocs/bbs		#复制upload到httpd站点的bbs目录中

cd /usr/local/httpd/htdocs/bbs/
chown -R daemon ./config/
chown -R daemon ./data/
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data  				#为各程序用户提升权限

你可能感兴趣的:(WEB服务器群集架构)