第一章-Linux概述

1什么是Linux

为什么关闭SSH连接,程序就停止运行? 要想回答这个问题,首先需要知道在Linux系统下有这两个概念: 进程组:一个或者多个进程的集合,每一个进程组都有唯一一个进程组ID,即进程组长进程的ID。 会话期:一个或多个进程组的集合,有唯一一个会话期首进程。会话期ID为首进程的ID。 会话期可以有一个单独的控制终端。与控制终端连接的会话期首进程叫做控制进程。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。

挂断信号(SIGHUP)默认的动作是终止程序。 当终端接口检测到网络连接断开,将挂断信号发送给控制进程。 如果控制进程终止,则该信号发送到该会话期前台进程组。

结论:因此当网络断开或终端窗口关闭后,也就是SSH断开以后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出。

也就是说:当SSH连接开启的时候,bash等都会成为其进程组成员,当ssh关闭后,系统会将所有相关进程kill掉

cat /etc/redhat-release查看当前系统版本

主要文件夹

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /tmp:这个目录是用来存放一些临时文件的。

  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin: 系统用户使用的应用程序。

  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

目录管理

Linux的目录结构为树状结构,最顶级的目录为根目录 /。

绝对路径:

路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。

相对路径:

路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../man 这就是相对路径的写法啦!

接下来我们就来看几个常见的处理目录的命令吧:

  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录
  • mv: 移动文件与目录,或修改文件与目录的名称

2文件夹属性

ls -l列出所有文件和文件夹以及详细信息

image-20200424142158373

修改文件属性

1、chgrp:更改文件属组 就是上图的第二个root 就是属主

1
chgrp [-R] 属组名 文件名

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

2、chown:更改文件属主,也可以同时更改文件属组

1
2
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3、chmod:更改文件9个属性

1
chmod [-R] xyz 文件或目录 例如:chmod 770 filename

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

1
r:4     w:2         x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx—] 分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= — = 0+0+0 = 0
1
chmod 770 filename

1文件内容查看vim

Linux系统中使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行

** im文本编辑:vim xx文件img**

一般模式常用命令

输入字母 表示动作
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个档案的最后一行(常用)

** 编辑模式**

输入字母 表示动作
i, I 进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。(常用)
a, A 进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
o, O 进入输入模式(Insert mode):这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』;O 为在目前光标所在处的上一行输入新的一行!(常用)
r, R 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
[Esc] 退出编辑模式,回到一般模式中(常用)

指令行模式,输入:进入指令行模式

指令行的储存、离开等指令
:w 将编辑的数据写入硬盘档案中(常用)
:w! 若文件属性为『只读』时,强制写入该档案。
到底能不能写入, 和对该档案的档案权限有关啊!
:q 离开 vi (常用)
:q! (!在Vi中,常有强制意思) 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ 这是大写的 Z 喔!若档案没有更动,则不储存离开
若档案已经被更动过,则储存后离开!
:w [filename] 将编辑的数据储存成另一个档案(类似另存新档)

常用查看命令

cat filename顺序查看 tac filename倒叙查看 nl filename以行号顺序查看 head -n 20 /etc/csh.login 显示前20行 tail -n 20 /etc/csh.login 显示后20行

2常用命令

sync保存,将数据由内存同步到硬盘中。

shutdown –h now # 立马关机

shutdown –h 20:25 # 系统会在今天20:25关机

shutdown –h +10 # 十分钟后关机

shutdown –r now # 系统立马重启

cp 时输入 首字母然后按住Tab会自动补全

command(命令) parameter(参数) example(例子)
ls 列出目录 -a 全部文件(包含隐藏.开头的)
-l 详情列出,属性等
ls -al
cd:切换目录 cd /回到根目录
cd ..返回上一级
cd lusenlin
cd ~回到当前家目录
pwd ( 显示目前所在的目录 )
Print Working Directory
-P显示确实路径,而非连接(link) 路径。 pwd -P
mkdir (创建新目录) -m :文件权限,默认权限 (umask) 将失效
-p :(包含上级目录)递归创建目录
mkdir -p test1/test2
mkdir -m 711 test2
rmdir [-p] 删除空目录 p :连同上一级『空的』目录也一起删除 rmdir -p test1/test2
cp ( 复制文件或目录 ) -i:增加覆盖询问 cp -i /root/install.sh /home
rm ( 移除文件或目录 ) -f : force意思,忽略不存在的文件,不警告
-r :递归删除啊!最常用在目录的删除了
-i :互动模式,删除前询问使用者
rm -i install.sh
mv ( 移动文件与目录,或修改名称 ) -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
-f :force 强制的意思,若已存在,直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
mv test mvtest重命名

rz -y可选上传文件 rpm -ivh 安装文件[i引导lead li:d] touch 创建文件 tar -zxvf 解压命令 grep文本内容搜索,find文件或者目录名称等匹配搜索 ping www.baidu.com 检查网络 ifconfig -a可选 查看ip地址

3帐号管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

postname 想要的主机名 修改主机名称

image-20200424154139748

帐号CRUD

添加帐号

useradd 选项 用户名

  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -m 使用者目录如不存在则自动建立。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

useradd -m kuangshen 命令创建了一个用户kuangshen,其中-m选项用来为登录名kuangshen产生一个主目录 /home/kuangshen

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等

修改用户

usermod 选项 用户名 常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

usermod -d /home/z –g developer kuangshen 表示把用户为kuangshen的主目录改为/home/z ,用户组为developer

修改密码

useradd 用户名 创建用户

用root创建账户后

passwd [操作] 用户名 进行设置密码

  • -l 锁定口令,即禁用账号。
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。

删除用户

userdel 选项 用户名

userdel -r kuangshen 常用的选项是 -r,它的作用是把用户的主目录一起删除。

切换命令

exit退出当前用户 ctrl+d也是执行的exit命令

su 用户名 切换到xx用户

用户组

4进程管理

1、Linux中,每个程序都有一个进程,每个进程都有id。 2、每个进程都有一个父进程。 3、进程两种存在方式:前台,后台 4、一般服务都是后台运行,基本程序是前台运行。

把java程序运行时,加上nohup 表示后台执行程序

管道符|,ps -aux|grep mysql 进行过滤

命令

查看进程

ps 查看当前系统正在执行的各种进程的信息。(Process Status)

ps -xx:

  • a 显示所有进程 -a 显示同一终端下的所有程序 -A 显示所有进程
1
2
3
4
5
ps -aux 查看所有进程,u以用户信息显示进程,x显示后台运行进程的参数**
grep查找文件中符合条件的字符串**
ps -aux|grep mysql

pstree -pu   进程树 -p显示父ID,-u显示用户组
  • –version 显示版本显示

结束进程

kill -9 xx进程id 表示强制结束进程,注意加上-9

killall -u lusenlin 结束用户lusenlin的所有进程

运行进程

1
2
3
4
5
**执行:startup.sh -->启动tomcat 当连接断开,就关闭。**
**执行:shutdown.sh -->关闭tomcat**
**nohup startup.sh &   解释:做为服务后台启动 &表示后台运行**
./startup.sh 
./shutdown.sh

使用**&**后台运行程序:

  • 结果会输出到终端
  • 使用Ctrl + C发送SIGINT信号,程序免疫
  • 关闭session发送SIGHUP信号,程序关闭(就是关闭ssh连接)

使用nohup运行程序:

  • 结果默认会输出到nohup.out
  • 使用Ctrl + C发送SIGINT信号,程序关闭
  • 关闭session发送SIGHUP信号,程序免疫

平日线上经常使用nohup和&配合来启动程序

  • 同时免疫SIGINT和SIGHUP信号

5软件安装

软件安装一般有三种方式:rpm(JDK),解压缩(tomcat),yum在线安装(docker)

安装软件先查看是否安装

java -version 查看版本

有的话需要卸载 rpm -qa|grep jdk 检查JDK版本

卸载命令:rpm -e –nodeps jdkxx版本(写上面查出来的) 强制删除

安装命令:rpm -ivh jdk-8u221-linux-x64.rpm 第三个参数是rpm安装包名

配置环境变量

/etc/profile环境变量在这个路径下配置

vim /etc/profile 打开这个文件

1
2
3
4
5
6
7
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

**让新增的环境变量生效!**
source /etc/profile

把环境变量配置到最后,复制后点击鼠标右键,然后ESC退出一般模式,输入:wq保存后退出

让新增的环境变量生效:source /etc/profile

1 RPM(下载JDK)

首先去https://www.oracle.com/java/technologies/javase-downloads.html网站下载jdk-14.0.1_linux-x64_bin.rpm选择x64位,rpm安装包。

然后通过WinSCP放到home文件中

安装命令:rpm -ivh jdk-8u221-linux-x64.rpm 第三个参数是rpm安装包名

查询命令: rpm -qa|grep jdk 检查JDK版本

卸载命令:rpm -e –nodeps jdkxx版本(写上面查出来的) 强制删除

1
2
3
4
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_241-i586刚刚的路径
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.;$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar 

/usr/java/jdk1.8.0_241-i586

2tar(解压Tomcat)

先去下载apache-tomcat-9.0.34.tar.gz,然后传输到linux上,在/usr目录下解压, 解压命令==tar -zxvf apache-tomcat-9.0.22.tar.gz # 解压==

运行Tomcat,进入bin目录 cd usr/apache-tomcat-9.0.34/bin

1
2
3
4
5
# 执行:startup.sh -->启动tomcat 当连接断开,就关闭。
# 执行:shutdown.sh -->关闭tomcat
# nohup ./startup.sh &   解释:做为服务后台启动 &表示后台运行
./startup.sh 
./shutdown.sh

3yum(安装docker)

yum安装方法:==yum -y install yum源==

由于yum安装慢,所以设置yum源为阿里源

1备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2下载新的CentOS-Base.repo 到/etc/yum.repos.d/

1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3运行yum makecache生成缓存

4更新yum -y update

若有之前版本需要卸载,sudo yum remove docker \ …省略,copy官网就好。

1下载yum install -y yum-utils 安装yum工具包

2设置国内安装地址(官网是国外地址)yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3更新yum软件包索引yum makecache fast 4安装Docker CE yum -y install docker-ce docker-ce-cli containerd.io

5启动dockersystemctl start docker 6测试docker version docker run hello-world docker images

4yum(安装mysql8.0)

官网地址https://dev.mysql.com/downloads/repo/yum/

选择RHd Hat linux7,点击Download,来到新页面,右击a标签复制链接。

因为官网比较慢https://developer.aliyun.com/packageSearch去阿里云官网复制连接,发现阿里云也慢

Linux中:

1、 wget 链接 2、rpm -Uvh mysql80-community-release-el7-3.noarch.rpm 进行安装第三个参数在上一步 后面有 -Uvh:升级软件包

3、选择发行版本进行安装,默认情况下会选择要安装的最新GA版本MySQL,可以跳过这一步 骤。所有其他系列(例 如,MySQL 5.7系列)的子存储库均被禁用。 yum repolist all | grep mysql 列出所有版本,发现8.0是enbaled,若要安装5.7需要禁用8.0,启用5.7。

1
2
3
4
yum-config-manager --disable mysql80-community   #禁用8.0
若执行上述命令command not found 是因为yum-config-manager在yum-utils里,需要**
安装yum-utils  命令为:yum -y install yum-utils**
yum-config-manager --enable mysql57-community #启用5.7版本

4、安装yum install mysql-community-server 如果安装过程中提示 Is this ok [y/N] ,输入y即可

5、mysql –version安装好后查看版本

启动mysql

1
2
3
4
启动mysql服务**
sudo systemctl start mysqld.service
查看运行状态  active是活动的**
sudo systemctl status mysqld.service

登录mysql 若是上文安装,则有默认密码(也可以在宝塔面板直接设置) 查看默认密码:grep “password” /var/log/mysqld.log 可能找不到

1修改密码 在/etc/my.cnf在mysqlID下加入skip-grant-tables就可以直接root免密码登录 5.7版本修改密码,登录后use mysql 然后执行下面命令 update mysql.user set authentication_string=password(‘123456’) where user='root’; 8.0版本修改密码,百度。

2修改密码另一种方式–推荐

下载mysql.client 后才能使用下面的命令 /usr/bin/mysqladmin -u root password ‘new-password’

mysql -h localhost -u root -p ip地址可选


远程连接

1
2
3
grant all privileges on *.* to root@"%" identified by "npiHNftJXXJtPsfc";
grant all privileges on *.* to root@"localhost" identified by "npiHNftJXXJtPsfc";
flush privileges; #mysql中刷新系统权限

然后还需要开启端口号3306,可以在宝塔面板直接开启,也可以Linux手动开启。(云服务器也需要开启)

或者直接navicat使用shh+mysql账号密码

大小写敏感https://www.cnblogs.com/micro-chen/p/9165170.html

5tar安装redis

  1. 保证虚拟机处于连接互联网状态,执行 yum install gcc-c++ ,Completed !!
    
  2. 下载redis-tar.gz文件, 执行 tar –xvf redis-5.0.7.tar.gz解压
    
  3. 进入redis-5.0.7/deps/jemalloc目录执行 ./configure这个可执行文件
    
  4. 进入解压以后的目录 cd redis-5.0.7,执行make CFLAGS="-march=i686" 编译redis源码
    
  5. 进入 解压的redis-5.0.7/src目录下,执行./redis-server启动redis服务器

6重要设置

防火墙

Linux中有两种防火墙软件,ConterOS7.0以上使用的是==firewall==,ConterOS7.0以下使用的是iptables。

1
2
3
4
命令含义:
--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
firewall-cmd --state                           ##查看防火墙状态,是否是running
firewall-cmd --list-ports  									 ##列出目前开启端口
firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp               ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n                                 ##查看规则,这个命令是和iptables的相同的
man firewall-cmd                               ##查看帮助

##开启防火墙:systemctl start firewalld										
关闭防火墙:systemctl stop firewalld
#查看防火墙状态:systemctl status firewalld
设置开机启动:systemctl enable firewalld
#禁用开机启动:systemctl disable firewalld

#开放端口(需要重启防火墙可生效):firewall-cmd --zone=public --add-port=8080/tcp --permanent
#查看开放的端口:firewall-cmd --list-ports
关闭端口:firewall-cmd --zone=public --remove-port=8080/tcp --permanent

另一种==iptables防火墙==

1
2
3
#开启端口号
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 
service iptables save #进行保存

7项目发布

** Springboot项目**

用idea的package命令打包,targer目录下找到jar文件,上传到服务器中,home/xx用户。 若是SpringBoot项目,注意要先开启端口号。 java -jar 文件名 启动项目,ctrl+c关闭项目, 想要后台启动加上nohup 表示后台执行程序

SSM项目依赖Tomcat服务器+vue前后端

SSM项目直接把打包war放到Tomcat的webapps目录就好了。 然后启动Tomcat。(若有docker可以安装tomcat然后挂载一个数据卷,这样每次放到数据卷中就OK了)

Vue项目 1安装node环境 可以在下载页面https://nodejs.org/en/download/中找到下载地址。然后执行指令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
1下载**
wget https://nodejs.org/dist/v9.3.0/node-v9.3.0-linux-x64.tar.xz
2依次解压**
xz -d node-v9.3.0-linux-x64.tar.xz
tar -xf node-v9.3.0-linux-x64.tar

3先确认你nodejs的路径,我这里的路径为 目录/node-v9.3.0-linux-x64/bin。确认后依次执行**
进行关联,相当于创建快捷方式。**
ln -s /usr/node-v9.3.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/node-v9.3.0-linux-x64/bin/npm /usr/local/bin/npm

4把目录/node-v9.3.0-linux-x64/bin配置到用户环境**
cd ~	#切换到根目录
ls -a #显示所有文件,包含隐藏
vi .bash_profile #修改用户环境变量  在PATH末尾加上:/目录/node-v9.3.0-linux-x64/bin
source .bash_profile  #马上执行这个更改
5确认版本 node -v    **
6全局安装模块n 查看n模版的帮助文档n -h**
npm i -g n
7可选 安装yarn**
npm install yarn -g
ln -s 目录/node-v9.3.0-linux-x64/bin/yarn /usr/bin/yarn

让vue项目运行在nginx服务器上

用docker创建nginx服务器

1
2
3
4
5
6
docker run -d -p 9528:80   \
--name=vue-9528    \
-v /home/lsl/dist:/usr/share/nginx/html  \
-v /home/mutou/nginx/conf.vue:/etc/nginx/conf.d \
nginx

vue-cli安装,cnpm install -g vue-cli 建立软连接ln -s 目录usr/nodejs/node-v10.19.0/bin/vue /usr/local/bin/vue vue -V //查看vue的版本信息

2打包前端项目(npm run build:prod) 本地压缩后传递到linux上,unzip zipFileName 进行解压

1
2
3
4
5
6
7
安装依赖 或者yarn**
npm install
打包项目 或者yarn build **
npm run build  
打包后发现多个文件夹 dist,里面就是打包好的静态文件。**
若报错,则去查看package.json的script有没有Build命令,
应该运行:npm run build:prod -report 可视化打包,report可视化

第二章-VMware

1安装使用VMware

根据ios镜像安装系统,基本上都是根据向导。

1查看自身ip地址(注意:#是管理员root 123456,$是用户)

应用-系统工具-终端:ifconfig -a查看端口号

然后可以使用shell进行登录。(解决乱码,文件-属性-终端-编码)

第X章-云服务器

** 宝塔面板**

Bt-Panel: http://134.175.236.42:8888/baota username: lusenlin password: c9ef94cd

attribute value
公网 134.175.236.42
内网 172.16.0.5
服务器账号:root 服务器密码:Na~58*85341d
mysql账号root mysql密码:aHDJMt2ApBnKGpA4
账号:store_ssm_vue 密码:123456
账号:mysql1 密码:123456

镜像:创建云服务器的模版

image-20200424202023684

1连接服务器

下载SSH工具

Xshell试用一个月,可以下载puttys使用

puttys使用技巧,

image-20200424144353521

注意事项

  • 打开Linux端口,需要在云服务器上的安全组面板开启对应的出入规则。否则会被服务器商拦截

端口号

一个计算机最多有65535个端口,端口不能重复。

端口 服务 说明
21 FTP FTP 服务器所开放的端口,用于上传、下载。
22 SSH 22端口就是 SSH 端口,用于通过命令行模式远程连接 Linux 系统服务器。
25 SMTP SMTP 服务器所开放的端口,用于发送邮件。
80 HTTP 用于网站服务例如 IIS、Apache、Nginx 等提供对外访问。
443 HTTPS 网页浏览端口,能提供加密和通过安全端口传输的另一种 HTTP。
3306 MySQL 3306端口,是 MySQL 数据库的默认端口,用于 MySQL 对外提供服务。
8080 代理端口 8080端口同80端口,是被用于 WWW 代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上“:8080”端口号。另外 Apache Tomcat web server 安装后,默认的服务端口就是8080。

安全

先看云服务器的登录成功日志:last -n 20 ,显示20行 登录失败的日志:lastb -n 20,发现居然这么多ip在尝试登录自己的服务器

Mysql max_allowed_packet自动重置为1024,实际上我已经自行设置为2M,还是会自动重置,是因为被黑客通过域名+端口进行入侵了。 先执行sql指令:show variables like ‘%log%';

image-20200501214308687这里普通日志记录默认是OFF关闭的,将其打开。==每个人的日志存放位置不同== 直接开启:set global general_log = ON;(永久修改需要在my.cnf的【mysqld】中添加:general_log = 1)

然后等待一段时间后,进行查看,看是否有人将其修改过。

设置安全组的入站规则,允许132.57开头的ip访问 132.57.0.0/16