一、LAMP源码构建
1.项目背景
初创公司,随着业务不断增长,用户基数越来越大,为更好满足用户体验,开发人员提一个工单过来,需要运维人员给开发人员部署一套预发布环境(和生产环境保持一致),能够保证开发人员高效的进行预发布测试等工作。
为企业内部的开发人员,部署一套“预发布系统”,要求其环境与线上环境一模一样。
由于项目是基于PHP + MySQL进行开发设计的,所以我们需要选配环境。
LAMP = Linux + Apache + MySQL + PHP
LNMP = Linux + Nginx + MySQL + PHP
经过开发人员的沟通确认 => LAMP作为预发布环境!
2.任务要求
- 源码部署LAMP环境,和生产保持一致
- 静态资源文件同步生产环境(生产发生改变立马同步到预发布平台)
3.环境准备
系统环境:CentOS7.6
软件环境:AMP(Apache、MySQL以及PHP)
Apache——>2.4.37(2.2与2.4)
MySQL——>5.6.31(5.5、5.6与5.7)
PHP——>7.2.17(5.2、5.4、5.6、7.0、7.1、7.2)
一定要和开发人员沟通好环境,即软件的版本信息
否则会出现,环境部署好了,但是系统报错的情况
4.系统环境
编号 | 主机名称 | IP地址 | 备注信息 |
---|---|---|---|
1 | web.ceshi.cn | 192.168.116.113 | LAMP预发布环境 |
① 更改主机名称、配置IP地址(静态IP、更改UUID编号、关闭NetworkManager)
② 关闭防火墙、SELinux
③ 配置YUM源(有网配公网,没网配光盘或自建YUM源)
5.依赖软件安装
yum install cmake pcre-devel ncurses-devel openssl-devel libcurl-devel
6、AMP软件安装注意事项
编译安装顺序:
Linux+Apache(2.4)+MySQL(5.6.31)+PHP(7.2.17)
Apache——>MySQL——>PHP 或者 MySQL——>Apache——>PHP
二、编译安装MySQL软件
1、安装需求
软件版本 | 安装目录 | 数据目录 | 端口 |
---|---|---|---|
mysql-5.6.31 | /usr/local/mysql | /usr/local/mysql/data | 3306 |
2、MySQL安装详解
第一步:创建一个mysql系统账号(没有这个账号mysql无法运行)
useradd -r -s /sbin/nologin mysql
-r: 创建系统账号
-s:设置账号是否可登录
第二部:对软件进行解压
tar -zxf mysql-5.6.31.tar.gz
cd mysql-5.6.31
mysql-5.6.31.tar.gz 是提前下载好的MySQL源码包
第三步:使用cmake配置MySQL的安装向导
在CentOS 7中配置MySQL时,
cmake.sh
是一个脚本文件,通常用于执行 CMake 工具来生成 Makefile。CMake 是一个跨平台的开源工具,用于自动化地配置和生成编译系统的软件。在MySQL的编译和安装过程中,使用CMake是非常常见的。具体来说,
cmake.sh
脚本的作用是通过调用 CMake 来配置 MySQL 的编译环境,生成适合当前系统的 Makefile,并生成编译所需的配置文件。这个脚本通常包含了设置编译选项、路径和依赖项的指令,以确保 MySQL 能够在目标系统上顺利编译和安装。在安装 MySQL 时,你会下载 MySQL 的源代码,解压后进入源码目录,然后运行
cmake.sh
脚本来初始化编译环境。这个过程会为你提供一个配置好的环境,以便后续进行编译和安装操作。总之,
cmake.sh
脚本在配置 MySQL 编译环境时起到了重要的作用,它通过调用 CMake 工具来自动化配置编译过程,使得编译和安装 MySQL 变得更加高效和便捷
参数说明:
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \ 安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ 数据目录
-DENABLED_LOCAL_INFILE=1 \ 开启加载外部文件功能;1开启,0关闭
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ 将InnoDB存储引擎静态编译到服务器
-DMYSQL_TCP_PORT=3306 \</