news 2026/5/22 20:11:23

LAMP(Linux+Apache+MySQL+PHP)基础配置、搭建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LAMP(Linux+Apache+MySQL+PHP)基础配置、搭建

LAMP(Linux+Apache+MySQL+PHP)基础配置、搭建

LAMP的简要介绍
web网站平台-LAMP的搭建方式
Linux+Apache+MySQL+PHP
Apache:实现网页共享传输
MySQL:实现数据存储(数据库)
PHP:实现页面解析的解析器

准备工作

本配置适用于Centos7.9

1.关闭防火墙,关闭selinux

#关闭防火墙和永久关闭防火墙

systemctl stop firewalld systemctl disable firewalld

#临时把selinux改成宽容模式和永久关闭selinux

setenforce0vim/etc/selinux/config

将 SELINUX=enforcing 修改为 SELINUX=disabled

2.使用SFTP上传所需的安装包

使用SFTP软件把所需的安装包放入/opt/LAMP
先创建一个

mkdir-pv/opt/lamp ll /opt/lamp/

3.为主机配置IP地址

cat/etc/sysconfig/network-scripts/ifcfg-ens33

确认主机ip

ip-4a

4.配置YUM源

配置阿里源

mount/dev/cdrom /mediacurl-o/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache

配置epel软件源

yuminstall-yepel-release yum repolist

**

5.查看是否开启服务号和资源内存**

确认80|3306|443端口对应的进程是否存在,若存在对应的服务,则正常关闭该服务,并将该服务对应的开机自启动也一并关闭

ss-tulanp|grep-E"80|443|3306"


ps aux | grep 进程名称
确认服务器资源是否够用

free-gfree-m

df-Th

lscpu#(建议2核心往上)

6.安装编译环境

yum-yinstallgcc* make* openssl-devel

实际企业级环境,千万不要gcc*,一般安装gcc,gcc-c++足够了。

yum-yinstallgcc gcc-c++makeopenssl-devel

安装Apache

安装编译所需要的信赖软件包

yum-yinstallapr apr-util apr-util-devel pcre pcre-devel apr-devel apr-util-devel

apr:Apache可移植运行库。
pcre:perl语言兼容正则表达式,是一个用C语言编写的正则表达式函数库。

软件包在这个里面下载

把文件放到这里
mkdir /opt/lamp/
https://download.csdn.net/download/2502_94124179/92890925

安装Apache

进入软件包放入的位置/opt/lamp下

cd/opt/lamptarxvfz httpd-2.4.28.tar.gz-C/usr/src/cd/usr/src/httpd-2.4.28/ ./configure--prefix=/usr/local/apache2428\--enable-so\--enable-rewrite\--enable-ssl\--with-ssl=/usr/local/ssl\--with-mpm=prefork;

#–prefix 指定安装路径
#–enable-so 让 apache 核心装载 DSO(动态共享目标)
#–enable-rewrite 启用重写功能
#–enable-modules 将模块编译到 apache 中
#–enable-ssl 打开 ssl 协议
#–with-mpm 指定运行模型

make-j`nporc`&&makeinstall;echo$?

编译安装后的的Apche的服务路径

ll /usr/local/apache2428/

安装OpenSSL

进入软件包放入的位置/opt/lamp下

cd/opt/lamp
1.解压到/usr/src目录
tarxvfz openssl-1.0.2m.tar.gz-C/usr/src/
2. 配置 编译 安装
cd/usr/src/openssl-1.0.2m/ ./config--prefix=/usr/local/ssl--shared;echo$?make&&makeinstall;echo$?

编译安装后的OpenSSL的服务路径

ll /usr/local/ssl

–shared生成动态链接库
OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份

3.配置启动脚本
cp-av/usr/local/apache2428/bin/apachectl /etc/init.d/httpd

//复制apachectl脚本

vim/etc/init.d/httpd#!/bin/sh#chkconfig:35 85 21#description:apache!


35(运行级别) 85(系统开机时服务启动的顺序) 21(系统关机时服务关闭的顺序)

chkconfig--addhttpd#将httpd添加为系统服务chkconfig--listhttpd#查看httpd服务的自启动状态systemctl start httpd.service#启动httpd服务

确认进程指向的路径,必须是编译安装的路径才可以!!!

注:编译安装成功后
安装在:/usr/local/apache2428/ 目录下
配置文件:/usr/local/apache2428/conf/httpd.conf
启动命令:/usr/local/apache2428/bin/apachectl
默认网站家目录:/usr/local/apache2428/htdcos

浏览器
输入自己服务器的IP地址

安装Mysql5.7

二进制,开箱就可以用
解压后即可直接使用.[二进制主程序+配置文件]
注入:Mysql5.7安装目录:/usr/local/mysql,数据库存储目录:/data/mysql,安装包位置:/usr/src

1.解压包到/usr/src/目录

cd/opt/lamptarxvfz mysql-5.7.32-el7-x86_64.tar.gz-C/usr/src

2.移动并修改文件名

cd/usr/src/mv-vmysql-5.7.32-el7-x86_64/ /usr/local/mysql ll /usr/local/mysql/

3.创建数据库存储目录

cdmkdir-pv/data/mysql

4.新建mysql用户、组,指定mysql账户宿主目录

useradd-r-s/sbin/nologin-d/usr/local/mysql/ mysqlidmysqlgrepmysql /etc/passwd

5.改变/usr/local/mysql属主和属组为mysql /data/mysql 属主为mysql

chown-Rmysql:mysql /usr/local/mysql/ ll /usr/local/mysql


chown-Rmysql /data/mysql ll /usr/local/mysql

6.配置参数

cd/usr/local/mysql/ ./bin/mysqld--initialize\--user=mysql\--basedir=/usr/local/mysql\--datadir=/data/mysql;echo$?

临时密码:cE_bxk02oZ_B(这里是我的临时密码要换成你自己的!!!)
//initialize初始化 basedir 安装目录 /data/mysql 数据库存储目录
MySQL数据库初始化成功的标志

ls-lhrt/data/mysql/

7.修改系统配置文件

1)将my.cnf另存到/etc目录
\cp-av/opt/lamp/my.cnf /etc/
2)复制改名脚本控制程序
cd/usr/local/mysql/support-files/cpmysql.server /etc/init.d/mysql
3)编辑修改脚本控制程序,指定程序运行命令和数据库存储目录
vim/etc/init.d/mysql##第46行补充basedir=/usr/local/mysqldatadir=/data/mysql##第46行补充

8.启动mysql,验证

chmod755/etc/init.d/mysql#修改控制脚本执行权限chkconfig--addmysql#添加服务chkconfig--level345mysql on#设置启动级别systemctl start mysql#启动服务psaxu|grepmysqld

ss-tulanp|grepmysqld

(使用上面的临时密码cE_bxk02oZ_B)要改成你自己的!!!!
#进入数据库

/usr/local/mysql/bin/mysql-uroot-p'cE_bxk02oZ_B'

#修改密码为root

setpassword=password('root');
#退出!!!重新登录exit;/usr/local/mysql/bin/mysql-uroot-p'root'

安装PHP

1、安装能够直接安装的依赖包

systemd-devel :systemd 开发邮件列表
Libxml2:是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的
免费开源软件。
如果你安装基于libxml2开发的软件,那么你只需要安装libxml2就可以了,如果你需要编译使用了
libxml2的软件,那就需要安装libxml2-devel
sqlite-devel:用于 sqlite3 可嵌入 SQL 数据库引擎的公共领域开发工具
libcurl:一个免费开源的,客户端url传输库
libpng:多种应用程序使用解析PNG图像格式的库

yuminstall-ysystemd-devel libxml2-devel sqlite-devel libcurl-devel libpng-devel

2、安装需要下载的依赖包

cd/opt/lamprpm-ivhoniguruma-6.8.2-1.el7.x86_64.rpmrpm-ivhoniguruma-devel-6.8.2-1.el7.x86_64.rpm

按照顺序下载

(主要:oniguruma是一个处理正则表达式的库)
新建一个pkgconfig的目录

mkdir-pv/usr/local/lib/pkgconfig/

(pkgconfig是一个帮助编译器查找库文件位置和版本的工具。很多新编译的软件都会把配置文件放到这里)
建立软链接

ln-sv/usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/

(这一步,默认会去/usr/local/lib/pkgconfig/里找依赖库,是为了让系统直到放在/usr/local/ssl/里的新版OpenSSL,编译是会报错OpenSSL not found)

创建OPENSSL链接

vim~/.bash_profile#文本添加PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexportPKG_CONFIG_PATH

编辑添加后,让其立即生效

source~/.bash_profile

查看库,模块,管理列表

pkg-config --list-all

3、安装php-7.4.16 ,配置、编译、安装

先安装bzip2的高效的文件压缩和解压缩工具

yuminstallbzip2-y

编译,安装

cd/opt/lamptarxvjf php-7.4.16.tar.bz2-C/usr/src/cd/usr/src/php-7.4.16 ./configure--prefix=/usr/local/php\--with-config-file-path=/usr/local/php/etc\--enable-mysqlnd\--with-pdo-mysql\--with-mysqli\--with-openssl-dir=/usr/local/ssl\--with-openssl\--enable-gd\--with-zlib-dir\--with-curl\--with-pear\--enable-inline-optimization\--enable-soap\--enable-sockets\--enable-mbstring\--enable-fpm\--with-fpm-user=mysql\--with-fpm-group=mysql\--with-fpm-systemd\--with-apxs2=/usr/local/apache2428/bin/apxs;

统计编译和安装时长

timemake-j`nproc`&&makeinstall

配置php和apache

目的:使用apache支持PHP页面

1.复制php配置文件

cd/usr/src/php-7.4.16/ ll php.ini-productioncpphp.ini-development /usr/local/php/etc/php-ini

2.编辑apache配置文件

编辑/usr/local/apache2428/conf/httpd.conf ,添加PHP首页

vim/usr/local/apache2428/conf/httpd.conf AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps#(第391行添加)

#AddType 指令 作用:在给定的文件扩展名与特定的内容类型之间建立映射 (让apache支持 php文件的解释)

index.php#(第255行添加PHP首页)

3.停止并重启服务

systemctl stop httpd.service systemctl start httpd.service

测试页面

1.编辑首页并测试

cat>/usr/local/apache2428/htdocs/index.php<<'EOF' <?php echo "Hello World"; ?> EOFcat/usr/local/apache2428/htdocs/index.php

浏览器里输入:10.16.6.129/index.php

cat>/usr/local/apache2428/htdocs/info.php<<'EOF' <?php phpinfo(); ?> EOFcat/usr/local/apache2428/htdocs/info.php

浏览器里输入:10.16.6.129/info.php

2.测试数据库连接的账户和密码

vim/usr/local/apache2428/htdocs/linkdb.php<?php$link=mysqli_connect('localhost','root','root','mysql');if($link){printf("Congratulations!");}?>cat/usr/local/apache2428/htdocs/linkdb.php

浏览器里输入:10.16.6.129/linkdb.php

测试PHP以及PHP连接MySQL的核心要素
如果上述都OK,说明
①Apache可以解析php结尾的文件,Apache支持动态脚本
②打印输出了PHP的N多环境变量,方便后期排错
③Apache连接MySQL的驱动,比如mysql是okde ,PHP可以基于此启动连接MySQL
④MySQL授权是ok的,PHP可以通过权限的账号和密码连接到MySQL示例的MySQL数据库

PhpMyAdmin安装

下载并解压 PhpMyAdmin,将包复制到网站根目录下,并重命名为 phpmyadmin 文件夹

yum-yinstallunzipcd/opt/lamp/unzipphpMyAdmin-5.1.0-all-languages.zipmv-vphpMyAdmin-5.1.0-all-languages /usr/local/apache2428/htdocs/phMyAdminls-lhrt/usr/local/apache2428/htdocs/phpMyAdmin

1.切换到openssl扩展目录

cd/usr/src/php-7.4.16/ext/openssl/

2.使用phpize对php进行添加扩展

mvconfig0.m4 config.m4

#先下载这个autoconf的编译工具包

yuminstallautoconf-y/usr/local/php/bin/phpize

3.编译安装

./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config

make-j`nproc`&&makeinstall;echo$?

ls-lhrt/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/

(命令是用来查看 PHP 扩展目录下的文件列表,目的是确认 openssl.so 文件是否已经编译安装成功)

4.配置php.ini

安装完成后,会返回一个.so文件(openssl.so)的目录。在此目录下把openssl.so 文件拷贝到你在php.ini 中指定的 extension_dir 下(在php.ini文件中查找:extension_dir =)
编辑php.ini文件,在文件最后添加 extension=openssl.so ,然后重启Apache
命令:

cd/usr/local/php/etc/ls

vimphp-iniextension=openssl.so

cd/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902ls-lhrt

(把编译好的 openssl.so 文件复制到了 PHP 的配置文件目录 /usr/local/php/etc/)

cp-avopenssl.so /usr/local/php/etc/ systemctl restart httpd.service

登录测试

`
10.16.6.129/phMyAdmin/

登录用户:root 登录密码:root

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 20:01:39

Taotoken的TokenPlan套餐如何帮助项目更精准地控制成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken的TokenPlan套餐如何帮助项目更精准地控制成本 1. 理解TokenPlan套餐模式 在项目开发中&#xff0c;大模型API的调用成本…

作者头像 李华
网站建设 2026/5/22 19:58:27

DeepEval终极指南:3分钟掌握LLM评估框架,提升AI应用质量

DeepEval终极指南&#xff1a;3分钟掌握LLM评估框架&#xff0c;提升AI应用质量 【免费下载链接】deepeval The LLM Evaluation Framework 项目地址: https://gitcode.com/GitHub_Trending/de/deepeval 你是否正在为LLM应用的质量监控而烦恼&#xff1f;&#x1f914; 作…

作者头像 李华
网站建设 2026/5/22 19:50:18

Prompt工程进阶:利用Gemini镜像站的状态机思维重塑复杂办公决策流程

日常办公中充斥着大量非标准化的决策任务——如供应商评估、简历筛选、合规判断等。这类任务通常没有唯一答案&#xff0c;需综合多维标准进行权重权衡。借助Gemini强大的指令遵循与逻辑推理能力&#xff0c;我们可以将其设计为一个“决策状态机”&#xff0c;用严谨的Prompt结…

作者头像 李华
网站建设 2026/5/22 19:49:22

Nginx 静态资源挂载与前端部署实战笔记

前言 本文从零带你掌握 Nginx 静态资源托管、root/alias 区别、单页应用&#xff08;Vue/React&#xff09;部署、前后端分离代理、缓存优化、权限与常见报错排查&#xff0c;适用于生产环境&#xff0c;复制即用。一、Nginx 安装与目录结构&#xff08;Linux&#xff09;# Cen…

作者头像 李华