欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > Linux10-9

Linux10-9

2025/11/28 12:23:54 来源:https://blog.csdn.net/Taurus_HanKun/article/details/142820258  浏览:    关键词: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命令

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词