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

news2024/9/20 5:50:38

部署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.coloradmin.cn/o/1911941.html

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

相关文章

ElementPlusError: [ElPagination] 你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档 - 报警告之一

一、问题描述: 今天在使用elementui plus的时候遇到了一个奇葩的问题, 就是提示 使用了一些已被废弃的用法, 奇葩就在于我是 复制另一个页面的分页, 一摸一样的东西,就只这个页面报错, 分页也不出 为了这个…

App Cleaner Uninstaller 8.3.0激活版 最佳卸载程序和清理助手

App Cleaner & Uninstaller 完全安全地删除 Mac 上的程序,删除应用程序的残留物,管理扩展程序和启动程序。 App Cleaner & Uninstaller 8.3.0激活版下载 卸载应用程序和所有不需要的垃圾文件 当您将应用程序拖放到废纸篓时,请检查您…

鸿蒙开发学习笔记1

一、下载 deveco-studio 编译器 https://developer.huawei.com/consumer/cn/deveco-studio/#download 二、ArkTs 0、基本数据类型: 3种:string、number、boolean 1、存储数据(变量、常量) 注:类似于 ts 使用 con…

【work】AI八股-神经网络相关

Deep-Learning-Interview-Book/docs/深度学习.md at master amusi/Deep-Learning-Interview-Book GitHub 网上相关总结: 小菜鸡写一写基础深度学习的问题(复制大佬的,自己复习用) - 知乎 (zhihu.com) CV面试问题准备持续更新贴 …

springboot中@bean注解的创建和使用

bean的创建顺序 在Spring Boot中,当一个配置类(使用Configuration注解的类)中定义了多个bean时,这些bean的创建顺序并不完全由它们在类中的声明顺序决定。Spring框架在创建和管理bean时,遵循了复杂的依赖注入和生命周…

什么,有狗快跑!慢着,这次手把手教你怎么过安全狗!(sql注入篇)

前言 在记忆里上次绕安全狗还是在上次,开开心心把自己之前绕过狗的payload拿出来,发现全部被拦截了,事情一下子就严肃起来了,这就开整。 环境 本次环境如下sqli-lab的sql注入靶场 网站安全狗APACHE版V4.0版本的最高防护等级绕过…

北京大学长安汽车发布毫米波与相机融合模型RCBEVDet:最快能达到每秒28帧

Abstract 三维目标检测是自动驾驶中的关键任务之一。为了在实际应用中降低成本,提出了利用低成本的多视角相机进行3D目标检测,以取代昂贵的LiDAR传感器。然而,仅依靠相机很难实现高精度和鲁棒性的3D目标检测。解决这一问题的有效方法是将多视…

思维+数学,CF 1138B - Circus

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1138B - Circus 二、解题报告 1、思路分析 设第一组会小丑和杂技的人数分别为x1, y1 第二组会小丑和杂技的人数分别为x2, y2 显然根据要求有: x1 y2 > x1 x2 x2 y2 上式说明第二组每…

【QT中实现摄像头播放、以及视频录制】

学习分享 1、效果图2、camerathread.h3、camerathread.cpp4、mainwindow.h5、mainwindow.cpp6、main.cpp 1、效果图 2、camerathread.h #ifndef CAMERATHREAD_H #define CAMERATHREAD_H#include <QObject> #include <QThread> #include <QDebug> #include &…

OpenFWI代码

重点关注文章第4部分 一、代码模块概览 这一部分了解代码主要实现的功能有哪些。 二、运行 这一部分关注如何跑通。 三、数据集 12个数据集&#xff08;11个2D1个3D&#xff09; 对计算机而言&#xff0c;上述输入、输出维度大小是按次数定义的。 以“Vel&#xff0c;F…

Celery,一个实时处理的 Python 分布式系统

大家好&#xff01;我是爱摸鱼的小鸿&#xff0c;关注我&#xff0c;收看每期的编程干货。 一个简单的库&#xff0c;也许能够开启我们的智慧之门&#xff0c; 一个普通的方法&#xff0c;也许能在危急时刻挽救我们于水深火热&#xff0c; 一个新颖的思维方式&#xff0c;也许能…

Spring-AOP(二)

作者&#xff1a;月下山川 公众号&#xff1a;月下山川 1、什么是AOP AOP&#xff08;Aspect Oriented Programming&#xff09;是一种设计思想&#xff0c;是软件设计领域中的面向切面编程&#xff0c;它是面向对象编程的一种补充和完善&#xff0c;它以通过预编译方式和运行期…

MySQL:TABLE_SCHEMA及其应用

MySQL TABLE_SCHEMA及其应用 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/ar…

持久化存储与设备环境查询的最佳实践

ArkUI框架中的PersistentStorage和Environment 在ArkUI框架中&#xff0c;持久化存储和设备环境查询是应用开发中不可或缺的两个重要功能。在本文中&#xff0c;我们将深入了解框架提供的PersistentStorage和Environment&#xff0c;它们的用途、限制条件以及在应用开发中的使…

SDIO CMD 数据部分 CRC 计算规则

使用的在线 crc 计算工具网址&#xff1a;http://www.ip33.com/crc.html CMD CRC7 计算 如下图为使用逻辑分析仪获取的SDIO读写SD卡时&#xff0c;CMD16指令发送的格式&#xff0c;通过逻辑分析仪总线分析&#xff0c;可以看到&#xff0c;该部分的CRC7校验值得0x05,大多数情况…

二战架构师,拿下

前言 已经许久更新文章了&#xff0c;并不是因为我懒了&#xff0c;而是在备考系统架构师考试。个人感觉还是比较幸运的&#xff0c;低分飘过。现阶段任务也算完成了&#xff0c;记录一下感受。 什么是软考 软考&#xff0c;全称“计算机技术与软件专业技术资格&#xff08…

Agent如何帮助大模型“增强记忆”?

Agent如何帮助大模型“增强记忆”&#xff1f; 原创 格林 神州问学 2024年07月08日 17:50 日本 记忆反馈 >规划&#xff1f; 来源|神州问学 引言 去年6月份&#xff0c;Lilian发布了关于LLM驱动的Agent的结构和组件&#xff0c;其中包括规划、行动、工具还有记忆&#xff…

去除Win32 Tab Control控件每个选项卡上的深色对话框背景

一般情况下&#xff0c;我们是用不带边框的对话框来充当Tab Control的每个选项卡的内容的。 例如&#xff0c;主对话框IDD_TABBOX上有一个Tab Control&#xff0c;上面有两个选项卡&#xff0c;第一个选项卡用的是IDD_DIALOG1充当内容&#xff0c;第二个用的则是IDD_DIALOG2。I…

C++相关概念和易错语法(17)(适配器模式、仿函数)

1.stack和queue stack和queue的相关接口如下&#xff1a; stack queue 我们发现不管是stack还是queue&#xff0c;它们都有push和pop&#xff0c;不区分push_back和push_front&#xff0c;这是由它们的入栈特定顺序特性决定的&#xff0c;并且它们都没有迭代器&#xff0c;st…

【系统架构设计】计算机组成与体系结构(一)

计算机组成与体系结构 计算机系统组成计算机硬件组成控制器运算器主存储器辅助存储器输入设备输出设备 计算机系统结构的分类存储程序的概念Flynn分类 复杂指令集系统与精简指令集系统总线 存储器系统流水线 兜兜转转&#xff0c;最后还是回到了4大件&#xff0c;补基础&#x…