Ubuntu安装nginx、redis、MySql、以及遇到的坑
1、Ubuntu安装MySql 详细过程。(缺一不可)
- 从官网下载deb包(这是我安装的版本,目前好像是最新的):
wget http://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
- 添加mysql apt源:
sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
- 更新
sudo apt-get update
- 安装
sudo apt-get install mysql-server mysql-client
- 注:在第三步安装的时候可能会遇到以下问题
W: GPG 错误:http://repo.mysql.com/apt/ubuntu bionic InRelease: 下列签名无效: EXPKEYSIG 8C718D3B5072E1F5 MySQL Release Engineering <mysql-build@oss.oracle.com>
E: 仓库 “http://repo.mysql.com/apt/ubuntu bionic InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
解决方法:执行以下两条命令,再重新进行安装。问题解决。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8C718D3B5072E1F5
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 58712A2291FA4AD5
安装过后检测是否安装成功,现实让输入密码登陆则证明装配成功了:
mysql -u root -p
如果在安装的时候没有设置密码一般会出问题,如下:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
详细解决方法>参考博客:https://blog.csdn.net/qq_41973208/article/details/89544842
2、Ubuntu安装Nginx详细过程。
- 更新本地资源
sudo apt update
- 安装nginx
sudo apt install nginx
- 测试安装、查询Nginx的版本和信息(一般问题不大,不会出什么问题)
sudo systemctl status nginx
- 也可以查看nginx的版本
sudo nginx -v
- 最后一步,查看你的nginx是否能够启动成功。
sudo systemctl start nginx
- 在本地浏览器中输入本地地址或者localhost。出现以下界面说明你的nginx已经装配成功。
3、Ubuntu安装Redis。
Redis相对于比较简单
- 更新本地资源,养成好习惯。
sudo apt-get update
- 下载安装Redis
sudo apt-get install redis-server
- 启动redis
redis-server
- 查看redis是否启动成功
redis-cli
127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。当得到以上结果,说明你的redis已经装配成功。
以上便是Ubuntu安装MySql、Nginx和Redis的全过程。虽然Ubuntu是Linux的分支,但是Ubuntu和Linux系统的安装命令都有所差异,切记不要弄混了。
顺便写一下三个东西的概念吧,就当加强记忆了:
MySql的概念与简介:
——MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
- MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
- MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
- MySQL由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
Redis的概念与简介:
——REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
Nginx的概念与简介:(此段摘自菜鸟教程)
Nginx常用功能
- 1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。
Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。 - 2、负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。上3个图,理解这三种负载均衡算法的实现Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
- 3、web缓存
Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。
4、Nginx相关地址
源码:https://trac.nginx.org/nginx/browser
官网:http://www.nginx.org/
本文是作者学习所得,所有方法都亲测有效。感谢网上分享资源的大佬们。希望我的博客能对你有所帮助。技术有限,若有错误,请指正。谢谢!