ECS云服务器
什么是公网ip
-
局域网:
也叫内网IP地址
-
公网IP地址:
(public ip) 是指通过服务提供商(ISP)(移动、电信、联通)分配给用户的ip地址,通过公网ip可以被全球任何设备访问到。
什么是IP地址
ip地址是互联网设备的标识 = 人类的身份证,一台互联网设备可以有多个IP地址。
域名
协议://主机名.域名
域名 约等于 公网ip地址的外号
域名如何变为IP
使用DNS服务器可以把域名解析成ip地址
DNS篡改攻击
是一种通过修改DNS设置,将用户域名转换成控制的恶意IP地址的一种方式。
防火墙
防火墙在云服务厂家叫安全组
Linux操作系统
什么是Linux操作系统?
是一个基于Linux内核的一种开源操作系统,提供了进程控制、进程通信、内存管理等功能。
Windows Server和Linux的区别
Linux | Windows | 原因 |
---|---|---|
开源 | 闭源 | |
更安全 | 相比较不够安全 | Linux比Win有更良好的权限管理,开源社区不断更新和修复漏洞。 |
更稳定 | 蓝屏 |
如何连接Linux?
连接Linux需要SSH协议(22端口),全称叫Secure Shell,是一种在应用层上的安全协议,为远程登陆,文件传输提供安全性。
使用支持SSH的软件就可以连接到Linux
- PuTTY
- Xshell (教学用)
- FinalShell
- MobaXterm
- 等
常用命令
/ 代表系统的根路径(最顶层目录)
~ 代表root目录 也叫主目录
d 如果以-开头代表是一个目录
- 如果以d开头代表的是一个文件
-
pwd 显示你当前再哪个目录下
-
exit 断开SSH连接
-
cd 切换到指定目录( .. 返回上一级 ~进入root目录 /切换到根目录)
-
ls -l 查看指定路径下的内容,不写查看当前
-
ll 和ls -l 一个意思
-
clear 清空当前屏幕
-
touch 名字.后缀 创建一个文件
-
mkdir 名字 创建一个文件夹
-
rm -rf 删除文件夹
-
mv /路径/文件名 /新路径 移动目录或文件
-
mv 目录名 目录名 给目录重命名
-
vim 文件名 编辑文件
按键盘的 i 开始编辑 (INSERT)可以编辑
按ESC 输入:wq回车 (w保存 q退出)
:q! 强制退出不保存 (! 强制)
:w! 强制保存 不退出
-
less 文件名 分页查看文档
q可以退出 j或回车 下一页 k或y 上一页
-
tar -zxvf 文件名 -C 解压路径
如 tar -zxvf jdk-8u411-linux-x64.tar.gz -C /usr/local/java/
-
wget 地址 下载地址
-
curl工具
curl http://127.0.0.1:80 发送GET亲求 curl http://www.baidu.com 发送GET亲求 curl -x POST http://127.0.0.1:80 发送POST请求
Linux安装JDK (1.8.0_411版本)
-
把jdk-8u411-linux-x64.tar.gz通过XFTP上传到服务器
-
在 /usr/local/java 路径创建目录
-
回到jdk-8u411-linux-x64.tar.gz路径下
-
解压jdk 到第2步的目录
tar -zxvf jdk文件 -C 解压路径
-
配置环境变量:vim /etc/profile 文件
在最下面追加
export JAVA_HOME=/usr/local/java/jdk1.8.0_411
export PATH=$PATH:$JAVA_HOME/bin
- 刷新环境变量 source /etc/profile
- java -version
Linux安装MySQL (5.7版本)
1.检擦工作
-
删除已有的安装包
在安装前需要确定现在这个系统有没有 MySQL,如果有那么必须卸载。尤其是新的 CentOS 7 系统,它自带mariaDB数据库,所以需要卸载掉。
-
查找已安装的MySQL软件包:
rpm -qa|grep mysql
-
CentOS7下还需要查找是否存在mariadb包:
rpm -qa|grep mariadb
-
如果输入上述两个命令后都输出存在有包,则需要执行删除命令。
例如,前两步中终端输出了“mysql-libs-5.1.73-1.el6.x86_64”和“mariadb-libs-5.5.56-2.el7.x86_64”,则:
rpm -e --nodeps mysql-libs-5.1.73-1.el6.x86_64 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
-
-
检擦依赖:
这一步需要检查系统中是否存在一些安装MySQL时需要的依赖库。因为考虑到大家有些是在虚拟机上安装的Linux系统。如果安装系统的时候用的是最小安装等原因,可能就不存在这些库。
-
执行两个查询命令看是否存在依赖库:
rpm -qa|grep libaio rpm -qa|grep net-tools
-
如果不存在则需要安装:
yum -y install libaio net-tools
2.准备安装包
-
使用wget下载
先进入到 /root/mysql/ 目录 随后下载:
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar
下载完成后解压到 /usr/local/mysql/ 目录下
tar -xvf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql/
-
使用安装包方法
点击进入 官网 (点击此处) 可以直接下载安装包
下载完成后,解压,会看到很多 rpm 包,其中的 4 个是必要的:
mysql-community-common-5.7.16-1.el6.x86_64.rpm mysql-community-libs-5.7.16-1.el6.x86_64.rpm mysql-community-client-5.7.16-1.el6.x86_64.rpm mysql-community-server-5.7.16-1.el6.x86_64.rpm
这 4 个安装包通过 Xtfp 复制到 /usr/local/mysql/下
3.安装MySQL
-
使用 rpm 命令按顺序依次安装 4 个刚刚解压或者导入在/usr/local/mysql/的包:
rpm -ivh mysql-community-common-5.7.xx-xxx.rpm rpm -ivh mysql-community-libs-5.7.xx-xxx.rpm rpm -ivh mysql-community-client-5.7.xx-xxx.rpm rpm -ivh mysql-community-server-5.7.xx-xxx.rpm
注意:
- 安装 server 会比较慢
- 如果前面第 1.3 步没检查好,在安装 mysql-community-server 会报错。
4.配置MySQl
-
初始化
-
MySQL 5.7下载完后需要手动初始化:
mysqld --initialize --user=mysql
-
查看并记住初始密码,“root@localhost:” 后面的就是初始化密码,要记下来,后面连接数据库会用到。
cat /var/log/mysqld.log | tail -n 10
-
-
启动服务器
systemctl start mysqld.service
-
关闭服务
systemctl stop mysqld.service
-
查看服务状态
systemctl status mysqld
-
重启服务
systemctl restart mysqld
5.修改密码
- 首次登陆通过 “mysql -uroot -p” 进行登录,在 “Enter password:” 后输入初始化密码。正确输入密码后输出如下所示则表明成功连接数据库:
因为初始化密码默认是过期的,必须修改新密码后才能正常使用数据库:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
注意:密码太简单可能会报以下错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
如果想设置简单的密码,可以根据自己需要来设置以下参数:
set global validate_password_policy=LOW; // 设置密码的验证强度等级为低(LOW)
set global validate_password_length=6; // 设置密码长度为6,最小为4
6.远程访问
-
开放服务器的3306端口
-
1130错误
-
该错误代表账号不允许远程控制连接
-
进入数据库
use mysql; //切换数据库 update user set host='%' where user = 'root'; //百分号代表远程和本地都可以链接的意思 flush privileges; //刷新配置
-
-
输入以下语句查看MySQL的用户信息:
-
host:表示连接类型
- %:表示所有远程通过 TCP方式的连接
- IP地址:如 (192.168.1.2,127.0.0.1) 通过制定ip地址进行的TCP方式的连接
- 机器名:通过制定i网络中的机器名进行的TCP方式的连接
- ::1:IPv6的本地ip地址 等同于IPv4的 127.0.0.1
- localhost:本地方式通过命令行方式的连接 ,比如mysql -u xxx -p 123xxx 方式的连接。
-
user:表示用户名
同一用户通过不同方式链接的权限是不一样的。
-
authentication_string:密码
所有密码串通过password (明文字符串)生成的密文字符串。加密算法为MYSQLSHA1,不可逆。MySQL 5.7的密码保存到authentication_string字段中不再使用password字段(在5.5中使用)。
-
7.相关目录介绍
文件 | 位置 |
---|---|
客户端程序及脚本 | /usr/bin |
mysqld服务 | /usr/sbin |
配置文件 | /etc/my.cnf |
数据目录 | /var/lib/mysql |
错误日志 | /var/log/mysqld.log |
私有安全文件 | /var/lib/mysql-files |
系统初始化脚本 | /etc/init.d/mysqld |
系统服务 | mysqld |
Pid文件 | /var/run/mysql/mysqld.pid |
Socket | /var/lib/mysql.mysqld.pid |
字典目录 | /var/lib/mysql-keyring |
操作手册 | /usr/share/man |
头文件 | /usr/include/mysql |
LIB库 | /usr/lib/mysql |
共享文件 | /usr/share/mysql |
Java项目上线
1.检查Pom文件内是否包含导出maven包
没有则添加:
<!--打包配置-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--该版本与spring boot版本对应-->
<version>2.6.13</version>
<configuration>
<mainClass>com.edu.demo.DemoApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<!--maven执行时会执行pakege-->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
2.导出jar包
maven 执行package , 在target目录下有个jar包
3.在Window系统内启动jar包
java -jar 包名.jar
4.部署入服务器
### 1.将包导入服务器
将打包好的.jar文件放入服务器的*/root/project/*内
2. 启动项目
在服务器内如果关闭远程工具之后 运行的项目也会随之关闭 解决方法:
-
创建一个名叫start的文件夹后缀为.sh
touch start.sh
- 编辑start文件
nohup java -jar 项目名 \\项目将会在后台运行
- 启动项目
sh start.sh
这样关闭远程命令时就不会将线程关闭
3. 关闭项目
因为使用的一直挂载如后台系统 所以需要杀掉进程后才能关闭项目
-
创建一个名为stop的sh文件
touch stop.sh
- 编辑stop文件
pkill -f 'java -jar 启动的项目名'
- 关闭项目
sh stop.sh
Linux安装Nginx
1.下载安装包
-
访问Nginx下载官网 nginx: download
-
复制下载链接
-
在 /root/nginx/ 内下载
wget https://nginx.org/download/nginx-1.26.0.tar.gz
2.安装Nginx依赖
-
下载GCC库
yum install -y gcc pcre-devel openssl-devel zlib zlib-devel
3.解压
-
创建解压目录 /usr/local/Nginx 并解压
-
编译文件
./configure --prefix=/usr/local/nginx/
- 安装
make make install
- 严重状态
systemctl status nginx //查看当前状态 systemctl stop nginx //停止 systemctl start nginx //启动 systemctl restart nginx //重启 running //代表运行成功
Linux安装Nginx的第二种方法
sudo yum update #更新yum
sudo yum install epel-release #获取依赖
sudo yum install nginx #安装nginx
systemctl status nginx 查看当前状态
systemctl stop nginx 停止
systemctl start nginx 启动
systemctl restart nginx 重启
running 代表运行成功
和第一种比,区别是不能修改安装路径。安装的路径默认在
/etc/nginx 路径下
Linux 安装 Redis (7.2.4)
1.下载
-
Redis下载官网 Index of /releases/ (redis.io)
-
在服务器内的 /root/redis/ 内下载压缩包
wget 地址
-
直接在该路径解压
tar -zxvf 包名
- 安装Redis
make install
2.配置config文件
打开并编辑 /root/redis/redis-7.2.4/redis.conf
在 87 行附近 注释
在 1044 行附近 修改
87 => # bind 127.0.0.1 -::1
1044 => requirepass 输入密码
3.启动Redis
-
以后台运行
nohup redis-server &
-
带配置文件运行
/root/redis/redis-7.2.4/redis.conf 指redis.conf 的配置文件
nohup redis-server /root/redis/redis-7.2.4/redis.conf &
-
重启进程
因为使用了nohup后台进程 所有在结束时应该:
# 1.查看redis的进程 ps -ef | grep redis-server # 2.结束进程 kill -9 返回的6379端口的进程 # 3.以带配置文件的方法重启进程 nohup redis-server /root/redis/redis-7.2.4/redis.conf & # 4.查看是否启动成功 redis-cli ping 返回 PONG 代表成功
云产品
访问密钥
AccessKeyId 是阿里云的访问密钥Id
AccessKeySecret 是阿里云的访问密钥密码
阿里云所有产品使用SDK调用时都使用AccessKey(访问密钥)来验证身份