什么是公网ip

  1. 局域网:

    也叫内网IP地址

  2. 公网IP地址:

    (public ip) 是指通过服务提供商(ISP)(移动、电信、联通)分配给用户的ip地址,通过公网ip可以被全球任何设备访问到。

什么是IP地址

ip地址是互联网设备的标识 = 人类的身份证,一台互联网设备可以有多个IP地址。

域名

例如:https://www.baidu.com/

协议://主机名.域名

域名 约等于 公网ip地址的外号

域名如何变为IP

使用DNS服务器可以把域名解析成ip地址

DNS篡改攻击

是一种通过修改DNS设置,将用户域名转换成控制的恶意IP地址的一种方式。

防火墙

防火墙在云服务厂家叫安全组

Linux操作系统

什么是Linux操作系统?

是一个基于Linux内核的一种开源操作系统,提供了进程控制、进程通信、内存管理等功能。

Windows Server和Linux的区别

LinuxWindows原因
开源闭源
更安全相比较不够安全Linux比Win有更良好的权限管理,开源社区不断更新和修复漏洞。
更稳定蓝屏

如何连接Linux?

连接Linux需要SSH协议(22端口),全称叫Secure Shell,是一种在应用层上的安全协议,为远程登陆,文件传输提供安全性。

使用支持SSH的软件就可以连接到Linux

  1. PuTTY
  2. Xshell (教学用)
  3. FinalShell
  4. MobaXterm

常用命令

/ 代表系统的根路径(最顶层目录)
~ 代表root目录 也叫主目录
d 如果以-开头代表是一个目录
- 如果以d开头代表的是一个文件
  1. pwd 显示你当前再哪个目录下

  2. exit 断开SSH连接

  3. cd 切换到指定目录( .. 返回上一级 ~进入root目录 /切换到根目录)

  4. ls -l 查看指定路径下的内容,不写查看当前

  5. ll 和ls -l 一个意思

  6. clear 清空当前屏幕

  7. touch 名字.后缀 创建一个文件

  8. mkdir 名字 创建一个文件夹

  9. rm -rf 删除文件夹

  10. mv /路径/文件名 /新路径 移动目录或文件

  11. mv 目录名 目录名 给目录重命名

  12. vim 文件名 编辑文件

    按键盘的 i 开始编辑 (INSERT)可以编辑

    按ESC 输入:wq回车 (w保存 q退出)

    :q! 强制退出不保存 (! 强制)

    :w! 强制保存 不退出

  13. less 文件名 分页查看文档

    q可以退出 j或回车 下一页 k或y 上一页

  14. tar -zxvf 文件名 -C 解压路径

如 tar -zxvf jdk-8u411-linux-x64.tar.gz -C /usr/local/java/
  1. wget 地址 下载地址

  2. 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版本)

  1. 把jdk-8u411-linux-x64.tar.gz通过XFTP上传到服务器

  2. 在 /usr/local/java 路径创建目录

  3. 回到jdk-8u411-linux-x64.tar.gz路径下

  4. 解压jdk 到第2步的目录

    tar -zxvf jdk文件 -C 解压路径
    
  5. 配置环境变量:vim /etc/profile 文件

​ 在最下面追加

export JAVA_HOME=/usr/local/java/jdk1.8.0_411
export PATH=$PATH:$JAVA_HOME/bin
  1. 刷新环境变量 source /etc/profile
  2. java -version

Linux安装MySQL (5.7版本)

1.检擦工作

  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
      
  2. 检擦依赖:

这一步需要检查系统中是否存在一些安装MySQL时需要的依赖库。因为考虑到大家有些是在虚拟机上安装的Linux系统。如果安装系统的时候用的是最小安装等原因,可能就不存在这些库。

  • 执行两个查询命令看是否存在依赖库:

    rpm -qa|grep libaio
    rpm -qa|grep net-tools
    
  • 如果不存在则需要安装:

    yum -y install libaio net-tools
    

2.准备安装包

  1. 使用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/
    
  2. 使用安装包方法

    点击进入 官网 (点击此处) 可以直接下载安装包

    下载完成后,解压,会看到很多 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

  1. 使用 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
    

    注意:

    1. 安装 server 会比较慢
    2. 如果前面第 1.3 步没检查好,在安装 mysql-community-server 会报错。

4.配置MySQl

  1. 初始化

    1. MySQL 5.7下载完后需要手动初始化:

      mysqld --initialize --user=mysql
      
    2. 查看并记住初始密码,“root@localhost:” 后面的就是初始化密码,要记下来,后面连接数据库会用到。

      cat /var/log/mysqld.log | tail -n 10
      
      image-20240517174232868
    3. 启动服务器

      systemctl start mysqld.service
      
    4. 关闭服务

      systemctl stop mysqld.service
      
    5. 查看服务状态

       systemctl status mysqld
      
    6. 重启服务

      systemctl restart mysqld
      

5.修改密码

  1. 首次登陆通过 “mysql -uroot -p” 进行登录,在 “Enter password:” 后输入初始化密码。正确输入密码后输出如下所示则表明成功连接数据库:

    image-20240422192851300

    因为初始化密码默认是过期的,必须修改新密码后才能正常使用数据库:

    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.远程访问

  1. 开放服务器的3306端口

  2. 1130错误

    1. 该错误代表账号不允许远程控制连接

    2. 进入数据库

      use mysql;	//切换数据库 
      update user set host='%' where user = 'root';	//百分号代表远程和本地都可以链接的意思
      flush privileges;	//刷新配置
      
  3. 输入以下语句查看MySQL的用户信息:

    image-20240422200427006

    • 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. 启动项目

​ 在服务器内如果关闭远程工具之后 运行的项目也会随之关闭 解决方法:

  1. 创建一个名叫start的文件夹后缀为.sh

    touch start.sh
    
    1. 编辑start文件
    nohup java -jar 项目名 \\项目将会在后台运行
    
    1. 启动项目
    sh start.sh
    

    这样关闭远程命令时就不会将线程关闭

3. 关闭项目

​ 因为使用的一直挂载如后台系统 所以需要杀掉进程后才能关闭项目

  1. 创建一个名为stop的sh文件

    touch stop.sh
    
    1. 编辑stop文件
    pkill -f 'java -jar 启动的项目名'
    
    1. 关闭项目
    sh stop.sh
    

Linux安装Nginx

1.下载安装包

  1. 访问Nginx下载官网 nginx: download

  2. 复制下载链接

  3. /root/nginx/ 内下载

    wget https://nginx.org/download/nginx-1.26.0.tar.gz
    

2.安装Nginx依赖

  1. 下载GCC库

    yum install -y gcc pcre-devel openssl-devel zlib zlib-devel
    

3.解压

  1. 创建解压目录 /usr/local/Nginx 并解压

  2. 编译文件

    ./configure --prefix=/usr/local/nginx/
    
    1. 安装
    make
    make install
    
    1. 严重状态
    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.下载

  1. Redis下载官网 Index of /releases/ (redis.io)

  2. 在服务器内的 /root/redis/ 内下载压缩包

    wget 地址
    
  3. 直接在该路径解压

    tar -zxvf 包名
    
    1. 安装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

  1. 以后台运行

    nohup redis-server &
    
  2. 带配置文件运行

    /root/redis/redis-7.2.4/redis.conf 指redis.conf 的配置文件

    nohup redis-server /root/redis/redis-7.2.4/redis.conf &
    
  3. 重启进程

    因为使用了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(访问密钥)来验证身份