一、软件包管理
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序"。软件包有几种类型,我们一起来看下:
- 源码包(需要经过编译,把人所编写的源代码编译成机器语言才能运行)
- 优点
- 开源免费
- 可以自由配置功能
- 编译安装更适合自己系统,更稳定
- 卸载方便
- 缺点
- 安装过程比较复杂
- 编译过程比较长
- 安装过程一旦报错,非常难以排查
- 优点
- 二进制包(把源代码包经过编译生成0/1二进制,PRM包、系统默认的安装包)
- 优点
- 包管理系统比较简单,只要通过简单的命令就可以实现包的安装、升级、查询和卸载
- 安装速度比源码包快很多
- 缺点
- 经过编译则不能看到源代码
- 功能选择不灵活
- 依赖性比较麻烦
- 优点
- 脚本安装包(就是把复杂的安装过程写成了脚本,可以一键安装,本质上安装的还是源代码包和二进制包)
- 优点是安装简单
- 缺点是失去了自定义性
二、YUM
yum = Yellow dog Updater, Modified。主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题。yum是rpm包的在线管理命令。将所有的软件名放到官方服务器上,当进行YUM在线安装时,可以自动解决依赖性问题。yum的配置文件夹地址是:/etc/yum.repos.d/。其中,CentOS-Base.repo是rpm包的仓库,其中内容的字段释义如下:
字段 | 含义 |
---|---|
base | 容器名称,一定要放在[]中 |
name | 容器说明,可以自己随便写 |
mirrorlist | 镜像站点,可以注释掉 |
baseurl | YUM源服务器的地址,默认是CentOS官方的YUM源 |
enable | 此容器是否生效 不写或者写成enable=1表示生效,写成enable=0表示不生效 |
gpgcheck | 如果是1就是指 RPM的数字证书生效,如果是0则表示不生效 |
gpgkey | 数字证书的公钥文件保存位置,不用改 |
通过下面的代码可以使用云镜像,咱们暂时不使用:
代码语言:javascript复制mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y update //升级所有包同时也升级软件和系统内核
另外,YUM的命令如下:
命令 | 含义 |
---|---|
yum list | 查询所有可用软件包列表 |
yum search 关键字 | 搜索服务器上所有和关键字相关的包 |
yum -y install 包名 | -y 自动回答yes install安装 |
yum -y update 包名 | -y 自动回答yes update升级 |
yum -y remove 包名 | -y 自动回答yes remove 卸载,卸载有依赖性,所以尽量不要卸载 |
yum grouplist | 列出所有可用的软件组列表 |
yum groupinstall 软件组名 | 安装指定的组,组名可以用grouplist查询 |
yum groupremove 软件组名 | 卸载指定软件组 |
三、常用软件安装
1、nginx安装
比较简单,跟npm的安装几乎没有区别。
代码语言:javascript复制yum install nginx -y
#查看安装位置
whereis nginx
#打印进程,看是否有nginx
ps -ef | grep nginx
#启动nginx服务
/bin/systemctl start nginx.service
#关闭nginx服务
/bin/systemctl stop nginx.service
#访问页面
curl http://localhost
2、安装redis
安装比较简单:
代码语言:javascript复制yum install redis -y
启动服务:
代码语言:javascript复制systemctl start redis.service
systemctl stop redis.service
systemctl status redis.service
systemctl restart redis.service
3、 mongodb
前面两个都比较好安装,但是后面两个数据库会有点复杂。
因为yum里面没有mongodb的包,所以安装起来会稍微有些不一样。
先手动添加mongobd的安装源:
代码语言:javascript复制vim /etc/yum.repos.d/mongodb-org-3.4.repo
然后添加下面的源地址:
代码语言:javascript复制[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
这里可以修改 gpgcheck=0, 省去gpg验证,然后:
代码语言:javascript复制#就是把服务器的包信息下载到本地电脑缓存起来
yum makecache
然后再install即可:
代码语言:javascript复制yum -y install mongodb-org
启动服务:
代码语言:javascript复制systemctl start mongod.service
#访问服务器
mongo
systemctl stop mongod.service
systemctl status mongod.service
systemctl restart mongod.service
如果想要本地电脑,也就是你正在用的这台电脑,访问服务器的mongodb,可以通过修改配置文件:
代码语言:javascript复制whereis mongod
vi /etc/mongod.conf
然后:
把红框内的那句话注释掉即可。
这里要注意,本地也要安装mongodb才可以,由于我这里没安装,就不实践了。
远程连接:
代码语言:javascript复制systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
mongo 115.29.148.6
4、安装mysql
4.1 查看最新的安装包
- https://dev.mysql.com/downloads/repo/yum/
4.2 下载MySQL源安装包
- wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
4.3 安装源
代码语言:javascript复制yum -y install mysql57-community-release-el7-11.noarch.rpm
yum repolist enabled | grep mysql.*
4.4 安装MYSQL服务器
代码语言:javascript复制yum install mysql-server -y
4.5 启动服务器
代码语言:javascript复制systemctl start mysqld.service
systemctl stop mysqld.service
systemctl status mysqld.service
systemctl restart mysqld.service
4.6 初始化数据库密码
代码语言:javascript复制#这是日志查询
grep "password" /var/log/mysqld.log
mysql -uroot -p
#输入密码即可
这里啊,不同版本的mysql会有些区别,有的会给一个默认的密码,有的不会给密码。不给密码的直接mysql -uroot登录即可。如果给了默认密码,则查看/var/log/mysqld.log里面的密码即可。
由于mysql的版本不同,感觉更像是sql-sever的版本导致,需要在sql内运行下面的代码,重置密码后才可以进入sql:
代码语言:javascript复制ALTER USER 'root'@'localhost' IDENTIFIED BY 'abcd1#EFG';
SHOW VARIABLES LIKE 'validate_password%';
另外,可以通过exit命名,退出mysql服务。
4.7 支持远程访问
代码语言:javascript复制GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'abcd1#EFG' WITH GRANT OPTION;
FLUSH PRIVILEGES;
本地机器设置后访问。
然后通过本地sql安装地址中的命令行工具运行下面的命令即可,注意-h后的ip是你服务器的ip:
代码语言:javascript复制mysql -h115.29.148.6 -uroot -p
4.8 开机自动访问
代码语言:javascript复制systemctl enable mysqld
systemctl daemon-reload