一、LAMP架构介绍

1.1 LAMP概述

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

1.2 LAMP各组件介绍

1.2.1 (平台)Linux

作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。

1.2.2(前台)Apache

作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。

1.2.3(后台)MySQL

作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息。

1.2.4(中间连接)PHP/Perl/Python

作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。

1.3 LAMP各组件安装顺序

在构建LAMP平台时,各组件的安装顺序依次为Linux、Apache、MySQL、PHP。其中Apache和MySQL的安装并没有严格的顺序,PHP环境的安装一般放到最后安装,负责沟通 Web 服务器和数据库系统以协同工作。

二、编译安装Apache httpd服务

2.1 操作步骤流程

1.关闭防火墙,将安装Apache所需软件包传到/opt目录下

systemctl stop firewalld systemctl disable firewalld setenforce 0

httpd-2.4.29.tar.gz apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz

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

2.安装环境依赖包

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

各程序作用解释如下:

gcc #C语言的编译器

gcc-c++ #C++的编译器

make #源代码编译器(源代码转换成二进制文件)

pcre #pcre是一个Perl函数库,包括perl 兼容的正则表达式库

pcre-devel #perl的接口开发包

expat-devel #用于支持网站解析HTML、XML文件

perl #perl语言编译器

3.配置软件模块

cd /opt/

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

mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr

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

cd /opt/httpd-2.4.29/

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

各配置命令作用解释如下:

--enable-so \ #启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力

--enable-rewrite \ #启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护

--enable-charset-lite \ #启动字符集支持,以便支持使用各种字符集编码的页面

--enable-cgi #启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

4.编译及安装

make #make -j 2 表示开2核同时进行编译

make install

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

ln -s /usr/local/httpd/conf/httpd.conf /etc/ #做个软链接

ln -s /usr/local/httpd/bin/* /usr/local/bin/ #做个软链接

6.添加httpd系统服务

方法一:

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #用于service服务管理

chmod +x /etc/init.d/httpd

vi /etc/init.d/httpd

!/bin/bash #在第一行前插入新行,添加此三行内容

chkconfig: 35 85 21 #35级别自动运行 第85个启动 第21个关闭

description: Apache is a World Wide Web server

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

systemctl start httpd.service #开启http服务(关闭和开启要使用相同的方式)

或

service httpd start #开启http服务(关闭和开启要使用相同的方式)

方法二:

vim /lib/systemd/system/httpd.service

[Unit]

Description=The Apache HTTP Server #描述

After=network.target #描述服务类别

[Service]

Type=forking #后台运行方式

PIDFile=/usr/local/httpd/logs/httpd.pid #PID文件位置

ExecStart=/usr/local/bin/apachectl $OPTIONS #启动服务

ExecReload=/bin/kill -HUP $MAINPID #根据PID重载配置

[Install]

WantedBy=multi-user.target

systemctl start httpd.service #开启http服务(关闭和开启要使用相同的方式)

systemctl enable httpd.service #设为开机自启动

7.修改httpd 服务配置文件

vim /etc/httpd.conf

--52行--修改

Listen 192.198.80.10:80

--197行--取消注释,修改

ServerName www.kgc.com:80

--221行--默认首页存放路径

DocumentRoot "/usr/local/httpd/htdocs"

--255行--默认首页文件名设置

DirectoryIndex index.html

httpd -t 或 apachectl -t #检查配置文件的配置项是否有误

cat /usr/local/httpd/htdocs/index.html #查看html的内容

systemctl restart httpd.service

8.浏览器访问验证

netstat -anpt | grep 80

echo "192.168.153.10 www.zww.com" >> /etc/hosts

2.2、操作步骤

第一步:关闭防火墙和selinux,然后将三个压缩文件拖入到xshell内



第二步:安装环境依赖包



第三步:配置软件模块

1)对三个压缩包进行解压



2)将apr的两个文件移动到httpd的srclib文件内



3)对apr两个文件进行修改名称



4)切换目录执行configure文件



第四步:编译并安装



第五步:优化配置文件路径

1)创建软链接



第六步:添加httpd系统服务

1)修改httpd配置文件



2)将httpd服务加入到service管理器并开启服务



第七步:备份修改httpd服务配置文件

1)备份修改文件





2)检查配置项是否有误



第八步:浏览器进行访问验证

LAMP介绍以及Apache安装的更多相关文章

  1. lamp环境搭建(apache安装,mysql安装,php安装)

    1.卸载系统内置的LAMP环境 1)卸载httpd服务(内置Apache) ① 使用rpm指令查询安装的httpd服务 ② 卸载httpd服务 如果出现以上提示,代表系统默认不允许我们卸载软件,使用强 ...

  2. LAMP介绍及安装

    LAMP介绍及安装 1. LAMP是什么? LAMP,包含Linux + Apache + PHP + Mysql. LAMP适用环境 适用于追求极致稳定的WEB环境,缺点是需要消耗更多资源. 除了L ...

  3. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  4. LAMP架构介绍、MySQL、MariaDB介绍、MySQL安装

    5月23日任务 课程内容: 11.1 LAMP架构介绍11.2 MySQL.MariaDB介绍11.3/11.4/11.5 MySQL安装扩展mysql5.5源码编译安装 http://www.ami ...

  5. Centos 7 安装LAMP以及在Apache上安装positiveSSL。

    简介 LAMP(linux , Apache, mysql , php)是集成动态网站经常使用的一套开源软件,实际包含linux操作系统,Apache web服务器,mysql(mariadb 分支) ...

  6. linux安装lamp环境(linux+apache+mysql+php)

    源码安装 本次使用 Centos7.2 MySQL5.7.22 Apache2.4.37 PHP5.6.38 安装Apache 安装httpd和所需依赖:gcc, apr, apr-util,apr- ...

  7. ZH奶酪:Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP)

    (Linux Operating System,Apache Web Server,MySQL database,PHP) 首先,一个三行命令搞定的方法: sudo apt-get update su ...

  8. CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)(转)

    转自:http://www.jb51.net/os/188488.html 作者:佚名 字体:[增加 减小] 来源:osyunwei  准备篇: CentOS 7.0系统安装配置图解教程 http:/ ...

  9. Apache Ignite 学习笔记(一): Ignite介绍、部署安装和REST/SQL客户端使用

    Apache Ignite 介绍 Ignite是什么呢?先引用一段官网关于Ignite的描述: Ignite is memory-centric distributed database, cachi ...

随机推荐

  1. Unity接入ShareSDK实现QQ登录和QQ分享、微信分享

    原文链接:Unity接入ShareSDK实现QQ登录和QQ分享.微信分享 由于微信登录需要企业审核,我这里就不说明了,有需要的可以去官网看一下文档,和QQ登录比多了一个打包的步骤. 第一步:到官网申请 ...

  2. intelliJ idea 自动修复eslint语法问题

    在要修复代码的文件上或全选需要修复的代码,快捷键:ctrl+shift+a,调出Find Action面板.搜索fix eslint problems,点击此操作,自动修复完成.

  3. RabbitMQ消息可靠性传输

    消息的可靠性投递是使用消息中间件不可避免的问题,不管是使用kafka.rocketMQ或者rabbitMQ,那么在RabbitMQ中如何保证消息的可靠性投递呢? 先再看一下RabbitMQ消息传递的流 ...

  4. CentOS-Docker安装MySQL(单点)

    下载镜像 $ docker pull mysql 创建相关目录和文件 $ mkdir -p /usr/mysql/conf /usr/mysql/data $ chmod -R 755 /usr/my ...

  5. Linux:阿里云设置安全组开放对应端口过程

    手动添加后 保存就可以了.

  6. AOP面向切面的实现

    AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理.日志.缓存等等. AOP ...

  7. PHP设计模式之策略模式(转)

      介绍 策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 封装:把行为用接口封装起来,我们可以把那些经常变化的部分,从当前的类中单独取出来,用接 ...

  8. Leetcode 递归题

    24. 两两交换链表中的节点 题目描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2-&g ...

  9. Java笔记——方法

    ​  1.方法 (1)概念:①解决事情的办法②实现功能的代码段. (2)优点:①提到代码的复用性②便于后期维护.    (3)特点:①不调用不执行②方法不能嵌套,定义在类中方法外的位置. (4)定义方 ...

  10. LeetCode解题记录(贪心算法)(二)

    1. 前言 由于后面还有很多题型要写,贪心算法目前可能就到此为止了,上一篇博客的地址为 LeetCode解题记录(贪心算法)(一) 下面正式开始我们的刷题之旅 2. 贪心 763. 划分字母区间(中等 ...