如何搭建LAMP项目

本文详细介绍了如何手动在Linux环境下搭建LAMP(Linux、Apache、MySQL、PHP)架构,包括每个组件的安装、配置和优化步骤,适用于企业定制化需求。从解压数据包到安装http服务、配置MySQL数据库,再到安装PHP,每个环节都有清晰的操作指南,并提供了相关数据包的下载链接和一键部署的shell脚本参考。
摘要由CSDN通过智能技术生成

一、LAMP是什么?

LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和
相关软件,能够提供动态 Web 站点服务及其应用开发环境。LAMP 是一个缩写词,具
体包括 Linux 操作系统、Apache 网站服务器、MySQL 数据库服务器、PHP(或 Perl、
Python)网页编程语言。本章将以源码编译的方式搭建 LAMP 环境,能够满足企业定
制化的需求。
在构建 LAMP 平台时,各组件的安装顺序依次为 Linux、Apache、MySQL、PHP。
其中 Apache 和 MySQL 的安装并没有严格的顺序;而 PHP 环境的安装一般放到最后,
负责沟通 Web 服务器和数据库系统以协同工作。

二、实验环境准备

1、将一下几个数据数据包导入到/opt目录下
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
mysql-boost-5.7.20.tar.gz
php-7.1.10.tar.bz2
这几个包我会在文章底部
如下图所示:
在这里插入图片描述

三、编译安装HTTP服务

1、安装bzip2解压工具

yum -y install bzip2-devel.x86_64

2、进入opt目录下解压数据包

cd /opt/

tar xf apr-1.6.2.tar.gz

tar xf apr-util-1.6.0.tar.gz

tar xf httpd-2.4.29.tar.bz2

3、解决httpd包的依赖关系

mv apr-1.6.2 httpd-2.4.29/srclib/apr

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

4、安装依赖环境包

yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

gcc ###C语言的编译器
gcc-c++ ###C++的编译器
make ###源代码编译(源代码转换成二进制文件)
pcre-devel ###支持正则表达式
expat-devel ###网站解析HTML文件
perl ###perl编译器

5、安装http服务的功能及模块

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

–prefix:指定将 httpd 服务程序安装到哪个目录下,如/usr/local/httpd
–enable-so:启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力。
–enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
–enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码
–enable-cgi:启用 CGI 脚本程序支持,便于扩展网站的应用访问能力。

6、编译安装

make && make install

7、优化路径

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

ln -s /usr/local/httpd/bin/* /usr/local/bin/

8、设置服务启动选项

cd /lib/systemd/system/
vim  httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target"

9、启动http服务

systemctl start httpd.service	#启动http服务
systemctl enable httpd.service	#开机自启动

10、查看http服务是否开启

netstat -anptu |grep httpd

如下图所示:
在这里插入图片描述

11、测试http服务是否能用

我的网卡IP地址如下图:
在这里插入图片描述

在这里插入图片描述测试发现开启成功

四、安装mysql数据库

1、导入数据包在最上面我们已经提前导入

2、安装依赖环境包

yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

3、为mysql创建一个不可登录的账号

useradd -s /sbin/nologin  mysql

4、进入opt目录解压mysql数据包

cd /opt

tar xf mysql-boost-5.7.20.tar.gz

5、安装mysql的功能及模块

cd /opt/mysql-5.7.20/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

6、编译安装

make && make install

由于安装mysql需要时间太长,我的电脑配置还行我就用6个核安装了这样快一点安装命令如下
在这里插入图片描述

make -j6  && make install

给虚拟机配置高安装非常快,大概10分钟左右安装完成

7、数据库目录进行权限调整

chown -R mysql:mysql /usr/local/mysql/

8、建立调整配置文件

vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

9、在终端下面输入下面内容

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

10、修改文件的属主和属组

chown mysql:mysql /etc/my.cnf

11、设置mysql的环境变量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

echo 'export PATH' >> /etc/profile

source /etc/profile

12、进入mysql目录输入以下代码

cd /usr/local/mysql/

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

13、拷贝mysqld.service文件

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

14、启动数据库

systemctl start mysqld		#启动数据库

systemctl enable mysqld		#开机自启动

15、测试php端口是否开启

netstat  -anptu|grep  3306

16、为数据库设置一个密码

mysqladmin -u root -p password 123456	#为数据库设置密码

mysql -u root -p123456		#登录数据库

五、安装php

1、导入数据包在最上面我们已经提前导入

2、安装依赖环境包

yum -y install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

3、进入opt目录解压php数据包

cd /opt

tar xjvf php-7.1.10.tar.bz2

5、安装mysql的功能及模块

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

6、编译安装

make && make install

这里我还是用快速安装的方法,方便节省时间

make -j6  && make install

7、拷贝 php.ini-development文件

cp -f php.ini-development /usr/local/php/lib/php.ini

8、编辑配置文件

vi /usr/local/php/lib/php.ini
mysqli.default_socket =  修改为----->  mysqli.default_socket = /usr/local/mysql/mysql.sock

;date.timezone =	修改为---->  date.timezone = Asia/Shanghai

9设置php环境变量

echo "AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps" >> /etc/httpd.conf

vim  /etc/httpd.conf 
DirectoryIndex index.html	修改为----> DirectoryIndex index.php index.html

rm -f /usr/local/httpd/htdocs/index.html

10创建php测试主页

vim  /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>

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

11、查看php端口是否开启

netstat  -anptu|grep  9000

12、测试php是否创建成功
在这里插入图片描述
测试成功

六、http、mysql、php数据包下载地址

LAMP所需安装包百度盘下载地址
链接:https://pan.baidu.com/s/1jTaOsVxL0HXZDiJQAIOyEw
提取码:j8vu

七、如果想使用shell脚本实现一键部署的请参考下面链接

https://blog.csdn.net/weixin_49226813/article/details/109371451

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值