Web服务器群集:部署LNMP平台(yum方式安装)

news2024/11/8 2:56:57

目录

一、理论

1.yum安装与源码安装的区别

二、实验

1.Nginx安装(yum方式)

2.MySQL安装(yum方式)

3.PHP安装(yum方式)

4.Nginx 配置

三、问题

1.客户端 404 报错

四、总结 


一、理论

1.yum安装与源码安装的区别

(1)yum安装和源码(tar包)安装方式的不同

      ① yum安装是将yum源中的rpm包下载到本地,安装这个rpm包。这个rpm包是别人编译安装好的二进制包。这种方式与其说是安装,不如说是更新来的更确切一点。

      ② 源码安装,下载是源码包,要进行编译和安装,编译过程,可以进行参数设定。

(2)yum安装和源码安装优缺点分析

表1 优缺点分析

安装方式yum源码(tar包)
优点安装软件,方便快捷,特别是不用考虑包依赖。编译安装过程,可以设定参数,按照需求,进行安装,并且安装的版本,可以自己选择,灵活性比较大。
缺点安装过程,人为无法干预,不能按需,安装。源里面有什么就安装什么,安装的版本也比较低。由于安装包过新或者是其他问题,导致依赖的包没有,或者版本过低。这个时候就要解决包的依赖问题,linux系统中有的包,一个依赖一个,可能装一个小东西,就要解决一堆包的依赖问题,花很多时间解决包的依赖问题。源码安装的多了,不敢升级系统,升级系统,可能会导致以前手动装的东西,不能用。

(3)Linux系统常用的安装软件的三种方法

表2 三种方法

安装方法

利用yum安装软件

利用rpm命令

安装软件

利用源码安装软件

描述rpm 是linux的一种软件包名称,以.rpm结尾,安装的时候语法为:rpm -ivh。
rpm包的安装有个很大的缺点就是文件的关联性太大,有时装一个软件要安装很多其他的软件包。
查看是否安装了改软件和版本号:rpm -qa rpm的软件包名下载是源码包,要进行编译和安装。

安装软件

yum -y install 软件
yum并不是一种包,而是安装包的软件。

安装:

rpm –ivh rpm的软件包名

升级:

执行rpm -Uvh rpm包名

参数:

-i 安装软件
-t 测试安装,不是真的安装
-p 显示安装进度
-f 忽略任何错误
-U 升级安装
-v 检测套件是否正确安装

解压:tar -xzvf 软件.tar.gz

配置环境:/configure

编译:make 

安装:make install

卸载:make uninstall

二、实验

1.Nginx安装(yum方式)

(1)流程

表3 Nginx安装流程

序号

操作关键命令文件
1

搭建nginx相关的yum源

vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
安装所获得的软件包都是来源于httpd源
2清理源缓存、重新加载源yum clean all && yum makecache
3安装nginx服务yum -y install nginx
4查看nginx版本nginx -v
5启动nginx服务并设置为开机自启systemctl start nginx
systemctl enable nginx
6监听服务端口netstat -antp| grep nginx

(2)配置nginx在线源

(3)清空缓存并更新

(4)执行yum安装

(5)查看nginx版本

(6)启动服务并设置开机自启

(7)监听nginx服务端口

2.MySQL安装(yum方式)

(1)流程

表4 MySQL安装流程

序号

操作关键命令文件
1查看有无安装 mariadbrpm -qa | grep mariadb
2

卸载一切与mysql有关的包

yum -y remove mariadb*为了新mysql版本的包做环境准备,以免老版本干扰新版本的植入
3

使用wget下载mysql相关的yum源 并安装

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm


yum -y install mysql57-community-release-el7-10.noarch.rpm


 


 

wget默认会将下载的安置在当前目录 
4设为无需密钥验证sed -i 's/gpgcheck=1/gpgcheck=0/' mysql-community.repo
5安装MySQL服务yum -y install mysql-community-server
6

启动mysql服务并且做一些初步设置

systemctl start mysqld.service
systemctl enable mysqld.service
7在日志文件中找出root用户的初始密码

grep "password" /var/log/mysqld.log

grep "password" /var/log/mysqld.log | awk '{print $NF}'
 

8

登录 mysql,

输入初始密码

mysql -uroot -p

Enter password: 

9设置密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123';密码设置要求有 大小写字母、数字和符号 组合
10允许所有通过数据库密码访问的主机grant all privileges on *.* to root@"%" identified by "Admin@123" with grant option;
11刷新数据库flush privileges;
12

停止版本更新,稳定数据库的运行 

yum -y remove mysql57-community-release-el7-10.noarch为了防止每次yum操作都会自动更新,卸载这个软件

(2)查看有无安装mariadb

(3)卸载mariadb

(4)使用wget下载mysql相关的yum源并安装

(5)设为无需密钥验证

(6)安装 mysql

(7)完成安装 mysql

(8)启动MySQL服务并设置开机自启

(9)在日志文件中找出root用户的初始密码

(10)登录 mysql输入初始密码,允许所有通过数据库密码访问的主机,并刷新数据库

(11)查看数据库

(12)防止每次yum操作都会自动更新,卸载这个软件

3.PHP安装(yum方式)

(1)流程

表5 PHP安装流程

序号

操作关键命令文件
1

 获取php的相关yum源 

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 


rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

2

安装相关的依赖拓展模块 

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-redis
 
3启动 php-fpm 并设置开机自启systemctl start php-fpm
systemctl enable php-fpm
4查看 php 版本php -v
 

(1)下载

(2)安装

(3)完成安装

(4)启动php-fpm并设置开机自启

(5)查看php版本

4.Nginx 配置

(1)流程

表4Nginx配置流程

序号

操作关键命令文件
1备份cp  /etc/nginx/conf.d/default.conf default.conf.bake
2切换到nginx服务配置目录cd /etc/nginx/conf.d
3配置 nginx 支持 PHP 解析,vim default.conf
......
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name; 
        include        fastcgi_params;
    }
将 /scripts 修改为nginx的工作目录
4启动Nginx服务systemctl restart nginx
5监听端口netstat -antp | grep nginx
6配置 PHP 网页

cd /usr/share/nginx/html

vim index.php
<?php
phpinfo();
?>
 

7浏览器访问http://192.168.204.150/index.php
8测试mysql是否能连接成功vim /usr/share/nginx/html/index.php
<?php
$link=mysqli_connect('192.168.204.150','root','Admin@123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
 
9浏览器访问http://192.168.204.150/index.php

(2)备份

(3)配置 nginx 支持 PHP 解析

(4)重启服务

(5)监听端口

(6)配置PHP网页

(7)浏览器访问

(8)测试mysql是否能连接成功

配置PHP网页

(9)浏览器访问

三、问题

1.客户端 404 报错

(1)问题:

LNMP搭建完成,客户端无法打开php页面

 (3)原因分析:

hosts 文件配置和防火墙安全机制。

(4)解决方法:

修改hosts 文件配置

查看配置

 清空 hosts 文件的末 2 行。

 

关闭防火墙和安全机制

本次实验中测试lnmp连接问题,起初连接失败,将所有的默认配置,以及mysql的相关日志检查了一遍,并没有发现是设置或者主机配置的问题。最后关掉防火墙和selinux,使得LNMP的连接顺利进行。


四、总结 

yum安装是将yum源中的rpm包下载到本地并更新这个rpm包,源码安装的下载是源码包并要进行编译和安装;

yum源搭建LNMP时不需要特地的添加系统服务,但是会触及到下载相关yum源 ,需要向外获取资源,所以不能挪动原有yum默认配置,需要添加的直接进行添加;

yum搭建的LNMP占内存约为2-3G,源码编译约占10G的存储空间。


 

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

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

相关文章

转行网络安全,报班之后就万事大吉了吗?

最近在网上看到很多人问&#xff0c;“是不是报了培训班就可以高枕无忧&#xff0c;坐等毕业之后拿高工资了&#xff1f;”“是不是学了网络安全&#xff0c;就一定能够实现月入过万了&#xff1f;” 其实&#xff0c;无论你是选择网络安全也好&#xff0c;还是选择其他的Java、…

自我管理型团队:企业组织力提升利器

近年来&#xff0c;软件项目的规模和复杂性在以前所未有的速度增长。因此&#xff0c;快速响应需求变化已经成为互联网行业的常态。在这样的环境下&#xff0c;软件产品的快速开发和迭代对于公司迅速占领市场、抢占商机来说具有至关重要的意义。 所以&#xff0c;越来越多的研…

Mysql高阶语句(二)

Mysql高阶语句&#xff08;二&#xff09; 1、别名2、子查询3、EXISTS4、连接查询5、CREATE VIEW 视图6、UNION 联集7、交集值8、无交集值9、CASE10、算排名12、算累积总计13、算总合百分比14、算累计总合百分比15、空值&#xff08;null&#xff09;和无值&#xff08;’’&am…

大中型灌区信息化监测系统-智慧灌区

系统概述 大中型灌区信息化监测系统主要对对灌区的水情、雨情、土壤墒情、气象等信息进行监测&#xff0c;对重点区域进行视频监控&#xff0c;同时对泵站、闸门进行远程控制&#xff0c;实现了信息的测量、统计、分析、控制、调度等功能。为灌区管理部门科学决策提供了依据&a…

从0到1精通自动化测试,pytest自动化测试框架,skip跳过用例(八)

一、前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能&#xff0c;或者希望自己失败的测试功能 skip意味着只有在满足某些条件时才希望测试通过&#xff0c;否则pytest应该跳过运行测试。 常见示例是在非Windows平台上跳过仅限Windows的测试&#xff0c;或跳过测…

Nginx反向代理解决客户端ip获取问题

希望大家可以去我个人网站看本篇博客&#x1f600;&#xff0c;纯手撸了一个月&#xff0c;希望大家能去看看&#xff0c;评论一两句/(ㄒoㄒ)/~~&#xff1a; RoCBlog-Nginx反向代理解决客户端ip获取问题 任务 有访客记录的需求&#xff0c;所以需要获取客户端IP以及地理位置…

站台「亚马逊云科技中国峰会」,我成了「开发者大讲堂」演讲嘉宾~

文章目录 ⭐️ 中国峰会可持续发展论坛亮点抢先看&#xff01;⭐️ 创业者之日亮点抢先看⭐️ 开发者专属板块 | 灵感碰撞⭐️ 峰会现场 | 5大板块实现技能跃迁⭐️ 峰会报名全面启动 | 亮点抢先看 没有废话&#xff0c;咱直接奔主题&#xff0c;报名入口在文末&#xff1b;非常…

5.6.2 传输层编址--端口

5.6.2 传输层编址 传输层为应用进程提供了端到端的逻辑通信&#xff0c;两个主机之间的通信实际上是两个主机中的应用进程之间的相互通信&#xff0c;因此一个主机中可能有多个应用进程同时和另一个主机中多个应用进程进行通信&#xff0c;而网络层我们学习的网际协议能够保证…

Java设计模式之结构型-适配器模式(UML类图+案例分析)

目录 一、概念 二、UML类图 1、类适配器 2、对象适配器 三、角色设计 四、代码实现 案例一 案例二 五、总结 一、概念 将一个类的接口转换为另一个接口&#xff0c;使得原本由于接口不兼容的类进行兼容。 适配器模式主要分为类适配器模式和对象适配器模式&#xff0…

信息技术教师答辩题目及答案解析

小学信息技术教师《制作图文并茂的幻灯片》答辩题目 第一题 在空白幻灯片中输入输入文字? 【参考答案】 1.打开演示文稿&#xff0c;新建幻灯片。 2.单击“绘图”工具栏中的“横排文本框”按钮。 3.在幻灯片的任意位置拖动鼠标&#xff0c;出现的虚线框就是文本框。 4.在文本框…

树的基本概念和表示方法,二叉树的基本概念以及堆的概念和插入。

文章目录 树的基本概念树的基本术语树的表示双亲表示法:孩子兄弟表示法:树的典型应用——目录树 二叉树的概念及结构二叉树的概念两种特殊的二叉树二叉树的存储结构 堆的概念堆的插入 树的基本概念 树是数据结构中的一个重要组成部分&#xff0c;它具有一对多的特点&#xff0c…

解密软件工程的秘密武器:UML图

文章目录 一 综述二 用例图2.1 细化用例说明2.2 包含、扩展、泛化关系2.3 题目列举 三 类图和对象图四 顺序图五 状态图5.1 栗子 六 活动图七 练习7.1 用例图综合题7.2 状态图综合题 一 综述 二 用例图 用例图描述一组用例、参与者及它们之间的关系。 用户角度描述系统功能&am…

Qt自定义窗口部件/控件(实现一个十六进制微调框SpinBox)

目录 1、自定义Qt窗口部件/控件2、十六进制微调框(SpinBox)2.1、实现思路2.2、源码 3、使用方法3.1、代码添加自定义窗口部件/控件3.2、Qt设计师添加自定义窗口部件/控件3.3、运行效果 4、缺点 1、自定义Qt窗口部件/控件 在某些情况下,我们发现Qt窗口控件需要更多的自定义定制…

剑指 Offer 16. 数值的整数次方 / LeetCode 50. Pow(x, n)(快速幂)

题目&#xff1a; 链接&#xff1a;剑指 Offer 16. 数值的整数次方&#xff1b;LeetCode 50. Pow(x, n) 难度&#xff1a;中等 实现 pow(x, n) &#xff0c;即计算 x 的 n 次幂函数&#xff08;即&#xff0c;xn&#xff09;。不得使用库函数&#xff0c;同时不需要考虑大数问…

Java 中如何对图片进行压缩处理

问题背景 图片过大时&#xff0c;会造成页面卡顿甚至于报错&#xff0c;而且现在页面&#xff0c;接口&#xff0c;很多地儿都有报文传输的最大限制要求&#xff0c;另外不知道各位有没有遇到过页面渲染比较大的 base64 图片时&#xff0c;会非常的卡顿。所以&#xff0c;我们…

深入Python网络编程:从基础到实践

Python&#xff0c;作为一种被广泛使用的高级编程语言&#xff0c;拥有许多优势&#xff0c;其中之一就是它的网络编程能力。Python的强大网络库如socket, requests, urllib, asyncio,等等&#xff0c;让它在网络编程中表现优秀。本文将深入探讨Python在网络编程中的应用&#…

npm发布自己的包步骤详解

我发布的是基于vue的指令插件 初始化项目 比如我&#xff0c;创建了code-transfor-text_vue项目 根目录初始化git git init .建立开源协议 给项目根目录手动创建LICENSE文件文件&#xff0c;没有后缀名 MIT LicenseCopyright (c) 2023 quanyiPermission is hereby granted,…

Java 反序列化之 XStream 反序列化

0x01 XStream 基础 XStream 简介 XStream 是一个简单的基于 Java 库&#xff0c;Java 对象序列化到 XML&#xff0c;反之亦然(即&#xff1a;可以轻易的将 Java 对象和 XML 文档相互转换)。 使用 XStream 实现序列化与反序列化 下面看下如何使用 XStream 进行序列化和反序列…

Scala面向对象【上】

Scala 面向对象 Scala的面向对象思想和Java是一致的&#xff0c;只不过在语法上增加了更多的功能。 1、Scala 包 和 Java 一致。 1.1、包对象 在 Scala 中可以为每个包定义一个同名的包对象&#xff0c;定义在包对象中的成员&#xff0c;作为其对应包下所有 class 和 objec…

Kafka详解

文章目录 1、kafka简单介绍2、kafka使用场景3、kafka基本概念4、kafka集群1、数据冗余2、分区的写入1、使用 Partition Key 写入特定 Partition2、由 kafka 决定3、自定义规则 3、读取分区数据 5、提交策略6、kafka如何保证高并发 1、kafka简单介绍 kafka是一款分布式、支持分…