进程的优先级与LAMP项目部署实战

一、进程的优先级(扩展)

1、什么是进程的优先级

Linux是一个多用户、多任务的操作系统,系统中通常运行着非常多的进程。哪些进程先运行,哪些进程后运行,就由进程优先级来控制

思考:什么时候需要用到进程的优先级呢?

答:当CPU负载过高时,如CPU的使用率>=90%以上。这个时候进程的优先级就会起作用。

2、查看进程的优先级

PR 优先级,数值越小优先级越高。NI 优先级,数值越小优先级越高,可以人为更改。(NI = NICE = Nice)

讲个小故事:Nice值 = 0,Nice值越高,代表这个人越绅士(Nice值越高,优先级越低)

NI值有一个范围 -20 ~ 19

问题:这两个数值是在哪里看到的?

答:top命令

3、调整进程的优先级

☆ 使用top调整进程的优先级

第一步:使用top命令获取你要调整的进程信息(PID编号)

# top -bn 1
PID   COMMAND
7107 atdat命令的底层服务)

第二步:运行top命令,然后按=="r"==,输入要调整进程的PID编号


# top
r,输入要调整进程的PID编号,按回车

第三步:根据提示,重置NICE值


Renice PID 7107 to value : -5

第四步:按q退出top模式,然后使用top -p PID编号,只查询某个进程的信息


# top -p 7107

☆ 使用renice命令调整进程的优先级

基本语法:


# renice [NI优先级设置的数字] 想调整的进程ID

案例:使用renice调整atd的优先级


第一步:通过pstop命令获取atdPID编号
# ps -ef |grep atd
7107
第二步:使用renice命令调整7107NICE
# renice -10 7107
7107 (process ID) old priority 0, new priority -10

注意:NICE值取值范围-20 ~ 19,不能使用小数

☆ 使用nice命令调整进程的优先级

基本语法:


# nice [NI优先级设置的数字] 想调整的进程名称

注意:nice命令只能调整没有运行的程序

nice实际操作三步走:

第一步:将程序停止


# ps -ef |grep crond
# kill PID

# systemctl stop crond

第二步:启动并制定优先级(使用nice)


# nice -n -10 crond

nice命令包含两个功能:① 启动进程 ② 调整进程的优先级

第三步:确认优先级(查看优先级)


# ps -ef |grep crond
PID
# top -p PID

二、YUM

1、什么是YUM

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


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

难度:编译安装 > rpm安装 > yum安装(有网络 + 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

2、YUM源配置

 

 

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

-rw-r--r--. 1 root root 1991 Mar 28 2017 CentOS-Base.repo 网络yum源配置文件-rw-r--r--. 1 root root 647 Mar 28 2017 CentOS-Debuginfo.repo 内核相关的更新包-rw-r--r--. 1 root root 289 Mar 28 2017 CentOS-fasttrack.repo 快速通道-rw-r--r--. 1 root root 630 Mar 28 2017 CentOS-Media.repo 本地yum源配置文件-rw-r--r--. 1 root root 7989 Mar 28 2017 CentOS-Vault.repo 最近版本加入老本的YUM配置

扩展:在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

3、yum命令详解

☆ 搜索要安装的软件


# yum search 软件名称的关键词

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


# yum search vim

案例:搜索firefox火狐浏览器


# yum search firefox

☆ 使用yum安装软件

基本语法:


# yum install 软件名称关键词 [选项]
选项:
-y yes缩写,确认安装,不提示。

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


# yum install vim -y

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


# yum install firefox -y

☆ 使用yum卸载软件


# yum remove 软件名称关键词 [选项]
选项:
-y yes缩写,确认卸载,不提示。

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


# yum remove firefox -y

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


# yum remove httpd -y

☆ 使用yum更新软件

基本语法:


# yum update 软件名称关键词 [选项]
选项:
-y yes缩写,确认更新,不提示

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


# yum update vim -y

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


# yum update firefox -y

三、LAMP概述

1、什么是LAMP

LAMP:==L==inux + ==A==pache + ==M==ySQL + ==P==HP LAMP 架构(组合)

LNMP:Linux + Nginx + MySQL + php-fpm LNMP 架构(组合)

LNMPA:Linux + Nginx(80) + MySQL + PHP + Apache Nginx 代理方式

Apache:Apache是世界使用排名第一的Web服务器软件。

PHP:一种专门用于Web开发的编程语言。

MySQL:MySQL是一个关系型数据库管理系统,主要用于永久存储项目数据。

2、AMP三者之间的关系

 

 

Apache:用于接收用户的请求(输入网址,返回网页=>结果)

PHP:注册、登录、加入购物车、下单、支付等动态功能(有编程语言的支持)

MySQL:永久保存数据,比如你在网站上注册的用户和密码、你加入购物车的产品、你的产品订单

LAMP = Linux + APache + PHP + MySQL

使用yum安装sl小工具

安装过程:


# yum install sl -y

使用sl命令:


# sl

 

================================================================

 

typora-copy-images-to: ./media

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的人来说比较麻烦,而且还容易出错。好处在于是源码包,对于有需要自定义模块的用户来说非常方便。(就业班会着重讲解)

2、什么是yum

​ Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。

​ 基于rpm包管理,能够从指定的服务器(yum源)自动下载RPM包并且安装,可以==自动处理依赖性关系==,并且==一次安装所有依赖的软件包==,无须繁琐地一次次下载、安装。

yum配置文件位置


#cd /etc/yum.repos.d/
#ll

-rw-r--r--. 1 root root 1991 Mar 28 2017 CentOS-Base.repo 网络yum源配置文件-rw-r--r--. 1 root root 647 Mar 28 2017 CentOS-Debuginfo.repo 内核相关的更新包-rw-r--r--. 1 root root 289 Mar 28 2017 CentOS-fasttrack.repo 快速通道-rw-r--r--. 1 root root 630 Mar 28 2017 CentOS-Media.repo 本地yum源配置文件-rw-r--r--. 1 root root 7989 Mar 28 2017 CentOS-Vault.repo 最近版本加入老本的YUM配置

3、配置阿里yum源

​ 使用阿里yum源代替系统默认的yum源

备份默认源
#cd /etc/yum.repos.d/
#mv CentOS-Base.repo CentOS-Base.repo.bak

下载新CentOS-Base.repo
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
含义:使用阿里云的yum源代替默认的yum源,下载软件更快


清除所有缓存
#yum clean all

重新生成缓存
#yum makecache

http://mirrors.aliyun.com/repo/选择不同centos版本的yum源

4、yum命令

① 查询操作

语法:# yum search 关键词

 

② 安装操作

语法:# yum [-y] install 关键词

 

③ 卸载操作

语法:# yum [-y] remove 关键词

 

④ 更新操作

语法:#yum [-y] update [包的关键词]

特别注意:包的关键词如果不写,则表示更新整个系统(全局更新,也包含内核)

 

 

二、LAMP概述

1、什么是LAMP

LAMP:==L==inux + ==A==pache + ==M==ySQL + ==P==HP LAMP 架构(组合)

LNMP:Linux + Nginx + MySQL + php-fpm LNMP 架构(组合)

LNMPA:Linux + Nginx(80) + MySQL + PHP + Apache Nginx 代理方式

Apache:Apache是世界使用排名第一的Web服务器软件。

PHP:一种专门用于Web开发的编程语言。

MySQL:MySQL是一个关系型数据库管理系统,主要用于永久存储项目数据。

 

四、部署LAMP环境

1、部署前的环境准备

1)关闭防火墙和selinux


#systemctl stop firewalld

#setenforce 0
临时关闭

#getenforce
查看当前是否关闭了selinux

#vim /etc/selinux/config
编辑selinux配置文件,永久关闭

 

2)查询当前服务器是否安装Apache

使用rpm命令

 

3)查询当前服务器是否安装MySQL

使用rpm命令

 

4)查询当前服务器是否安装PHP

使用rpm命令

# rpm -qa |grep php

 

建议使用一台新装的Linux,因为卸载如果有残留,也容易给后续搭建带来未知的问题。

 

2、LAMP环境之Apache安装

① 使用yum命令安装httpd软件包

# yum install httpd -y

 

② 配置/etc/httpd/conf/httpd.conf文件

搜索ServerName,在下面添加一行:

ServerName Localhost:80


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

ServerName localhost:80

 

问题:保存退出用什么命令?

答:

 

③ 使用systemctl命令重启httpd服务,使用netstat -ntlp命令,查看是否有80端口监听

# netstat -tnlp |grep httpd

# ss -naltp |grep httpd

 

④ 设置httpd服务开机启动

# systemctl enable httpd


注意:自己的服务器在设置时,一定要管理防火墙与SELinux,避免产生异常
关闭防火墙    命令:# service iptables stop
关系SELinux  命令:# setenforce 0

 

3、LAMP环境之MySQL安装

1)下载mysql的yum源

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


# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
含义:下载mysqlyum

2)添加mysql的yum源存储库


# rpm -ivh mysql-community-release-el7-5.noarch.rpm
含义:安装mysqlyum源存储库包

 

3)安装MYSQL

# yum -y install mysql-community-server

4)启动mysql

#systemctl restart mysqld.service

#netstat -ntlp

5)初始化数据库

①初始化数据

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

# mysql_secure_installation
含义:mysql自己带的初始化程序

 

 

 

设置超级管理员root密码,注:默认为空,直接回车即可

 

 

 

 

 

 

移除匿名账户:

 

 

 

不禁用root远程连接:

不移除默认数据库(测试用例):

重新加载权限:Y

提示已完成,感谢使用MySQL

 

②把mysqld添加到开机启动

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

 

③连接,MySQL数据库


#mysql -uroot -p
含义:-u是参数,后面跟用户名,没有空格
-p表示密码
看到mysql>表示已经连接到mysql

④查看数据库

myslq> show databases;
含义:显示所有数据库
注意:命令结尾要有“;

mysql>下输入exit,退出mysql,回到#提示符

 

 

4、LAMP环境之PHP安装

① 使用yum命令安装php

#yum -y install php

#systemctl restart httpd

 

② 重启httpd服务

​ 更改php配置一定要重启httpd服务

# systemctl restart httpd

 

③ 测试LAMP环境是否可以使用

第一步:使用cd命令进入/var/www/html目录

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

第三步:编写php代码


代码示例:
#cd /var/www/html/
#vim index.php

<?php
   echo 'hello world';
?>

四、部署Discuz!论坛

1、Discuz!论坛概述

Discuz!是一套开源的社区论坛软件系统。

 

2、下载源代码

下载地址:https://gitee.com/ComsenzDiscuz/DiscuzX

 

 

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


#yum -y install unzip
# unzip discuz.zip

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

 

3)将网站代码拷贝到/var/www/html下

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

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

 

五、安装Discuz!论坛

1、安装Discuz!前期准备

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

2、使用服务器IP地址访问论坛

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

 

3、设置目录权限

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

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

重新刷新,如下图所示:

 

4、安装PHP扩展

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

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

#yum -y install php-mysqli

② 重启httpd服务

# systemctl restart httpd 

5、设置运行环境

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

6、设置数据库信息与管理员信息

 

 

设置管理员账号和密码