第N次重装系统之Ubtntu
前言
又一次换了服务器,由于centOS已经完成了自己的生命周期,接下来我会转去使用Ubtntu系统。
当然,大部分docker命令是不会收到影响的,但是一部分安装过程可能就要重新学习了。
其实这个系统也有自己的老牌包管理器apt,所以跟使用yum其实是很相似的。
本文是参考着本系列前文内容所作,如有不解请翻看前文。

环境配置
这一次的服务器我是选择了Ubuntu 18.04。
君匡魔改
Root密码
修改root密码的命令。
sudo passwd root新建用户
新建一个用户,用户名以keen为例,之后将他添加到sudo用户组中。
: 新增用户adduser keen: 获取sudo的权限sudo adduser keen sudo之后可以将这个用户添加到其他的用户组中,然后这个用户就能够拥有其他的权限了。
SSH链接
通过阿里云的远程连接更改root账号的密码。
用命令复制密钥实现免密码登入。
ssh-copy-id -i ~/.ssh/ali_rsa.pub root@104.168.172.40修改配置文件以防端口爆破。
: 修改/etc/ssh/sshd_configvim /etc/ssh/sshd_config防火墙UFW
系统默认安装了ufw防火墙,只是需要简单地配置和使用就可以了。当然,如果你觉得裸奔无妨完全可以跳过这一段。
查看防火墙的状态
sudo ufw statusinactive: 表示防火墙存在,但是没有开启
active: 表示防火墙存在,并且显示允许的端口号。
开启防火墙
: 开启防火墙sudo ufw enable 会出现一个提示,说这个命令可能会中断现有的ssh连接,问是否继续操作。
大家都知道SSH要想正常使用,一般是默认22端口号的。下文引用自CSDN的文章。
这里分为两种情况,如果开启防火墙时在防火墙之中检测到22端口已添加为防火墙的开放端口,那么输入y继续操作以后,当前Xshell会自动断开连接;相反,如果开启防火墙时在防火墙之中没有检测到22端口,那么输入y继续操作以后22端口将会不再支持其他连接,只支持当前已有的这个连接,保持当前连接的原因是可以通过该连接开放22端口。
这里之前没有设置过,直接输入y继续执行————————————————版权声明:本文为CSDN博主「Aaron_Run」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:blog.csdn.net/qq_36938617/article/details/95234909
管理端口
不论是开放还是个关闭,修改之后,都需要重启防火墙才能生效。
: 开放22端口sudo ufw allow 22: 关闭21端口sudo ufw delete allow 21: 重启ufw防火墙sudo ufw reload重启之后,再查看防火墙的状态。

image-20230213133747468
常用端口
80端口: 正常访问http服务
22端口: SSH的默认访问端口,为了安全建议改成其他端口
443端口: 正常访问HTTPS服务
137端口和138端口: 允许传入UDP连接
139端口和445端口: 允许传入TCP连接
安装软件
安装Docker
确保系统的内核版本高于3.10,并且之前没有安装过docker或者已经完全卸载之后,再进行安装。
建议使用管理员账号来操作。在安装过过程中会用到几个工具,为了防止安装过程中出现工具缺失导致失败,所以要提前安装。
: 登入管理员账号su root: 安装工具apt updateapt-get install -y ca-certificates curl apt-transport-https software-properties-common gpg-agent使用到的工具有以下几点。
curl: 为无用户交互下传输数据
ca-certificates: 证书的维护
apt-transport-https: 允许系统通过 HTTPS 协议安全访问存储库
software-properties-common: 管理发行版和独立软件供应商的软件源。
过程中可能会出现一个提示框,直接选yes就可以了,最后会输出完成的提示。

image-20230213171629579
接着安装证书,并写入软件源信息。
: 安装证书curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -: 写入软件源信息add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" 
image-20230213171759067
最后就可以直接安装。
: 安装社区版的命令行,服务器及容器运行时环境sudo apt-get updatesudo apt-get install -y docker-ce docker-ce-cli containerd.io
image-20230213172812487
启动并加入开机启动。
#启动systemctl start docker#开机自启sudo systemctl enable docker使用语句查看已经自启的服务,如果列表中存在即为设置成功!
systemctl list-unit-files | grep enable
image-20230212224739063
配置docker就不再赘述,前文已经有了。
安装Nginx
如果直接安装的话,那么他是只有1.14.0的版本可以选择。然而如果我们添加新的源,就可以发现安装其他较新版本了。
: 安装证书curl -fsSL http://nginx.org/keys/nginx_signing.key | sudo apt-key add -写入软件源信息有两个办法,一个是直接用命令行;另一个是手动修改文件。
: 写入软件源信息add-apt-repository "deb http://nginx.org/packages/mainline/ubuntu/ $(lsb_release -cs) nginx" # 修改文件# vim /etc/apt/sources.list# 文件末尾添加以下两行并保存# deb http://nginx.org/packages/mainline/ubuntu/ bionic nginx# deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx之后就能用apt show nginx查看到可支持的新版本了。

image-20230214150429464
最后就可以直接安装。
sudo apt updatesudo apt install -y nginx启动并加入开机启动。
#启动systemctl start nginx#开机自启sudo systemctl enable nginx翻山之旅
解决Temporary failure in name resolution DNS解析问题
在远程服务器没有办法访问网站,在ping阿里云的镜像网站时返回Temporary failure in name resolution,解决方法是编辑 /etc/systemd/resolved.conf 这个文件,新增一条内容。
DNS=8.8.8.8
image-20230214223028893
用reboot命令重启机器,
解决failed to start agent '/usr/bin/gpg-agent'
原因可能是缺少 gpg-agent 包。
apt install gpg-agent感谢
感谢现在的好奇,为了能成为更好的自己。
Ubuntu安装docker详细教程
Ubuntu系统中防火墙的使用和开放端口
相关文章:
第N次重装系统之Ubtntu
前言又一次换了服务器,由于centOS已经完成了自己的生命周期,接下来我会转去使用Ubtntu系统。当然,大部分docker命令是不会收到影响的,但是一部分安装过程可能就要重新学习了。其实这个系统也有自己的老牌包管理器apt,所…...
一个 适用 vue3 ts h5移动端 table组件
vue3-h5-table 介绍 适用于 vue3 ts 的 h5 移动端项目 table 组件 支持 左侧固定 滑动 每行点击回调 支持 指定列排序 链接 :https://github.com/duKD/vue3-h5-table 效果 props说明minTableHeight表格最小高度 可选 默认600rowNum表格显示几行 可选 默认 6he…...
Vue.js 生产打包上线实战
项目管理后台采用Vue.js 架构,开发完毕后设计到打包上传到服务器发布。 发布成功后,总结出主要要决绝两个主要问题: 1.打包前,环境设置 2.上传到服务器,直接放在Tomcat中出现跨域访问问题。 此次项目实际处理方法为…...
C语言指针的算术运算
C语言指针的算术运算 C语言中,指针是一种非常重要的数据类型。除了可以指向特定的内存地址外,指针还可以进行算术运算。指针的算术运算包括加、减、比较等操作,下面我们将详细介绍这些运算符的使用方法,并提供实际的示例。 指针…...
快速排序/快速选择算法
一.快速排序 1.基本介绍 快速排序(Quicksort〉是对冒泡排序的一种改进,都属于交换排序。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分(每次选择中轴值),中轴值左边的元素小于中轴值,中轴值右边的元素全部大于中轴值(但不要求有序)&#x…...
【数据结构初阶】单链表面试题|内含链表带环问题
目录 前言 链表面试题 1. 删除链表中等于给定值 val 的所有节点。oj链接 2.反转一个单链表。oj链接 3. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。oj链接 4. 输入一个链表,…...
一文解析ethtool 命令的使用
命令简介 ethtool命令用于查询和控制网络设备驱动程序和硬件设置,尤其是有线以太网设备,devname网卡的名称。网卡就像是交换机的一个端口,正常使用我们只是配置网卡IP地址等信息,网卡的速率、双工模式等我们并不关心。通过ethtoo…...
深度学习训练营之yolov5训练自己的数据集
深度学习训练营之训练自己的数据集原文链接环境介绍准备好数据集划分数据集运行voc_train.py遇到问题完整代码创建new_data.yaml文件模型训练时遇到的报错模型训练结果可视化参考链接原文链接 🍨 本文为🔗365天深度学习训练营 中的学习记录博客…...
Java中的AQS
文章目录什么是AQSAbstractQueuedSynchronizer方法解析自旋与阻塞ReentrantLock,Semaphore以及CountDownLatch对比ReentrantLock实现原理原理ReentrantLock源码中compareAndSetState的方法Semaphore实现原理CountDownLatch实现原理什么是AQS AQS是Java中的一个抽象…...
Spring——案例-业务层接口执行效率和AOP通知获取数据+AOP总结
执行时间获取:记录开始时间和结束时间,取差值。 这里使用环绕通知来实现。 环境准备: 项目文件结构: 业务层接口和实现类: 数据层: 采用mybatis注解开发,这里没有实现类,直接在接口方法里面实现映射。 domain层: 实现了数据库里面每一个…...
国外SEO舆情处理最佳黄金时间
在国外市场,SEO(搜索引擎优化)的舆情处理是非常重要的,因为它可以帮助提高网站的排名和流量,并且建立品牌的声誉和信誉。 然而,在什么时间进行舆情处理是一个值得探讨的问题。 在本文中,我们将…...
ROC和AUC
目录 ROC AUC ROC ROC曲线是Receiver Operating Characteristic Curve的简称,中文名为"受试者工作特征曲线"。ROC曲线的横坐标为假阳性率(False Postive Rate, FPR);纵坐标为真阳性率(True Positive Rate, TPR).FPR和TPR的计算方法分别为 F…...
Dopamine-PEG-cRGD,DOPA-PEG-cRGD,多巴胺-聚乙二醇-crgd细胞穿膜肽
名称:多巴胺-聚乙二醇-cRGD穿膜肽,多巴胺-聚乙二醇-crgd细胞穿膜肽英文名称:Dopamine-PEG-cRGD,DOPA-PEG-cRGD规格:50mg,100mg,150mg(根据要求可定制)描述:cRGD多肽序列: cyclo(RGDfK)外 观 : 半固体或固体,取决于分子量。溶解性:…...
动态规划回文子串
647. 回文子串方法:双指针回文子串有长度为奇数和偶数两种,extend(s, i, i, n); extend(s, i, i 1, n);就分别对应长度为奇数和偶数的情况class Solution { private:int extend(const string& s, int i, int j, int n) {int res 0;while (i > 0…...
windows 域控提权CVE-2014-6324CVE-2020-1472CVE-2021-42287CVE-2022-26923
一、CVE-2014-6324复现 环境:god.org域,两台主机,一台win2008域控,另一台web服务器win2008 工具:ms14-068.exe(漏洞exp) mimikatz psexec 利用条件: 1.域用户账号密码 2.获得一台主机权限(本地administ…...
1、JDK 安装 Java环境变量配置
jdk下载(Java8) (下载时间不同,小版本号会有变化,不影响后续安装) 官网下载地址:https://www.oracle.com/java/technologies/downloads/#java8-windows 下载完后安装 JDK 环境变量配置 Win…...
[c++]list模拟实现
目录 前言: 学习类的方式: 1 类成员变量 1.1 list成员变量 1.2 结点结构体变量 1.3 迭代器成员变量 2 默认函数——构造 2.1 结点结构体构造函数 2.2 list构造函数 2.3 迭代器构造函数 3 迭代器实现 3.1 list部分 3.2 迭代器结构体部分 3.2…...
实用的仓库管理软件有哪些,盘点2023年5大仓库管理软件!
对于做批发生意的老板或工厂老板来说,选择一款实用的仓库管理软件是至关重要的。仓库管理软件除了可以帮你降低仓库管理成本,提高经营管理的效率,还能够在手机上随时随地掌控仓库员工和商品的最新信息,与客户、供应商的订单情况能…...
(八十二)透彻研究通过explain命令得到的SQL执行计划(1)
今天我们正式进入研究explain命令得到的SQL执行计划的内容了,只要把explain分析得到的SQL执行计划都研究透彻,完全能看懂,知道每个执行计划在底层是怎么执行的,那么后面学习SQL语句的调优就非常容易了。 首先,我们现在…...
【Linux】旋转锁 | 读写锁
在之前的线程学习中,用到的锁都是挂起等待锁,如果申请不到锁,那就会在锁中等待; 自旋锁则不大相似 文章目录1.自旋锁1.1 概念1.2 接口1.2.1 pthread_spin_init/destroy1.2.2 pthread_spin_lock1.2.3 pthread_spin_unlock2.读写锁…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
