LAMP架构搭建明细

  • LAMP概述
    • Apache源码编译
    • Mysql源码编译
    • PHP源码编译

LAMP概述

LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写

  • Linux,操作系统
  • Apache,网页服务器
  • MariaDB或MySQL,数据库管理系统(或者数据库服务器)
  • PHP、Perl或Python,脚本语言

Linux操作系统自备,这里我们使用的是Centos 7系统

安装顺序,
Linux——Apache——Mysql——PHP
2和3顺序可变,但脚本语言必须是最后安装的

软件包

部件
Apache apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
Mysql mysql-5.7.17.tar.gz
boost_1_59_0.tar.gz
PHP php-7.1.10.tar.bz2
论坛 Discuz_X3.4_sC_UTF8.zip

将这些软件包下载到Linux中,这里我存放到了opt目录下

接下来我们进行搭建

Apache源码编译

  1. 安装环境依赖包

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

  1. 配置软件模块

解压所需要的3个包

tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2

安装模块

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

  1. 编译安装

make && make install
可以在make 后加 -j4 数字为本机的cpu核数,可加快编译

  1. 用软链接优化配置文件的路径

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

  1. 用软链接把httpd可执行程序文件放到路径变量中便于系统识别

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

  1. 添加httpd系统服务


  1. 修改httpd服务配置文件

vim /etc/httpd.conf



  1. 验证





配置完成

Mysql源码编译

  1. 安装环境依赖包

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

  1. 配置软件模块

解压软件包

tar zxvf mysql-5.7.17.tar.gz
tar zxvf boost_1_59_0.tar.gz

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_EXTRA_CHARSETS=all
-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=/usr/local/boost
-DWITH_SYSTEMD=1

注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

  1. 编译及安装

make && make install

  1. 创建mysql用户

useradd -M -s /sbin/nologin mysql


这里没指定密码,后续进行设置

  1. 修改mysql 配置文件


  1. 更改mysql安装目录的属主属组

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

  1. 更改mysql配置文件的权限

chown mysql:mysql /etc/my.cnf

  1. 设置路径环境变量

echo ‘export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
source /etc/profile

  1. 初始化数据库

  1. 添加mysqld系统服务并修改mysql 的登录密码

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
mysqladmin -u root -p password “123456”

  1. 授权远程登录
mysql -u root -p
grant all privileges on *.* to 'root'@'%' identified by '123456';


配置完成

PHP源码编译

  1. 安装环境依赖包

  1. 配置软件模块

  1. 编译及安装

make && make install

  1. 修改PHP主配置文件,进行备份后修改

cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini



  1. 优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别

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

  1. 修改httpd 服务的配置文件,让apache支持PHP

vim /etc/httpd.conf


  1. 验证PHP 测试页


进行验证,记得重启服务



搭建完成

LAMP架构搭建明细,源码编译安装相关推荐

  1. LNMP架构搭建(源码编译)

    1. LNMP架构介绍 LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:d ...

  2. LAMP详解及源码编译安装过程

      LAMP 指的Linux (操作系统). ApacheHTTP 服务器, MySQL (数据库软件) 和PHP (有时也是指Perl 或 Python) 的第一个字母,一般用来建立的web 服务器 ...

  3. 高可用架构篇 MySQL源码编译安装(CentOS-6.6+MySQL-5.6)

    部署环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 操作用户:root 系统IP:192.168.1.205 主机 ...

  4. LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用

    LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...

  5. LNMP架构环境搭建之mysql源码编译安装

    Mysql MySQL是一个开源的数据库,在互联网行业应用的很广泛,下面来记录一下从源码编译安装的步骤,当然,MySQL也有其他安装方式,比如,使用yum下载安装rpm包,或者二进制方式安装,如果机器 ...

  6. Web服务 源码编译安装LAMP架构

    Web服务 源码编译安装LAMP架构 一.LAMP架构 1.LAMP架构是什么 2.各组件的主要作用 二.编译安装Apache httpd服务 1.关闭防火墙,将安装Apache所需软件包传到/opt ...

  7. 详解LAMP源码编译安装

    实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MyS ...

  8. 盘古开天辟地之源码编译安装LAMP

    盘古开天辟地之源码编译安装LAMP Apache简介 Apache起源 源于APatchy Server,著名的开源Web服务软件 1995年时,发布Apache服务程序的1.0版本 由Apache软 ...

  9. 源码编译安装LAMP

    源码编译安装LAMP 前言 一.LAMP概述 (1)各组件的作用 (2)各组件安装顺序 (3)数据流向 二.编译安装apache httpd服务 (1)关闭防火墙,将安装apache的所需软件包上传到 ...

最新文章

  1. 漫游飞行_美术课|一年级下漫游飞行世界
  2. 配置透明网桥实现QinQ传输案例
  3. 电商的本质是“商”还是“用户”?
  4. oracle数据库优化--基本概念
  5. PHPUnit测试框架学习(1)
  6. python连续读取邮件_Python读取指定日期邮件的实例
  7. 华为P50系列开始量产:Pro+版或进一步延期
  8. 【Redis】redis 主从复制
  9. Bailian2946 玩游戏【模拟】
  10. 刷新按钮_不能忍:用户求微软为Win10 Wi-Fi窗口添加刷新按钮
  11. javascript小技巧(转自DooIT)http://www.cnblogs.com/ttyp/archive/2004/11/15/63900.html
  12. php 同义词词库,同义词搜索功能 - 权威指南 - 迅搜(xunsearch) - 开源免费中文全文搜索引擎...
  13. Yii2汉字转拼音类
  14. 微服务探索:nuoyi
  15. 一辉Oo的视觉算法学习笔记2
  16. Anaconda3 安装教程
  17. BBR 会取代 CUBIC 吗?
  18. Swift 周报 第六期
  19. bat获取系统时间戳
  20. 微信小程序商城项目实战(第十一篇:商品收藏+历史浏览管理)

热门文章

  1. Vue3.0如何在setup中获取定义的全局方法
  2. android 自定义图片加载动画效果,Android自定义加载动画-感染体
  3. android webview 下拉刷新页面,Android 下拉刷新控件SwipeRefreshLayout结合WebView使用
  4. 面试题 如果要画一只鸟和一个人,你会如何构图
  5. Linux下使用gdb单步调试C语言
  6. html设置超出自动隐藏,css如何设置超出部分隐藏
  7. 2013年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——解析版
  8. 简单分享在微信上怎么做付费课程系统
  9. Java工程师笔试题整理[校招篇]
  10. 2022年全球市场涡旋离心机总体规模、主要生产商、主要地区、产品和应用细分研究报告