四、Linux 软件安装 rpm 包管理和 yum

rpm 安装和卸载软件

rpm 是linux的一种软件包名称,以.rmp结尾,安装的时候语法为:rpm -ivh,rpm包的安装有一个很大的缺点就是文件的关联性太大,有时候装一个软件要安装很多其他的软件包,很麻烦

1、挂载光盘
    1、必须把把光盘放在光驱中
    2、光驱必须放连上电脑
    3、mount dev/cdrom /media 挂载
    4、df 查看光盘是否挂载
    5、查找 httpd这个包  ls | grep httpd

2、安装:
rpm -ivh httpd-2.4.6-80.el7.centos.x86_64.rpm
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
rpm -i 需要安装的包文件名
rpm -iv 安装过程中显示正在安装的文件信息;
rpm -ivh 安装过程中显示正在安装的文件信息及安装进度;

3、卸载软件
rpm -e httpd httpd 表示要卸载的软件包

rpm -q httpd 查找 httpd

4、升级包
rpm -Uvh 软件

Yum 安装软件

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

1、yum 安装 rpm 包
    yum install -y net-tools        包括 netstat ifconfig 等命令
    yum install -y unzip zip        zip 压缩减压 
    yum install -y mlocate          updatedb
    yum install -y wget
    yum -y install psmisc           pstree | grep httpd 查看进程 pstree -p 显示进程以及子进程

2、yum 卸载 rpm 包
    yum -y remove wget

3.yum 搜索 npm 包
    搜索某个命令,在那个包里面,如:updatedb 在 mlocate包里面          
    yum search 名称

4. yum 查看 rpm 包
    yum list
    yum list | grep httpd
    yum list updates        列出所有可更新的软件包
    yum list installed      列出所有已安装的软件包

5. yum 显示 rpm 包信息
    格式:yum info package1
    yum info httpd
    yum info zip
    yum info unzip

6、yum 远程安装 Apache
    yum -y install httpd service httpd start 安装启动 apache

7、yum 本地安装 Apache RPM 包
    yum localinstall httpd-2.4.6-80.el7.centos.x86_64.rpm    

Yum 仓库设置

1、yum 的主配置文件 etc/yum.conf 
yum 的仓库配置文件 /etc/yum.repo.d/*.repo

yum 仓库就是使用 yum 命令下载软件的镜像地址
我们通常使用 yum install 命令来在线安装 linux 系统的软件, 这种方式可以自动处理依赖性关系,
并且一次安装所有依赖的软体包,但是经常会遇到从国外镜像下载速度慢,
无法下载的情况.那么此时我们就需要把我们的 yum 源改为国内的镜像,
centOs 中 yum 的配置文件在 /etc/yum.repos.d 目录下, 其中有多个配置文件,每一个配置文件中都可以配置一个或多repository
但是最终会被合并为一个交给系统,所以多个文件只是为了方便管理。

Yum 安装 Nginx:
    sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2、查看 Nginx 源是否配置成功    
    通过 yum search nginx 看看是否已经添加源成功。如果成功则执行下列命令安装 Nginx。
    或者 yum info nginx 也可以看看 nginx 源是否添加成功
3、安装 Nginx
    sudo yum install -y nginx

4、启动 Nginx 并设置开机自动运行
    sudo systemctl start nginx.service
    sudo systemctl enable nginx.service

rpm和yum区别和联系以及apt-get

yum与apt-get的相同点:
apt-get属于ubuntu、Debian的包管理工具
yum则属于Redhat、Centos包管理工具


nginx 相关配置

执行以下命令以重新启动Nginx服务:
sudo systemctl restart nginx
或者
sudo /usr/sbin/nginx -s reload

要启动 nginx 服务
sudo systemctl start nginx

停止 nginx 服务
sudo systemctl stop nginx

查看  nginx 运行状态
sudo systemctl status nginx

查看 nginx.conf 配置文件路径 和校验 配置文件语法错误
nginx -t

mysql 安装

远程安装源:
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

本机上存放源的目录:
etc yum.repos.d/

打开这个文件 那项 enabled=1 表示安装这个版本 
mysql-community.repo

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql


安装MySQL
yum -y install mysql-server

启动mysql
systemctl start mysqld

重启MySQL
systemctl restart mysqld

设置成开机启动
systemctl enable mysqld

查看mysql 的运行状态
systemctl status mysqld


修改 mysql 密码	
    1、查看mysql默认安装以后的密码
    mysql 安装完成之后,在/var/log/mysqld.log 文件中给 root 生成了一个默认密码。通过下面的方式找到 root 默认密码,
    然后登录 mysql 进行修改
    直接执行这个命令可以直接查看密码
    grep 'temporary password' /var/log/mysqld.log

    2、mysql -u root -p  回车后 输入密码 AsUgo48A97&c

    3、 修改密码   ALTER USER 'root'@'localhost' IDENTIFIED BY 'myPassword';
        或者       set password for 'root'@'localhost'=password('myPassword');

    注意:mysql5.7 默认安装了密码安全检查插件(validate_password),
    默认密码检查策略 要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于 8 位。
    否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误,


配置 MySQL 服密码策略

修改密码策略 在/etc/my.cnf 文件添加 validate_password_policy 配置,指定密码策略

选择 0(LOW),1(MEDIUM),2(STRONG)其中一种, 选择 2 需要提供密码字典文件
validate_password_policy=0
如果不需要密码策略,添加 my.cnf 文件中添加如下配置禁用即可:
最后添一行如下配置:
validate_password = off

修改生效需要重启
systemctl restart mysqld



添加 mysql 远程登录用户
    默认只能本机能够连接
修改 mysql 数据库的 user表 root数据 对应的  host 字段值 修改为 %;
mysql -u root -p 
mysql> use mysql; 
mysql> update user set host = '%' where user = 'root'; 
mysql> select host, user from user;


配置防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新载入: firewall-cmd --reload

查看所有打开的端口: firewall-cmd --zone=public --list-ports

修改完成后就可使用远程工具连接


配置默认编码为 utf8
修改/etc/my.cnf 配置文件,在[mysqld]下添加编码配置,
如下所示: [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'
重启:systemctl restart mysqld

服务器安装 nodejs 环境

两种安装 node方式 源代码安装 和 二进制包安装
一般直接使用二进制包 安装
下载地址 https://nodejs.org/zh-cn/download/

找到  Linux 二进制文件 (x64) 右侧的 64-bit 按钮 右键 复制连接地址	

直接使用 wget 命令下载
先安装 wget 包 : sudo yum install -y wget
下载 wget https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-x64.tar.xz

解压成tar包
xz -d node-v16.13.1-linux-x64.tar.xz

再解压tar包
tar -xvf node-v8.9.1-linux-x64.tar.xz

再进入到这个解压后的目录
cd node-v16.13.1-linux-x64 / bin 目录
./node -v  就可以查看到版本号了

现在node 还不是一个全局的命令

打开这个文件末尾添加这两行代码,路径就是ndoe 包解压的代码路径
vi /etc/profile

export NODE_HOME=/home/installNode/node-v16.13.1-linux-x64/bin
export PATH=$NODE_HOME:$PATH
使用 source 命令重新执行刚才修改过的文件;
source /etc/profile

现在就可以全局执行 node -v 命令了
至此,Nodejs 的安装已经顺利完成,我们可以在服务器上对 Nodejs 为所欲为了!

nodejs 进程管理器 pm2 的使用

PM2 是一款非常优秀的 Node 进程管理工具,它有着丰富的特性:
能够充分利用多核 CPU 且能够负载均衡、能够帮助应用在崩溃后、指定时间(cluster model)和超出最大内存限制 等情况下实现自动重启。 
PM2 是开源的基于 Nodejs 的进程管理器,包括守护进程,监控,日志的一整套完整的功能

PM2 的主要特性:

1、内建负载均衡(使用 Node cluster 集群模块) 
2、后台运行 
3、0 秒停机重载,我理解大概意思是维护升级的时候不需要停机. 
4、具有 Ubuntu 和 CentOS 的启动脚本 
5、停止不稳定的进程(避免无限循环) 
6、控制台检测

安装:
npm install pm2 -g

指定运行的程序和名称 (test为名称自行取一个名称)
pm2 start app.js --name test
显示所有进程状态
pm2 list

显示所有进程状态
pm2 logs
显示一个进程的日志
pm2 logs test

关闭重启所有进程
pm2 stop all       停止所有进程
pm2 restart all    重启所有进程
pm2 reload all     0 秒停机重载进程 (用于 NETWORKED 进程)

关闭重启指定进程
pm2 stop test 
pm2 restart test

杀死进程
pm2 delete 0       杀死指定的进程 
pm2 delete all     杀死全部进程 
pm2 delete test    杀死指定名字的进程

显示相应进程/应用的总体信息
pm2 show test

posted @ 2021-10-31 19:22  kgwei  阅读(292)  评论(0编辑  收藏  举报