九、YUM与开源项目实战(Web运维)

章节目标

  1. 了解Linux软件的安装方式
  2. 掌握更新yum源
  3. 掌握YUM软件安装方式
  4. 了解LAMP环境以及AMP的关系
  5. 了解阿里云ECS的创建过程
  6. 能够yum方式搭建lamp环境
  7. 能够实现Discuz!论坛部署
  8. 能够购买域名与解析域名

引言

1. 项目背景

学员小白,目前刚入职了一家电子商务公司。主要负责大型商城系统维护,公司主营母婴用品,如奶瓶、奶嘴、童装等等,最近,很多客服发现一个问题:很多宝妈会在评论区互相咨询产品相关信息。

于是公司决定针对这一需求,要求运维为公司迅速上线一款论坛系统,方便宝妈交流产品、育儿心得等等。

2. 项目需求

满足功能,并且省钱(开源项目)

Discuz! = Apache + PHP + MySQL

一、YUM概述

1. Linux软件的安装方式

在CentOS系统中,软件管理方式通常有三种方式:rpm安装yum安装编译安装

  • 编译安装,从过程上来讲比较麻烦,包需要用户自行下载,下载的是源码包,需要进行编译操作,编译好了才能进行安装,这个过程对于刚接触Linux的人来说比较麻烦,而且还容易出错。好处在于是源码包,对于有需要自定义模块的用户来说非常方便。

难度:编译安装 > rpm安装 > yum安装(有网络 + yum源支持)

  • yum源不是所有软件都能下载。yum源(基础库)、epel(扩展库)

2. 什么是yum

  • Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器
  • 基于rpm包管理,能够从指定的服务器(yum源)自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

rpm和yum区别?

答:① yum底层也是基于rpm进行安装的(yum安装的软件,可以通过rpm -qa进行查询)

② yum相对于rpm最大的优势,可以解决依赖关系。

A => B => C

3. YUM源配置

YUM源配置文件所在路径 => /etc/yum.repos.d文件夹

扩展:在YUM镜像源中添加阿里云镜像源

第一步:备份CentOS-Base.repo这个源(更改后缀名.repo => .repo.bak)

# mv CentOS-Base.repo CentOS-Base.repo.bak

第二步:使用wget命令下载阿里云的镜像文件

# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

选项说明:

-O :指定文件下载的位置以及名称

第三步:清理YUM缓存

# yum clean all

第四步:重新建立缓存(让新YUM源生效)

# yum makecache

4. yum命令详解

4.1. 【search】搜索要安装的软件

yum search 软件名称的关键词

案例:搜索阿里云仓库中的vim软件

yum search vim

案例:搜索firefox火狐浏览器

yum search firefox

4.2. 使用yum安装软件【install】

# yum install 软件名称关键词 [选项]

选项:

-y :yes缩写,确认安装,不提示。

案例:使用yum命令安装vim编辑器

yum install vim -y

案例:使用yum命令安装firefox浏览器

yum install firefox -y

4.3. 使用yum卸载软件【remove】

# yum remove 软件名称关键词 [选项]

选项:

-y :yes缩写,确认卸载,不提示。

案例:把firefox火狐浏览器进行卸载操作

yum remove firefox -y

案例:把httpd软件进行强制卸载

yum remove httpd -y

4.4. 使用yum更新软件【update】

# yum update 软件名称关键词 [选项]

选项:

-y :yes缩写,确认更新,不提示

案例:把vim编辑器进行更新操作

yum update vim -y

案例:把firefox火狐浏览器进行更新操作

yum update firefox -y

二、LAMP

1. 什么是LAMP

LAMPLinux + Apache + MySQL + PHP ——LAMP 架构(组合)

LNMPLinux + Nginx + MySQL + php-fpm——LNMP 架构(组合)

LNMPALinux + Nginx(80) + MySQL + PHP + Apache Nginx 代理方式

  • Apache:Apache是世界使用排名第一的Web服务器软件。
  • PHP:一种专门用于Web开发的编程语言。
  • MySQL:MySQL是一个关系型数据库管理系统,主要用于永久存储项目数据。

2. AMP三者之间的关系

  • Apache:用于接收用户的请求(输入网址,返回网页=>结果)
  • PHP:注册、登录、加入购物车、下单、支付等动态功能(有编程语言的支持)
  • MySQL:永久保存数据,比如你在网站上注册的用户和密码、你加入购物车的产品、你的产品订单

LAMP = Linux + APache + PHP + MySQL

3. LAMP环境准备(阿里云详解)

要想部署一个互联网上可以访问到的环境,必须先具备以下内容 :

  • 服务器(IP、帐号密码、终端)、相应的软件、域名(备案、解析)、代码等。

代码:前端工程师 + 后端工程师进行开发提供的!

  1. 注册阿里云账号

阿里云官网:阿里云-计算,为了无法计算的价值——进入点击注册

云服务器的厂商特别多,可以进行任意选择 => 阿里云、百度云、腾讯云、华为云...

  1. 实名认证(上传身份证照片)(第一次使用)

第一步:单击账号下方的实名认证(选择个人认证)

第二步:选择支付宝授权认证(及时开通,无需等待)

第三步:勾选同意,点击提交

第四步:使用手机支付宝扫描二维码,进行授权

第五步:填写相关信息(住址)

填写完毕,即可完成认证。

  1. 购买阿里云的ECS云服务器

第一步:回到阿里云首页,找到弹性计算 => ECS云服务器

第二步:单击立即购买,购买ECS服务器(选区域、选配置)

第三步:选择付费模式、选择CPU与内存的配置

第四步:选择镜像(CentOS7.6)与云盘(硬盘)

第四步:设置网络、公网IP以及安全组(重要)

用户 => 阿里云安全组 => firewalld防火墙 => Linux服务器

第五步:设置root账号密码(一定要选择自定义密码)

8 - 30 个字符,必须同时包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号),其中 Windows 实例不能以斜线号(/)为首字符

第六步:设置释放时间 => 什么时候删除这台服务器(不收钱)

特别说明:只有个人购买的ECS服务器可以设置释放时间,生产环境一定不要设置释放时间,否则后果自负!!!

第七步:进入管理控制台,找到我们刚才购买的ECS服务器,如下图所示:

使用MX软件,直接连接公网IP + root账号 + 自定义的密码即可连接

  1. MobaXterm连接服务器

  1. 使用yum安装sl小工具

yum install sl -y

使用sl命令检测连接、网络

sl

4. 部署LAMP环境

4.1. 部署前的环境准备

  1. 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

  1. 关闭selinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。

  1. 获取SELinux的状态:

# getenforce

  1. 临时关闭SElinux:重启后SELinux还会自动启动

# setenforce 0

  1. 永久关闭SELinux:编辑SELinux的配置文件

# vim /etc/selinux/config

SELINUX=disabled

  1. 查询当前服务器是否安装apache

# rpm -qa |grep httpd

# rpm -e httpd-2.4.6-90.el7.centos.x86_64

# rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64

  1. 查询当前服务器是否安装MYSQL

# rpm -qa |grep mysql

  1. 查询当前服务器是否安装PHP

# rpm -qa |grep php

AMP安装指南:在Linux中安装AMP必须先安装Apache,在安装MySQL,最后安装PHP

4.2. Apache安装

Apache:阿帕奇,Apache基金会

httpd软件 => 前身apache,随着时间的推移以及互联网行业的发展,越来越多的软件加入到了Apache的基金会。

第一步:安装httpd软件

# yum install httpd -y

第二步:配置/etc/httpd/conf/httpd.conf文件

# vim /etc/httpd/conf/httpd.conf

/ServerName => 搜索

96 ServerName localhost:80

localhost : 代表本机,对应的IP地址可以使127.0.0.1或本机的公网IP

第三步:启动httpd服务

# systemctl start httpd

第四步:把httpd服务添加到开机启动项中

# systemctl enable httpd

第五步:使用ss或netstat命令查询httpd占用的端口

# netstat -tnlp |grep httpd

# ss -naltp |grep httpd

第六步:在浏览器中,使用公网IP访问阿里云服务器

4.3. MySQL安装

  1. 下载mysql的yum源

由于yum源上默认没有mysql-server。所以必须去官网下载后在安装

# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

  1. 安装MySQL的官网镜像源

# rpm -ivh mysql-community-release-el7-5.noarch.rpm

  1. 使用yum安装mysql最新版软件

yum install mysql-community-server -y

MySQL软件是一个C/S架构的软件,拥有客户端与服务器端。mysql-server服务器端(内部也包含了客户端),community代表社区版(免费开源)

  1. 启动mysql,查看端口占用情况

# systemctl start mysqld

# netstat -tnlp |grep mysqld

  1. MySQL数据库初始化(重要)

默认情况下,数据库没有密码,也没有任何数据,必须要初始化

①初始化数据,设置root密码(MySQL管理员)

# mysql_secure_installation

② 把mysqld服务添加到开机启动项

# systemctl enable mysqld

默认已经开机启动,这里可以跳过

③ 连接MySQL数据库,测试

# mysql -u root -p 回车

Enter password:输入刚才设置的密码,如123,回车

mysql> show databases; => 代表显示所有数据库

mysql> exit

扩展:以上说的root和Linux中的root不是同一个用户,这个root代表MySQL数据库的管理

员,只不过这个管理员也叫root。学习环境下,密码越简单越好。生产环境下越复杂越好。

4.4. PHP安装

  1. 使用yum命令安装php软件

yum install php -y

  1. 使用systemctl启动php软件(重启Apache)

systemctl restart httpd

为什么启动php就是重启Apache呢?

答:因为LAMP架构中,PHP是以模块的形式追加到Apache的内核中,所以启动php就相当于重置Apache软件

  1. 测试LAMP环境是否可以使用
  1. 第一步:使用cd命令进入/var/www/html目录

# cd /var/www/html

Apache的项目目录 => /var/www/html,以后程序员开发的代码都是放置于此目录

  1. 第二步:使用vim命令创建demo.php文件

# vim demo.php

  1. 第三步:编写php代码

<?php

echo 'hello world';

?>

编写完成后,保存退出,然后在浏览器中使用http://公网IP/demo.php

三、部署Discuz!论坛

1. 部署

1.1. Discuz!论坛概述

Discuz!论坛是基于PHP + MySQL进行开发的一套开源的论坛系统。

1.2. 下载源代码

下载地址:Discuz!/DiscuzX (码云)

1.3. 使用MobaXterm上传代码

  1. 把ComsenzDiscuz-DiscuzX-master.zip文件通过MobaXterm上传到ECS服务器的/usr/local目录

  1. 安装unzip命令并且解压缩论坛代码

#yum -y install unzip

#unzip discuz.zip

#ll

解压缩后,得到DiscuzX目录,其中upload文件夹下是真正的网站代码文件

  1. 将网站代码拷贝到/var/www/html下

# mv discuz/* /var/www/html/

# cp -vRp disczu/* /var/www/html/

2. 安装

2.1. 安装Discuz!前期准备

首先查看Discuz!源代码文件是否已经上传完成,必须完成后,才可以进行Discuz!论坛安装。

2.2. 使用服务器IP地址访问论坛

看到下面的页面表示访问成功,点击我同意

2.3. 设置目录权限

如上图所示,系统提示很多文件没有可写权限,设置如下:

#chmod -R a+w /var/www/html/

注意:以上操作是给所有文件添加一个w权限,但是生产环境尽量针对指定文件添加权限。

2.4. 安装PHP扩展

如上图所示:以上结果代表系统缺少php-mysqli扩展,安装后即可解决。

使用yum命令安装php-mysqli扩展

#yum -y install php-mysqli

重启httpd服务

#systemctl restart httpd

重新刷新网页,如下图所示:

2.5. 设置运行环境

开始安装页面已经没有任何报错,点击下一步,进入设置运行环境页面——全新安装

2.6. 设置数据库信息与管理员信息

2.7. 访问安装后的论坛

进入论坛首页,如下图所示:

到此,关于LAMP环境配置与开源Discuz!项目实战就全部搞定了!

四、通过域名访问网站(扩展)

1. 为什么需要域名

我们现在访问论坛是通过IP地址实现的,但是IP地址比较复杂,更重要的是不方便用户记忆。

2. 购买域名

  1. 登录阿里云控制台:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
  2. 登录后选择阿里云首页右上角的控制台,鼠标移动到左上角会出现如下菜单,选择域名

  1. 点击域名注册
  • 输入一个想注册的域名名称,例如itymiii
  • 加入清单,立即结算:
  • 配置域名持有者,学习环境直接选择个人即可:
  • 现在国家要求实名制,所以还要创建信息模板,点击创建信息模板
  • 点击页面右上角,创建新信息模板
  • 添加完个人信息后,回到订单页面刷新,重新选择个人,会看到自己添加的信息模板,还要认证邮箱,就是往你注册的邮箱里发一封邮件,需要登录邮箱,点击验证链接,最终完成信息登记
  • 看到如下页面:

  • 勾选:我已阅读,理解并接受,然后单击立即购买,支付

3. 域名解析

  1. 点击控制台,右侧菜单选择域名,进入域名管理页面
  • 点击解析按钮
  1. 添加A记录
  1. 点击确定,完成设置。几分钟后就可以通过域名访问刚刚搭建的网站了。

注意:由于国家要求,域名解析需要首先实名制认证,所以目前我这个域名无法实际使用,我还没有完成实名制认证

4. 域名备案

如果在国内运行项目,我们使用的域名必须要进行备案操作。

备案就是向工信部提交网站运行的相关资料,比如域名的证书、持有者的身份证号码,以及真人手持身份证照片(背景图)

由于现在监管比较严格,提交资料后,大概5-7个工作日进行审核,完全备案完成大概2周左右。

网站备案_ICP备案_备案迁移_App备案_小程序备案_备案-阿里云

如果不想进行域名备案,可以购买中国香港、中国台湾以及国外的服务器,可以免备案。但是其运行速度略慢一些。

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值