当前位置: 首页 > article >正文

Linux10-9

iptables扩展匹配:

tcp扩展:

  • -p:执行协议(tcp、udp、icmp)
  • -p  tcp  --sport:指定源端口
  • -p  tcp  --dport:指定目的端口
  • -p  tcp  --tcp-flags   列表1   列表2:列表1指定要检查的状态标志位,列表2指定列表1中必须为1,如果列表1中有,但是列表2中没有,这个标志位是0

案例:禁止别人访问主机的22号端口

iptables  -t  filter  -A  INPUT  -p  tcp  --dport  22  -j  DROP

案例:将源IP地址为1.2.3.4的IP,三次握手的第一次数据包丢弃

iptables  -t  filter  -A  INPUT  -s  1.2.3.4  -p  tcp  --tcp-flags  syn,ack,fin  syn  -j  DROP

icmp扩展:

例子:将所有的源IP地址的数据包发送的ping包放行

iptables  -t  filter  -A  INPUT  -p  icmp   -j  ACCEPT

ping命令使用的是icmp协议

格式:-p  icmp

-p  icmp  --icmp-type  num

  • 8:ping的请求包类型
  • 0:ping的响应包类型

案例:禁止让外部主机ping虚拟机,但是虚拟机可以ping外部主机

方法一:iptables  -t  filter  -A  INPUT  -p  icmp  --icmp-type  8  -j  DROP

方法二:iptables  -t  filter  -A  OUTPUT  -p  icmp  --icmp-type  0  -j  DROP

LNMP

L:Linux

N:nginx

M:mysql

P:php

  • 静态资源

可以直接通过浏览器展示给客户端的都是静态资源

例如:html文件、图片文件、js文件

  • 动态资源

无法直接展示给客户端,必须先执行程序,然后将执行结果展示给客户端

例如:shell文件、php文件、pythen文件

在处理客户端请求的时候,不同的软件可以处理不同的请求

nginx/apache        只可以处理对应的静态请求

php可以处理php的资源

数据库

储存数据

建议:

关闭防火墙

关闭selinux

systemctl  stop  iptables

systemctl  stop  firewalld

setenforce  0

lsof命令

lsof  -i  :80        查看80端口是哪个程序在运行

ss

显示网络的连接状态

ss  -tnl        查看IP地址监听的端口

-t:表示显示tcp连接

-u:udp

-n:表示不进行域名解析

-l:显示处于监听状态

web节点:

  • web节点:安装nginx------安装依赖

yum  install  gcc  gcc-c++  zlib-devel  pcre-devel  openssl-devel  lsof  wget  -y

  • 下载nginx软件包

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

  • 解压目录

tar  -xvf   nginx-1.22.1.tar.gz

cd  nginx-1.22.1

mkdir  -p  /usr/local/nginx

./configure  --prefix=/usr/local/nginx  &&  make  &&  make  install

  • 启动nginx

安装目录/usr/local/nginx

lsof  -i  :80

  • 测试访问

在浏览器中输出IP

php节点

  • 安装php

yum  install  php-fpm  php  php-mysql  php-gd  -y

  • 修改php的配置文件

/etc/php-fpm.d/www.conf

listen = 127.0.0.1:9000        设置php服务的监听地址

listen.allowed_clients = 127.0.0.1        设置允许哪个客户端发送请求过来

  • 启动php

systemctl  start  php-fpm

lsof  -i  :9000

ss  -tnl  | grep  9000

systemctl  status  php-fpm

再修改nginx的配置文件

安装目录/conf/nginx.conf

将前面的#去掉

location ~ \.php$ {
                root                         /web/php;           找个php存储路径(自定义需要存在该目录)
                fastcgi_pass           127.0.0.1:9000;     php的IP地址
                fastcgi_index           index.php;
                fastcgi_param         SCRIPT_FILENAME    $document_root$fastcgi_script_name;
                include                    fastcgi_params;
        }
配置php服务器
#创建目录   /web/php
[root@php ~]# mkdir  /web/php  -p
#在目录中创建php文件
[root@php ~]# cd /web/php/
[root@php php]# vim a.php
<?php
phpinfo();
?>

 测试

访问该文件

安装MySQL

yum  install  mysql  mariadb-server  -y

启动

systemctl  start  mariadb

docker的安装

容器技术

容器其实就是虚拟机,每个虚拟机可以运行不同系统

为什么要使用docker?

  • docker容器之间的相互隔离,可以提高安全性

安装配置 docker

  • 第一步:确保系统的软件包是最新的:

apt  update

  • 第二步:安装一些必要的软件包以允许apt通过HTTPS使用存储库
apt install apt-transport-https ca-certificates curl gnupg-agent software- properties-common
作用:HTTPS确保在下载软件包时,数据在传输过程中是加密的,防止中间人攻击
  • 第三步:添加docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
密钥在软件安装过程中主要用于确保软件的真实性和完整性(验证软件包确实来源的提供,确保没有被篡改过或者来自不可信的来源)
  • 第四步:添加docker存储库
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable"
为了获取更多的软件
  • 第五步:安装docker

apt  install  docker-ce  docker-ce-cli  containerd.io

docker-ce:docker的社区版

docker-ce-cli:是docker社区版的命令行界面工具

containerd.io:容器管理:负责启动、停止、暂停和恢复,以及资源分配、镜像管理等

  • 第六步:验证安装

docker  version                查看docker的版本信息

操作:

查看运行或查看已停止运行的容器

docker  ps

docker  ps  -a

下载镜像:

docker  pull  镜像名:版本

案例:下载 centos7的镜像

docker  pull  centos:7

查看现有镜像

docker  images

删除现有镜像

方法一:docker  rmi  镜像id

方法二:docker  image  rm  镜像id

启动容器

docker  run

  • -t:指定一个终端,如果没有终端,是无法登录这个容器的
  • -i:交互式访问,需要就用这个选项
  • --name  string:指定这个容器的名字
  • --rm:当容器停止的时候,自动删除容器
  • -d:让当前容器运行在后台
  • -P:暴露的端口号,将容器端口和宿主机的任意端口进行端口映射
  • -p:宿主机的端口:可以将宿主机的指定端口和容器的端口进行映射

案例:创建centos的系统

docker  run  -tid  --name  al  -P  605c77e624dd

再次进入

docker  exec  -it  1dfe3546051e  /bin/bash

退出容器

ctrl+p+q

exit

停止容器

docker  stop  容器id/名称

删除容器

docker  rm  容器id/名称        需要先停止

查看内存使用情况

方法一:cat  /proc/meminfo

方法二:free命令

查看cpu的使用情况

top命令


http://www.kler.cn/a/350362.html

相关文章:

  • STM32单片机:GPIO模式
  • 题解 CodeForces 1037D Valid BFS? 三种解法 C++
  • ARCGIS国土超级工具集1.3更新说明
  • 【计算机视觉】人脸识别
  • 从 Spark 到 StarRocks:实现58同城湖仓一体架构的高效转型
  • Linux系统之kill命令的基本使用
  • Git 深度解析 —— 从基础到进阶
  • [哈工大]战德臣 数据库系统 第3讲 关系模型之基本概念
  • 【时时三省】(C语言基础)函数介绍strcat
  • p20 docker自己commit一个镜像 p21 容器数据卷 p22mysql同步数据(国内镜像被封锁暂时往后放)p23具名挂载和匿名挂载
  • 代码随想录算法训练营第五十五天| 图论入门
  • C#源码安装ZedGraph曲线显示组件
  • flutter 使用三方/自家字体
  • 深度学习:LSTM循环神经网络实现评论情感分析
  • 【rk3229 android10 多wifi模块兼容提示bt报错问题】
  • PHP cURL 教程
  • 从零实现llama3(学习)
  • PLM预训练语言模型Pre-trained Language Model
  • 【C#生态园】从身份认证到日志记录:C#开发必备库全面解析
  • 重学SpringBoot3-集成Spring Security(二)
  • VAE(与GAN)
  • 简单谈谈Spring 中Aware是什么
  • 【优选算法】(第四十二篇)
  • 网际报文协议ICMP及ICMP重定向实例详解2
  • 静态变量、变量作用域、命名空间
  • 当代世界著名哲学家起名大师颜廷利:化学与化雪,科技与饥渴