部署LAMP平台

本文详细介绍了如何部署LAMP平台,从Linux系统、Apache服务器、MariaDB数据库到PHP的编译安装,以及如何配置和验证每个组件,最后通过搭建论坛来验证整个架构的成功建立。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LAMP概述

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。

各组件作用

  • -L:很显然L代表Linux系统,但此L需注意系统的版本号,如Centos6.9或Centos7.3;
  • -A:表示apache,在传统行业中,多数采用Apache服务器,因此也很有必要了解学习Apache;
  • -M:表示数据库,多数采用mysql或mariadb,作为专业的数据库工程师需经多年的历练;
  • -P:表示PHP、python、perl等等编程语言。

apache主要实现如下功能

一:处理http的请求、构建响应报文等自身服务;

二:配置让Apache支持PHP程序的响应(通过PHP模块或FPM);

三:配置Apache具体处理php程序的方法,如通过反向代理将php程序交给fcgi处理。

mariadb主要实现如下功能

一:提供PHP程序对数据的存储;

二:提供PHP程序对数据的读取(通常情况下从性能的角度考虑,尽量实现数据库的读写分离)。

php主要实现如下功能

一:提供apache的访问接口,即CGI或Fast CGI(FPM);

二:提供PHP程序的解释器;

三:提供mairadb数据库的连接函数的基本环境。

由此可知,要实现LAMP在配置每一个服务时,安装功能需求进行配置,即可实现LAMP的架构,当然apache、mariadb和php服务都可配置为独立服务,安装在不同服务器之上。

编译安装Apache httpd服务

将安装的Apache所需软件包传到/opt目录下

apr组件包用于支持Apache上层应用跨平台,提供底层接口库,能有效的降低并发连接数、降低进程和减少访问堵塞。
在这里插入图片描述

解压跨平台组件包和源码包

cd /opt/
tar zxf apr-1.6.2.tar.gz                //在/opt目录下解压这三个包
tar zxf apr-util-1.6.0.tar.gz
tar jxf httpd-2.4.29.tar.bz2

在这里插入图片描述

将跨平台组件包移动到源码包目录下

mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr           //将解压出来的apr目录移动到httpd目录下并改名
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util

在这里插入图片描述

安装编译器和其他工具

yum -y install \
gcc \							//C语言的编译器
gcc-c++ \						//C++的编译器
make \							//源代码编译器(源代码转换成二进制文件)
pcre \							//pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel \                    //perl的接口开发包
expat-devel \                   //用于支持网站解析HTML、XML文件
perl                            //perl语言编译器

yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl  
  • 安装之前先检查DNS有没有配(没有配则无法安装)

在这里插入图片描述
在这里插入图片描述

configure配置

cd /opt/httpd-2.4.29/           //切换到httpd目录下
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
//指定httpd服务程序安装路径及启动多项功能

./configure \
--prefix=/usr/local/httpd \	    //指定将 httpd 服务程序的安装路径
--enable-so \					//启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \				//启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \			//启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi					//启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

在这里插入图片描述

make编译和makeinstall

make			     	//编译
make install            //安装

在这里插入图片描述

创建配置文件的软链接

优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别

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

在这里插入图片描述

配置启动脚本

  • 将启动脚本复制到/etc/init.d/初始化脚本文件中,并重命名为httpd
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd		

在这里插入图片描述

vim /etc/init.d/httpd           //在行首插入下两行内容,并保存退出
# chkconfig: 35 85 21			//35级别自动运行  第85个启动 第21个关闭
# description: Apache is a World Wide Web server
:wq

在这里插入图片描述

chkconfig --add httpd            	//将httpd服务加入到service管理器

systemctl start httpd.service     //启动httpd服务
或
service httpd start  

在这里插入图片描述

修改httpd服务配置文件

vim /usr/local/httpd/conf/httpd.conf     

--52行--修改                    //改为监听IP为自己服务器IP
Listen 192.168.41.128:80
--197行--取消注释,修改           //取消注释,并随便修改一个域名
ServerName www.kgc.com:80
--221行--默认首页存放路径         // 无需修改
DocumentRoot "/usr/local/httpd/htdocs"
--255行--默认首页文件名设置       // 无需修改
DirectoryIndex index.html
:wq

在这里插入图片描述

关闭防火墙,开启服务

systemctl stop firewalld.service 
setenforce 0

httpd -t  或 apachectl -t                 //检查语法
cat /usr/local/httpd/htdocs/index.html    //查看httpd服务默认首页文件内容

netstat -anpt | grep 80                   //查看服务器tcp服务状态

在这里插入图片描述

登录验证,Apache服务启动成功

echo "192.168.41.128 www.520.com" >> /etc/hosts
//将IP和域名追加到 /etc/hosts文件中;/etc/hosts文件为主机映射文件,是将IP和主机对应的文件

在这里插入图片描述

编译安装mysqld 服务

  • 功能 ——提供持久化存储

将安装mysql 所需软件包传到/opt目录下

在这里插入图片描述
在这里插入图片描述

安装环境依赖包

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake autoconf

yum -y install \
gcc \					//编译语言,翻译官
gcc-c++ \
ncurses \				//字符终端下图形互动功能的动态库
ncurses-devel \			//ncurses开发包
bison \					//语法分析器
cmake \					//mysql需要用cmake编译安装
autoconf				//是一个用于生成可以自动配置软件源代码包以适应多种unix类系统的

在这里插入图片描述

配置软件模块

tar xzvf mysql-5.6.26.tar.gz -C /opt          //解压软件包

在这里插入图片描述

cd mysql-5.6.26

cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \	    //指定mysql的安装路径
-DDEFAULT_CHARSET=utf8 \						//指定默认使用的字符集编码,如 utf-8
-DDEFAULT_COLLATION=utf8_general_ci \			//指定默认使用的字符集校对规则
-DEXTRA_CHARSETS=all \							//指定支持其他字符集编码
-DSYSCONFIDIR=/etc \							//指定配置文件的存储路径
-DMYSQL_DATADIR=/home/mysql/ \					//数据文件
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock		//指定连接数据库的通讯文件(启动数据库的时候会生成)

在这里插入图片描述

make编译和安装

make  && make install

在这里插入图片描述

复制配置文件和脚本文件

cp support-files/my-default.cnf /etc/my.cnf       //配置文件的模板覆盖到系统默认mysql配置文件

在这里插入图片描述

cp support-files/mysql.server /etc/init.d/mysqld        
chmod 755 /etc/init.d/mysqld                        //给他启动权限
chkconfig --add /etc/init.d/mysqld                  //让系统去识别mysqld
chkconfig  mysqld --level 35 on                     //指定mysqld开机自启动

在这里插入图片描述

  • 注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧
useradd -s /sbin/nologin mysql      //创建普通用户管理mysql
chown -R mysql:mysql /usr/local/mysql/     //递归更改管理主/组

在这里插入图片描述

  • 设置环境变量,申明/宣告mysql命令便于系统识别
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile            //使命令不需重启立即生效
echo $PATH	                   //查看环境

在这里插入图片描述

初始化数据库

/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-47行
basedir=/usr/local/mysql        //工作目录路径
datadir=/home/mysql             //数据存放路径

service mysqld start
netstat -anpt | grep 3306

在这里插入图片描述
在这里插入图片描述

启动服务并设置用户密码

mysqladmin -u root -p password "abc123"       //给root用户设置密码
mysql -u root -p                             //输入刚设置的密码abc123
Enter password:                            	//原本密码为空,直接回车即可
grant all privileges on *.* to 'root'@'%' identified by 'abc123';
#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限

show databases;			#查看当前已有的数据库

在这里插入图片描述

编译安装PHP 解析环境

在这里插入图片描述
在这里插入图片描述

安装GD库和GD库关联程序,用来处理和生成图片

yum -y install \
gd \					#图像化处理的库
libpng \				#png格式图片的库
libpng-devel \
pcre \					#PCRE库支持正则表达式
pcre-devel \			#pcre-devel是使用PCRE做二次开发时所需要的开发库,也是编译安装需要的
libxml2-devel \			#解析xml标记语言的库
libjpeg-devel			#jpeg格式图片的库

在这里插入图片描述

configure配置

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

在这里插入图片描述
编译及安装

make && make install

在这里插入图片描述

编辑配置文件

ln -s /usr/local/php7/bin/* /usr/local/bin/                   //创建命令软链接

在这里插入图片描述

--256行--修改首页文件名设置
DirectoryIndex index.html index.php
--393行--插入以下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

---检查支持php5的模块是否存在------
LoadModule php5_module        modules/libphp5.so

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建、编辑php页面文件

vim index.html 
<?php
phpinfo();
?>
#重启服务
service httpd stop 
service httpd start
restart --> stop start

在这里插入图片描述

检查PHP是否搭建成功

在这里插入图片描述

LAMP构架搭建论坛

解压论坛压缩包,设置权限

在这里插入图片描述

cd /opt/dis

cp -r upload/ /usr/local/httpd/htdocs/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

创建MySQL数据库并添加用户

[root@www ~]# mysql -uroot -pabc123

mysql> CREATE DATABASE bbs;           //创建一个数据库
mysql> show databases;                //刷新数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
//把bbs数据库里面本地表的权限授予给bbsuser,并设置密码  //(%:指的是所有访问来源/渠道)
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;             //刷新数据库
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

在这里插入图片描述

cd /opt/dis
cp -r upload/ /usr/local/httpd/htdocs/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/

在这里插入图片描述
在这里插入图片描述

论坛搭建网页设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

  • LAMP 架构组件包括 Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。
  • httpd服务器的主配置文件是 httpd.conf,通过Include配置项可以加载其他配置文件。
  • httpd服务支持三种类型的虚拟Web主机,分别是基于域名、基于IP地址、基于端口的虚拟主机。
  • 安装PHP软件包时,通过--with-apxs2、--with-mysql配置选项分别可指定httpd、mysql的相关路径。
  • 要使httpd服务支持PHP网页,应编辑httpd.conf文件,确认加载libphp5.so模块,并添加“.php”类型文件的识别。
  • phpMyAdmin是一个使用PHP语言编写,用来管理MySQL数据库的Web应用系统。
  • 使用YUM仓库基于CentOS 7.3安装最新版本来搭建LAMP环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值