LAMP 配置与应用

news2024/12/23 13:23:11

LAMP 架构的组成

LAM(M)P:

  • L:linux

  • A:apache (httpd)

  • M:mysql, mariadb

  • P:php, perl, python

apache的功能:

  1. 第一:处理http的请求、构建响应报文等自身服务;

  2. 第二:配置让Apache支持PHP程序的响应(通过PHP模块或FPM);

  3. 第三:配置Apache具体处理php程序的方法,如通过反向代理将php程序交给fcgi处理。

mysql 主要实现如下功能:

  1. 第一:提供PHP程序对数据的存储;

  2. 第二:提供PHP程序对数据的读取(通常情况下从性能的角度考虑,尽量实现数据库的读写分离)。

php主要实现如下功能:

  1. 第一:提供apache的访问接口,即CGI或Fast CGI(FPM);

  2. 第二:提供PHP程序的解释器;

  3. 第三:提供mysql数据库的连接函数的基本环境。

CGI

CGI 可以让一个客户端,从网页浏览器通过http服务器向执行在网络服务器上的程序传输数据;CGI描述了客户端和服务器程序之间传输的一种标准

fastcgi

fastcgi的方式是,web服务器收到一个请求时,不会重新fork一个进程(因为这个进程在web服务器启动时就开启了,而且不会退出),web服务器直接把内容传递给这个进程(进程间通信,但fastcgi使用了别的方式,tcp方式通信),这个进程收到请求后进行处理,把结果返回给web服务器,最后自己接着等待下一个请求的到来,而不是退出

CGI和fastcgi比较

CGI: 兼职, 一次性的过河拆桥式的服务

FASTCGI: 专职,全周期的持续式的服务

PHP 配置

php 的配置文件:/etc/php.ini, /etc/php.d/*.ini

配置文件在php解释器启动时被读取

对配置文件的修改生效方法

  • Modules:重启httpd服务

  • FastCGI:重启php-fpm服务

/etc/php.ini配置文件格式:

[foo]:Section Header
directive = value

注释符:

  • 以#开头,纯粹的注释信息

  • 以 ; 开头,用于注释可启用的directive

编译安装Apache http 服务

1.关闭防火墙

2. 安装环境依赖包

gcc \                #c语言编译器
gcc-c++ \            #c编译器
make \               #源代码编译器
pcre\                #pcre函数库
pcre-devel \         #pcre接口开发包
expat-devel \        #用于支持网站解析HTML、XML文件
perl                 #perl 语言编译器

 3.解压软件包

4.移动apr包 apr-util包到安装目录中,并切换到 httpd-2.4.29目录中  

 5.编译安装

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

--prefix=/usr/local/httpd \       #指定httpd的安装目录
--enable-so \                     #启用动态加载模块支持,使httpd具备进一步扩展功能的能力
--enable-rewrite \             #启用网页地址的重写功能,用于网站优化、防盗链及目录迁移维护   
--enable-charset-lite \     #启用字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi      #启用CGI(通用网关接口)脚本程序支持,便于网站外部扩展应用访问的能力

 make

make install

6方便操作建立软连接  

 7添加httpd系统服务

vim /etc/init.d/httpd

将httpd加入service管理器

chkconfig --add httpd

 修改主机地址

vim /usr/local/httpd/conf/httpd.conf 

--52行--修改
Listen 192.198.2.100.80
--197行--取消注释,修改
ServerName www.cs.com:80

--221行--默认首页存放路径
DocumentRoot "/usr/local/httpd/htdocs"
--255行--默认首页文件名设置
DirectoryIndex index.html

检查配置文件是否有误

编译安装mysql

安装依赖环境

yum install -y ncurses-devel autoconf cmake

 创建mysql用户

 2.解压软件包并切换到编译目录,并编译安装

1、DCMAKE_INSTALL_PREFIX:指定将 mysql 数据库程序安装到某目录下,
如目录/usr/local/ mysql。
2、DMYSQL_UNIX_ADDR:指定套接字文件的存储路径,数据库连接的文件
3、DSYSCONFDIR:指定初始化参数文件目录
3、DDEFAULT_CHARSET:指定默认使用的字符集编码,如 utf8。
5、DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci 是适用于 UTF-8 字符集的通用规则。
6、DWITH_INNOBASE_STORAGE_ENGINE=1 :安装INNOBASE存储引擎
7、DWITH_ARCHIVE_STORAGE_ENGINE=1 :安装ARCHIVE存储引擎 
8、DWITH_BLACKHOLE_STORAGE_ENGINE=1 :安装BLACKHOLE存储引擎 
9、DWITH_PERFSCHEMA_STORAGE_ENGINE :安装FEDERATED存储引擎 

 给数据库文件加权限

 建立调整配置文件

vim /etc/my.cnf

 加权限

 设置环境变量

 完成安装

编译安装php

1.编译安装PHP 解析环境

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

 3.解压

tar jxvf php-7.1.10.tar.bz2

4.编译

./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--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

 --prefix=/usr/local/php7 \                            指定将 PHP 程序的安装路径
--with-apxs2=/usr/local/httpd/bin/apxs \            指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock=/usr/local/mysql/mysql.sock \        指定mysql 数据库连接文件的存储路径
--with-config-file-path=/usr/local/php7                设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli \                                        添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-zlib \                                        支持zlib功能,提供数据压缩
--with-curl \                                        开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
--with-gd \                                            激活gd 库的支持
--with-jpeg-dir \                                    激活jpeg 的支持
--with-png-dir \                                    激活png 的支持
--with-freetype-dir \
--with-openssl \
--enable-mbstring \                                    启用多字节字符串功能,以便支持中文等代码
--enable-xml \                                        开启扩展性标记语言模块
--enable-session \                                    会话
--enable-ftp \                                        文本传输协议
--enable-pdo \                                        函数库
--enable-tokenizer \                                令牌解释器
--enable-zip                                        ZIP压缩格式

5.编译安装

6. 复制模版文件作为PHP 的主配置文件,并进行修改

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

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

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

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

vim /etc/httpd.conf 

 9.验证PHP 测试页

安装论坛

1.创建数据库

2.把bbs数据库里面所有表的权限授予给bbsuser,并设置密码

 3.刷新数据库

cd /opt/dis

cp -r upload/ /usr/local/httpd/htdocs/bbs

cd /usr/local/httpd/htdocs/bbs

chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data
unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/940096.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

android手机销售app(IDEA,SpringBoot,SSM,MySQL)+支付宝支付+全套视频教程

本项目亮点: 支付宝支付 eCharts柱状图图表数据统计 【项目功能介绍】 本系统包含后台管理和前端app双端系统,后台管理的功能包含: 登录, 退出, 修改管理员信息(基本信息与头像),资源管理,角色管理,资源权限分配,字典管理,用户管理,图书管理,订单管理,订单统计; a…

Java BigDecimal详解

目录 一、前言 二、BigDecimal 2.1、常用构造方法 2.2、常用方法 2.3、示例代码 add(BigDecimal)方法 subtract(BigDecimal)方法 multiply(BigDecimal)方法 divide(BigDecimal)方法 max(BigDecimal val)方法 2.4、BigDecimal的八种舍入模式 setScale(1) setScale(…

CAN接口:Ubuntu系统下CAN接口使用python调用过程

CAN接口:Ubuntu系统下CAN接口使用python调用过程 介绍在Ubuntu系统中通过python程序使用CAN接口。 1. 使用平台 NVIDIA小型边缘设备NX,(Orin NX和Xavier NX都可以),系统采用Ubuntu,(18.04版本…

ASSY 11994R13PLC模块

可编程性: PLC模块可以通过编程进行定制,以执行特定的控制逻辑和功能。这种可编程性使其非常灵活,可以适应各种应用。 输入/输出(I/O): PLC模块通常具有数字输入和输出,以接收和发送信号。某些…

喜报|星瑞格荣获“2022-2023年度国产数据库应用优秀解决方案”奖项

近日,赛迪网为表彰数字赛道上的先行者,联合《数字经济》杂志社和北京科创互联,共同组织以“树立行业标杆,引领服务创新”为中心的“2022-2023年度产业数字服务案例及创新成果征集活动”。该活动旨在鼓励各行业数字化应用技术创新树…

【ag-grid-vue】列定义(Updating Column Definitions)

列定义一节解释了如何配置列。可以在初始设置列之后更改列的配置。本节介绍如何更新列定义。 添加和删除列 可以通过更新提供给网格的列定义列表来添加和删除列。当设置新列时,网格将与当前列进行比较,并计算出哪些列是旧的(要删除)、哪些列是新的(创建…

增加samba用户提示Failed to add entry for user

这个问题我在CSDN上搜到了很多文章,而且都差不多,一开始并没有解决我的问题,不太理解怎么做,经过多次尝试,最后解决了。记录一下具体操作步骤。 第一个是要配置/etc/samba/smb.conf 文件,在文件最后&#x…

技术漫谈第10期 | “百模大战”:向着行业更深处

自21世纪初以来,人工智能(AI)已经从科幻小说中的概念成长为现实生活中的重要工具。从符号推理到弱人工智能再到大规模深度学习模型,人工智能已经进入大模型时代的新阶段,是科技竞争的制高点,即将改变千行百…

手把手教你安装Git,萌新迈向专业的必备一步

手把手教你安装Git,萌新迈向专业的必备一步 一、版本控制系统是什么?1. 倒霉的小明2. 版本控制系统3. 常见的版本控制系统 二、GitLab 与 GitHub1. GitLab2. GitHub 三、Git安装1. 下载2. 安装3. 验证 四、初学使用1. 本地仓库2. 远程仓库-Github3. 远程…

关于安防视频汇聚平台EasyCVR视频平台的分析以及应用用途

为了保证对园区环境风险进行有效识别,传统视频监控存在视频结构化利用率低的问题,在实际使用过程中,安全管理人员工作效率低下,依靠人工肉眼查看灵活度低,风险漏报概率高,出现异常情况跟踪不及时&#xff0…

post为什么会发送两次请求

今天看掘金的文章,京东面试问了这个问题,我也处于好奇,想了解这块的内容所以做了以下的来了解: 请求是一对请求,有一次请求是预请求(预检请求),它的请求方式是options 火狐浏览器可…

long型的时间戳自动转化为字符串

1、自定义序列化类 import com.fasterxml.jackson.databind.annotation.JacksonStdImpl; import com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase;JacksonStdImpl public class ToDateStringSerializer extends ToStringSerializerBase {public ToDateStringS…

AP9234 9W升压恒流型 DCDC多串LED恒流驱动 2串3串 LED灯串

描述 AP9234是一款由基准电压源、振荡电路、误差放大电路、相位补偿电路、电流限制电路等构成的CMOS升压型DC/DC LED驱动。由于内置了低导通电阻的增强型N沟道功率MOSFET,因此适用于需要高效率、高输出电流的应用电路。另外,可通过在VSENSE端子连接电流…

SpringBoot扩展接口总结

SpringBoot 扩展接口 1、可扩展接口启动调用概述2、可扩展的点逐个说明2.1、ApplicationContextInitializer2.2、BeanDefinitionRegistryPostProcessor2.3、BeanFactoryPostProcessor2.4、InstantiationAwareBeanPostProcessor2.5、SmartInstantiationAwareBeanPostProcessor2.…

【Docker 】Docker 客户端,容器使用,启动容器,启动已停止运行的容器,停止一个容器,进入容器

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖&#x1f…

刘强东的低价武器再上膛

电商的光辉正撒向中国的每一个角落。 河北南部的一个村子,74岁的陈奶奶站在大门口,正等待着小哥送货上门,孤身在家的她平时吃的油盐酱醋,喝的奶粉豆浆,都由女儿崔丽丽在网上买。由于京东是村子里唯二可以上门的快递&a…

C++学习|CUDA安装和配置

CUDA安装和配置 Windows下安装CUDAVS项目配置CUDA Windows下安装CUDA 第一步:先看自己NIVIDIA显卡适合什么版本的CUDA。打开电脑的“NIVIDIA控制面板”->系统信息->组件。会看到我的显卡驱动最高支持的CUDA版本是11.4.56。 第二步:去CUDA官网&…

电脑固定资产管理系统

为了更好地管理固定资产,系统管理员划分了相应的用户使用权限。各级管理者在系统中拥有不同的权限,这些权限能够帮助他们更好地查看和管理其管辖的固定资产。 从基层管理者到高级管理者,每一级别的管理者都能够获得相应的授权和管理权…

将Spring boot 项目部署到tomcat服务艰难

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z X Y Z

SVN 集中式版本管理平台

1. SVN 命令行工具下载地址 https://www.visualsvn.com/downloads/ 2. 下载SVN 命令行工具后,解压后就可以了,不需要安装的 3. 将bin 文件添加到系统环境变量中,不知道怎么打开系统环境变量的自己问度娘 4. 添加到系统环境变量中,…