源码编译构建LAMP(企业网站架构部署与优化)

部署LAMP平台

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

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

解析:

静态页面(apache)

  • 动态页面(php)(tomcat)(web容器,servlet容器,jsp容器)

补充:如何永久关闭内核安全机制?

APACHE

如何查看当前是否有httpd的安装包:rpm -qa http 如果有要删除掉,否则会冲突。

先安装软件包需要的开发环境:yum -y install apr-util-devel pcre-devel gcc*

然后安装httpd压缩包;

解压:tar zxvf httpd-2.4.254.tar.gz

随后cd进入到解压目录;找到configure

再指定安装路径及启用的服务:

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

so:支持DSO(动态加载模块);动态共享目标(在安装完一个软件后想增加一些功能;不必再卸载重新安装所提供的一种特性,利用这种特性,不用卸载这个软件包,可以在服务运行过程中增加一些功能。)

rewrite:地址重写

charset-lite:字符集(保证服务在运行的时候在处理各种文件能够正常呈现。)

cgi:通用网关接口;

如果配置成功了会显示如图:

2.4.25的版本;安装的目录;c语言编译器:gcc

随后编译(将源码文件编译成二进制的文件;编译成了可执行文件):make

再make install

如何验证安装的结果;及目录下一些重要的目录信息

ls /usr/local/httpd

bin:二进制的文件(一些命令)

logs:日志文件

conf:apache的配置文件;

htdocs:网站文件所在的根目录

如何解决命令路径太长的问题:链接到系统查找的目录下

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

如何启动或关系http服务:验证服务是否在开启或者关闭;netstat -anpt | grep httpd

如何关闭提示信息;先进入配置文件

vim /usr/local/httpd/conf/httpd.conf 把这一行内容注释删掉,添加一个域名。

如何让apache服务设置为系统服务;可以用systemctl服务去管理

cd /lib/systemd/system 然后创建一个apache的服务文件;

vim httpd.service 写入以下参数:

立即重载守护进程:systemctl daemon-reload

web服务

虚拟主机 :

基于域名(用的最多。)

基于IP (需要多个IP。)

基于端口 (一个IP,绑定多个端口。)

基于域名::

先在客户机的/etc/hosts文件中写入参数;

在服务器创建两个目录

修改服务器预留的虚拟配置文件:

再将修改过的虚拟站点配置文件放置到apache的主配置文件;使得其能被读取到。

用客户机验证:

基于IP地址的虚拟主机:

在基于域名的基础上进行修改:

临时添加一个IP地址,若要永久生效,需要创建一个IP地址并和其域名绑定到一起。

服务器端重启apache服务后生效。

然后验证:

基于端口号的虚拟主机:

修改完了之后再在虚拟主机配置文件监听一个8080端口(虚拟主机的web服务端口)

重启服务后生效;再用客户端验证:

MY SQL

先查询服务器端有没有安装mysql软件包;一个是客户端(mysql)一个是服务器端(mysql-server)分别查询一下。

首先安装开发环境;编译环境。

autoconf:自动化配置脚本的一个工具。

然后,解压压缩包;

cd到解压目录查看一下目录内容。

安装mysql源码包的编译工具;cmake

为了数据库的安全着想,不使用root用户登录。创建一个程序用户。

使用cmake指定安装目录及启用的功能;

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

配置完成会生成一些配置文件:

再用make进行编译

make && make install

提到上述的安全问题;要为mysqsl目录修改一下归属问题。

首先cd进入mysql的安装目录。

修改为“mysql”用户可执行的文件。

查看系统最初自带的mariadb文件;然后把它删除掉,因为我们安装的是mysql。

进入到解压目录,然后寻找源码包为用户提供的模版文件,然后拷贝到/etc/下,加以修改作为配置文件。

为mysql进行初始化设置;

将mysql的命令写入到系统文件中,方便平时使用。

将末尾这一行内容写进去。

然后重载该文件,即可生效。

如果要用init作为守护进程管理mysql,要将解压目录下提供的配置文件拷贝到/etc/init.d中。

给这个脚本一个执行权。

把mysqld添加给Linux的系统服务;使用systemd进程管理。

设置开机自启:

如何为用户设置密码:

PHP

先安装编译环境:

yum -y install zlib-devel libxml2-devel

安装php代码加密工具:这些加密工具本地磁盘可能没有,要切换别的仓库作为yum仓库。

yum -y install libmcrypt libmcrypt-devel mcrypt mhash

解压压缩包:

tar zxf php-5.5.38.tar.gz

cd到解压目录内进行配置:

配置成功会提示如图:

开始编译及编译后安装:

make && make install

安装后调整:

进入到拷贝后的配置文件后进行修改:

再安装加速解析代码的软件:

解压该软件包;再将该软件包提供的配置文件拷贝到/usr/local/php5/lib/php放置到一起。

再进入php的配置文件进行添加该加速插件:

vim /usr/local/php5/php.ini

进入到apache的配置文件中进行修改:

将标注的内容写进配置文件。

然后重启apache服务,然后用工具查看httpd的文件格式是否有误:

cd到apache的网页文件内编写测试脚本测试服务是否安装成功:

编写如上脚本后,用浏览器进行测试;且在搜索栏中指定要访问的文件:

再编写一个脚本测试mysql服务:

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

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

相关文章

【Python】基础语法体系:两种常用语句

个人主页:【😊个人主页】 系列专栏:【❤️Python】 文章目录 前言条件语句动态实例if语句if-else 语句if-elif-else 语句嵌套条件语句 循环语句for循环while循环 动态实例嵌套循环 前言 Python语句是构成Python程序的基本单元,用…

优化VOI(Virtual Operating System Infrastructure,虚拟操作系统基础架构)架构的性能

优化VOI(Virtual Operating System Infrastructure,虚拟操作系统基础架构)架构的性能,可以从多个方面入手,以确保系统能够更高效、更稳定地运行。以下是一些优化建议: 1. 优化硬件资源利用 本地硬件资源最…

JavaScript 基础:掌握JavaScript基础语法(一)

一、JavaScript 字面量 在编程语言中,一般固定值称为字面量,如 3.14。 1)数字(Number)字面量 可以是整数或者是小数,或者是科学计数(e)。 3.14 1001 123e5 2)字符串(String&…

磁力猫官网cilimao,获取磁力链接的操作步骤

磁力猫磁力链接是一种特殊的下载链接,磁力猫磁力链接可以理解为一个文件识别码,而并非具体的资源地址,下载软件需要拿着这个识别码去整个互联网(DHT网络)去寻找持有该资源的用户(节点),如果找到则可以进行传输下载。一般年代越久远…

Innodisk宣布启用第二期研发与生产中心,发力扩展边缘AI解决方案产能

Innodisk 公司于2024年7月9日在台湾宜兰揭幕了其研发与生产中心第二阶段,旨在扩大边缘人工智能(Edge AI)解决方案的生产能力。此举是对边缘AI浪潮所带动的庞大市场需求的直接响应,标志着公司将制造工厂转变为集团AI核心基地的重要…

C++之goto陈述

关键字 goto用于控制程式执行的顺序&#xff0c;使程式直接跳到指定标签(lable) 的地方继续执行。 形式如下 标签可以是任意的识别字&#xff0c;后面接一个冒号。 举例如下 #include <iostream>int main() {goto label_one;label_one: {std::cout << "Lab…

Taro自定义实现本地路径转换为文件

在用Taro写头像上传功能时&#xff0c;因为需要对获得的图片进行剪切成圆形或方形。使用组件剪切完之后返回的是一个本地图片的相对路径。这个时候我们就需要自己实现将本地路径重新转换为二进制文件。 引入两个js文件 mimeMap.js module.exports {"0.001": &quo…

vue3 插件

富文本插件 wangeditor https://www.wangeditor.com/v5/for-frame.html 官网地址 安装 yarn add wangeditor/editor # 或者 npm install wangeditor/editor --saveyarn add wangeditor/editor-for-vuenext # 或者 npm install wangeditor/editor-for-vuenext --save使用impor…

凸包——G - Highest Ratio

G - Highest Ratio 来源&#xff1a;AtCoder Beginner Contest 341-G 题目描述&#xff1a; 给定长度为 N N N 的序列 A ( A 1 , A 2 , … , A N ) A (A_1, A_2, \ldots, A_N) A(A1​,A2​,…,AN​)。 对于每个 k 1 , 2 , … , N k 1, 2, \ldots, N k1,2,…,N&#…

看懂什么是Halo2

目录 Halo2(零知识证明框架)是什么 Halo2概述 Halo2的原理 电路开发 斐波那契数列举例说明 Halo2的应用 结论 PLONK算法是什么 PLONK算法概述 PLONK算法原理 1. 电路描述与约束 2. 多项式表达与验证 3. 初始设置与随机性 PLONK举例说明 PLONK例子:验证简单的…

【漏洞复现】29网课交单平台 SQL注入

声明&#xff1a;本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动&#xff0c;将与本文档的作者或发布者无关。 一、漏洞描述 29网课交单平台是一个在线学习平台&#xff0c;用于帮助学生完成网络课程的学习任务。这个平台提供了包括…

Transformer中的编码器和解码器结构有什么不同?

Transformer背后的核心概念&#xff1a;注意力机制&#xff1b;编码器-解码器结构&#xff1b;多头注意力等&#xff1b; 例如&#xff1a;The cat sat on the mat&#xff1b; 1、嵌入&#xff1a; 首先&#xff0c;模型将输入序列中的每个单词嵌入到一个高维向量中表示&…

前端面试题34(在移动应用中,通用的实时传输协议)

在移动应用中&#xff0c;选择实时传输协议时通常会考虑几个关键因素&#xff1a;网络效率、功耗、实时性、跨平台兼容性以及数据类型&#xff08;如文本、图像、视频&#xff09;。以下是几种常用的实时传输协议及其在移动应用中的适用性&#xff1a; 1. WebSocket WebSocke…

华为od 100问 持续分享-2

我是一名软件开发培训机构老师&#xff0c;我的学生已经有上百人通过了华为OD机试&#xff0c;学生们每次考完试&#xff0c;会把题目拿出来一起交流分享。 重要&#xff1a;2024年5月份开始&#xff0c;考的都是OD统一考试&#xff08;D卷&#xff09;&#xff0c;题库已经整…

AI转绘_animatediff-cli-prompt-travel

这个工具有两种主要模式&#xff1a;它可以直接通过提示创建视频&#xff0c;或者它可以对现有视频进行风格化。还有方法可以提高视频的分辨率。 正如工具名称所示&#xff0c;它的一个主要特点是"提示旅行"。这意味着你可以例如使用特定的提示用于前20帧&#xff0…

Github绑定自己的域名

Github绑定自己的域名 1.注册自己的域名2.在GitHUb上创建一个自己的仓库&#xff0c;添加域名2.1 创建仓库2.2 添加域名2.3 在Setting中将域名添加到Custom domain中 3.添加域名解析获取ip地址4.在阿里云修改域名解析记录5.ping 域名即可成功 详细内容可参该博客&#xff1a; …

算法复杂度

目录 1. 数据结构前言 1.1 数据结构 1.2 算法 2. 算法效率 2.1 复杂度的概念 3. 时间复杂度 3.1 大O的渐进表示法 3.2 时间复杂度计算示例: 3.2.1 示例1 3.2.2 示例2 3.2.3 示例3 3.2.4 示例4 3.2.6 示例6 4. 空间复杂度 4.1 空间复杂度计算示例 4.1.1 示例1 …

Nacos2.X 配置中心源码分析:客户端如何拉取配置、服务端配置发布客户端监听机制

文章目录 Nacos配置中心源码总流程图NacosClient源码分析获取配置注册监听器 NacosServer源码分析配置dump配置发布 Nacos配置中心源码 总流程图 Nacos2.1.0源码分析在线流程图 源码的版本为2.1.0 &#xff0c;并在配置了下面两个启动参数&#xff0c;一个表示单机启动&#…

各种软件启动方式

各种软件启动方式 1. MySQL # 启动 service mysqld start # 关闭 service mysqld stop # 重启 service mysqld restart2. Redis # 启动 service redisd start # 关闭 service redisd stop3. nginx #启动 ./nginx #关闭 ./nginx -s quit #快速关闭 ./nginx -s stop # 重新加…

nlp中tokenizer用法

1&#xff0c;将文本转换为标记&#xff1a; 将输入文本分解成一系列标记&#xff08;tokens&#xff09;&#xff0c;这些标记可以是单词、子词、字符等。例如&#xff0c;句子 "Hello, world!" 可以被分解为 ["Hello", ",", "world"…