1、LAMP简介与概述
1.1LAMP平台概述
LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境
LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言
1.2构建LAMP平台顺序
在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP
其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服务器和数据库系统以协同工作
1.3编译安装的优点
1、具有较大的自由度,功能可定制
2、可及时获得最新的软件版本
3、普遍适用于大多数Linux版本,便于一直使用
1.4各组件的主要作用
(平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。
(前台)Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。
(后台)MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息。
(中间连接)PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。
2.编译安装ApacheHttpd服务
2.1将需要的安装包下载到/opt目录下
2.2解压下面压缩包
2.3移动文件改名,安装语言包
[root@localhost opt]#yum -y install \
> gcc \ #C语言的编译器
> gcc-c++ \ #C++的编译器
> make \
> pcre-devel \ #perl的接口开发包
> expat-devel \ #用于支持网站解析HTML、XML文件
> perl #perl语言编译器
2.4编译安装
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \ #指定 httpd 服务程序的安装路径
--enable-so \ #启用动态加载核心模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \ #启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \ #启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi #启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力
安装成功
2.5指定3个cpu编译安装
2.6优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s/usr/local/httpd/conf/httpd.conf /etc/
ln -s/usr/local/httpd/bin/* /usr/local/bin/
更改配置文件chkconfig: 35 85 21 //35级别自动运行 第85个启动 第21个关闭
2.7chkconfig --add httpd //将httpd加入到系统管理器
vi /usr/local/httpd/conf/httpd.conf
2.8检查语法是否正确
2.9启动httpd服务
2.10Apache安装成功
3.安装数据库
3.1此时用脚本安装数据库,等待时间较长
3.2安装数据库成功,并查看数据库,设置密码为123456
设置
4.安装php
yum -y install \
gd \ #图像化处理的库
libpng \ #png格式图片的库
libpng-devel \
pcre \ #PCRE库支持正则表达式
pcre-devel \ #pcre-devel是使用PCRE做二次开发时所需要的开发库,也是编译安装需要的
libxml2-devel \ #解析xml标记语言的库
libjpeg-devel #jpeg格式图片的库
4.1 将安装PHP 所需软件包传到/opt目录下
4.2安装GD库和GD库关联程序,用来处理和生成图片
yum -y install \
gd \ #图像化处理的库
libjpeg libjpeg-devel \ #jpeg格式图片的库
libpng libpng-devel \ #png格式图片的库
freetype freetype-devel \
libxml2 libxml2-devel \ #解析xml标记语言的库
zlib zlib-devel \
curl curl-devel \
pcre \ #PCRE库支持正则表达式
pcre-devel \ #pcre-devel是使用PCRE做二次开发时所需要的开发库,也是编译安装需要的
openssl openssl-devel
yum install -y gd libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel pcre pcre-devel openssl openssl-devel
4.3配置软件模块
cd /opt
tar jxvf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/
./configure \
--prefix=/usr/local/php7 \ #指定将 PHP 程序的安装路径
--with-apxs2=/usr/local/httpd/bin/apxs \ #指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock=/usr/local/mysql/mysql.sock \ #指定mysql 数据库连接文件的存储路径
--with-config-file-path=/usr/local/php7 #设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli \ #添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-zlib \ #支持zlib功能,提供数据压缩
--with-curl \ #开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
--with-gd \ #激活gd 库的支持
--with-jpeg-dir \ #激活jpeg 的支持
--with-png-dir \ #激活png 的支持
--with-freetype-dir \
--with-openssl \
--enable-mbstring \ #启用多字节字符串功能,以便支持中文等代码
--enable-xml \ #开启扩展性标记语言模块
--enable-session \ #会话
--enable-ftp \ #文本传输协议
--enable-pdo \ #函数库
--enable-tokenizer \ #令牌解释器
--enable-zip
4.4编译安装 make && make install
4.5复制模版文件作为PHP 的主配置文件,并进行修改
cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini
#在测试环境时使用php.ini-development文件,而在生产环境时使用php.ini-production文件
vim /usr/local/php7/php.ini
取消注释,修改时区
修改mysqli.default_socket = /usr/local/mysql/mysql.sock
4.6 优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php7/bin/* /usr/local/bin/
4.7修改Apache配置文件让Apache支持PHP
vi /etc/httpd.conf
在392行下方插入内容,让Apache可以支持.php的网页文件
创建、编辑php页面文件
rm -rf /urs/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
查看服务状态
4.8 在网页测试“http://192.168.204.136/index.php”
5.搭建论坛
5.1连接上数据库
mysql> CREATE DATABASE bbs; //创建一个数据库//
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; //把bbs数据库里面所有表的权限授予给bbsuser,并设置密码// 所有访问来源/渠道
mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
mysql>flush privileges; //刷新数据库//
5.2解压论坛压缩包
5.3上传站点更新包
cp -r upload/ /usr/local/httpd/htdocs/bbs
切换论坛目录
cd /usr/local/httpd/htdocs/bbs