CentOS系统部署怎么操作_CentOS系统快速部署指南

CentOS部署需先选择版本与安装模式,推荐生产环境使用AlmaLinux或Rocky Linux,优先采用最小化安装以提升安全性和性能;接着通过手动分区(建议包含/boot、swap、/、/var等)并启用LVM增强灵活性,配置网络、主机名及用户权限,设置强密码并创建带sudo权限的普通用户;安装后立即更新系统,启用防火墙并开放必要端口,合理配置SELinux策略,加固SSH服务(禁用root登录、使用密钥认证、更改默认端口),安装常用工具如vim、wget、curl,并同步系统时间与时区;遇到网络问题时检查网卡状态、配置文件及防火墙规则,磁盘问题则通过df、fdisk、fsck等命令诊断处理,启动故障可借助GRUB救援模式修复GRUB、修正fstab或重置SELinux标签,全程依赖日志分析定位根源。

centos系统部署怎么操作_centos系统快速部署指南

CentOS系统部署,说白了就是把这个开源的服务器操作系统,从无到有地安装到你的硬件或虚拟机上,并进行一系列基础配置,让它能够稳定、安全地跑起来,为后续的应用部署打下坚实的基础。这不仅仅是按部就班地点击下一步,更像是一场对系统环境的“精装修”,每一步都关乎未来的稳定性和性能。

CentOS系统的部署,其实可以看作一个循序渐进的过程,从准备到安装,再到安装后的加固和优化。我个人在处理这类任务时,总是倾向于从最基础、最核心的部分着手,确保地基稳固。

首先,你需要一个CentOS的安装介质。通常我们会从官网下载ISO镜像文件。我一般会选择Minimal ISO,因为它只包含了最基本的系统组件,部署后系统会非常“干净”,减少了不必要的服务和软件包,这对于服务器环境来说是极好的,因为它能降低潜在的安全风险,也能节省资源。当然,如果你是桌面用户或者需要图形界面,也可以选择带GUI的版本,但服务器上,我真的不推荐。

有了ISO文件,接下来就是制作启动盘或者在虚拟机里挂载。物理机的话,用Rufus或者Etcher把ISO烧录到U盘;虚拟机就直接挂载ISO文件。

启动安装程序后,你会看到一个图形化的安装界面(Anaconda Installer)。

语言选择: 一般我会选择英文,虽然中文界面看起来更亲切,但在排查问题或者查找资料时,英文的错误信息和文档会更通用。键盘布局: 默认即可,或者根据你的键盘选择。安装源: 如果是本地ISO,选择Local Media就行。软件选择: 这里是关键。我强烈推荐选择“Minimal Install”(最小安装),然后取消勾选所有额外的软件包组。这样做的好处是系统会非常精简,只包含最核心的组件。后续需要什么服务,比如Web服务器(Nginx/Apache)、数据库(MySQL/PostgreSQL),或者开发工具,再通过

yum

dnf

命令手动安装,这样可以更好地控制系统。安装目的地(磁盘分区): 这是我每次部署都会特别留意的部分。自动分区: 如果你对分区不熟悉,或者只是测试环境,自动分区是个省心的选择。但它可能会创建一个巨大的

/home

分区,而

/

分区可能不够大,未来升级或安装软件时可能会遇到空间问题。手动分区: 我更倾向于手动分区。通常我会创建几个主要分区:

/boot

:200MB-500MB,用于存放启动相关文件。

swap

:交换分区,大小一般是物理内存的1-2倍,或者根据实际负载来定。现在服务器内存普遍很大,如果内存充足,可以适当减小,或者不设。

/

:根分区,这是最重要的。我会给它预留足够的空间,比如50GB-100GB,甚至更多,具体看你的应用需求。

/var

:如果日志量很大,或者有数据库等会产生大量数据的服务,我会单独分一个

/var

分区,避免日志撑爆根分区。

/home

:如果不是多用户环境,或者用户数据不多,可以不单独分,或者只分很小一部分。LVM(逻辑卷管理): 对于生产环境,我几乎都会选择LVM。它的好处是灵活,未来可以方便地扩展分区大小,而不需要重新分区。网络和主机名: 启用网络适配器,配置IP地址(DHCP或静态IP),设置主机名。确保网络连接是通畅的,这是后续操作的基础。如果这里配置错了,安装完会非常麻烦。Root密码: 设置一个强密码。用户创建: 创建一个普通用户,并赋予sudo权限。日常操作尽量使用普通用户,避免直接使用root用户,这是基本的安全实践。

配置完成后,就可以开始安装了。安装过程可能需要一些时间,取决于你的硬件性能和选择的软件包数量。安装完成后,系统会提示你重启。

重启后,你就进入了一个全新的CentOS系统。

CentOS版本选择与安装模式:如何根据需求优化部署?

选择合适的CentOS版本和安装模式,这往往是部署前的第一个“哲学问题”。对于一个服务器管理员来说,这不仅仅是版本号的差异,更关乎系统的稳定性、安全性、生命周期以及资源消耗。我个人在做选择时,会非常注重“目的性”。

关于CentOS版本:过去,我们有CentOS 7、CentOS 8等稳定版本。但现在,CentOS项目已经转向了CentOS Stream。CentOS Stream可以理解为RHEL的上游开发分支,它介于Fedora和RHEL之间,更新会更频繁,也意味着可能会引入一些新的特性和潜在的不稳定性。

如果你追求极致的稳定性,且不介意较旧的软件包版本: 那么继续使用CentOS 7(直到其生命周期结束)或者考虑转向RHEL(需要订阅)或其兼容发行版如AlmaLinux、Rocky Linux会是更好的选择。这些发行版旨在提供与RHEL二进制兼容的稳定性。如果你希望尝试较新的技术,不介意更快的更新周期,或者作为开发/测试环境: CentOS Stream是一个不错的选择。它能让你提前接触到RHEL未来的特性,但需要你对系统更新保持更高的关注度。

我个人在生产环境部署时,目前更倾向于AlmaLinux或Rocky Linux,它们提供了与RHEL相同的稳定性承诺,且更新策略更可预测。CentOS Stream我更多用在个人测试或者非关键业务的开发环境中。

关于安装模式(软件选择):这块我在前面也提到了,但值得再次强调。Anaconda安装器提供了多种“软件选择”,比如“带GUI的服务器”、“开发工作站”、“最小安装”等等。

最小安装(Minimal Install): 这是我几乎所有服务器部署的首选。它只安装了系统运行最核心的组件,没有图形界面,没有多余的服务。优点: 资源占用极低(内存、磁盘空间),攻击面小(因为服务少),启动速度快。缺点: 初始状态下功能非常有限,很多常用的工具都需要手动安装。优化策略: 部署后,根据实际需求,通过

yum install

dnf install

精确安装所需软件包。例如,如果你需要Web服务器,就安装

nginx

httpd

;需要数据库,就安装

mariadb-server

postgresql-server

。这种“按需安装”的方式,能最大限度地保持系统精简和高效。带GUI的服务器(Server with GUI): 顾名思义,它会安装一个图形桌面环境。优点: 对于习惯图形界面操作的用户来说更友好。缺点: 资源消耗大,启动慢,增加了不必要的服务和潜在的安全风险。适用场景: 极少用于生产服务器,更多用于桌面工作站或需要图形界面进行某些特定操作的测试服务器。

我的经验是,对于任何需要长期稳定运行的服务器,从“最小安装”开始,然后逐步添加组件,这是最稳妥、最经济、也最安全的部署策略。它可能需要你多敲几行命令,但换来的是一个更健壮、更可控的系统。

CentOS部署后安全加固与基础配置有哪些关键步骤?

系统安装完成,重启进入系统,这只是万里长征的第一步。一个“裸奔”的CentOS系统,就像一扇敞开的门,等着别人来“做客”。所以,部署后的安全加固和基础配置至关重要,这是我每次都必须认真对待的环节。

更新系统:这是最基本也是最重要的一步。新安装的系统,其软件包版本往往不是最新的,可能存在已知的安全漏洞。

sudo dnf update -ysudo reboot # 如果内核有更新,建议重启

dnf

是CentOS 8及更高版本(包括Stream)的包管理器,CentOS 7及以前版本用

yum

。更新后重启,确保所有更新都生效,特别是内核更新。

配置防火墙(Firewalld):CentOS默认使用

firewalld

作为防火墙。它默认是开启的,但你需要根据自己的需求开放必要的端口。

查看防火墙状态:

sudo firewall-cmd --state

查看已开放的服务/端口:

sudo firewall-cmd --list-all

开放SSH端口(默认22):

sudo firewall-cmd --zone=public --add-service=ssh --permanent

开放HTTP/HTTPS端口:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

重新加载防火墙规则:

sudo firewall-cmd --reload

记住,只开放你需要的端口,多余的端口就让它紧闭着。

SELinux(安全增强型Linux):SELinux提供了一层额外的安全保护,它强制执行访问控制策略。默认情况下,SELinux通常处于

enforcing

模式。

查看SELinux状态:

sestatus

临时设置为宽容模式(Permissive):

sudo setenforce 0

(不会在重启后生效)永久设置为宽容模式或禁用: 编辑

/etc/selinux/config

文件,将

SELINUX=enforcing

改为

SELINUX=permissive

SELINUX=disabled

# 示例:将SELINUX设置为permissivesudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config# 然后重启系统才能生效

我个人建议在生产环境保持

enforcing

模式,但对于不熟悉SELinux的用户,在部署初期可能会遇到一些权限问题。可以先设置为

permissive

模式,观察日志(

/var/log/audit/audit.log

),根据日志调整SELinux策略,或者在确保理解其影响后再设置为

enforcing

SSH服务安全加固:SSH是远程管理服务器的主要方式,也是攻击者最常尝试突破的地方。

禁用Root用户SSH登录: 编辑

/etc/ssh/sshd_config

文件,找到

PermitRootLogin yes

,改为

PermitRootLogin no

使用密钥对登录代替密码: 这是最推荐的方式。生成SSH密钥对(

ssh-keygen

),将公钥上传到服务器的

~/.ssh/authorized_keys

文件。然后,在

sshd_config

中找到

PasswordAuthentication yes

,改为

PasswordAuthentication no

更改SSH默认端口(可选):

Port 22

改为一个不常用的端口,比如

Port 2222

。这虽然不能阻止有针对性的攻击,但可以减少大量自动化扫描。重启SSH服务:

sudo systemctl restart sshd

安装常用工具:最小化安装的系统,很多常用工具都没有。

sudo dnf install -y vim wget curl net-tools git # 根据需要安装

vim

是编辑器,

wget

curl

是下载工具,

net-tools

包含

ifconfig

等网络命令,

git

是版本控制工具。

配置时区和NTP服务:确保系统时间准确非常重要,特别是对于日志记录和证书验证。

设置时区:

sudo timedatectl set-timezone Asia/Shanghai

(根据你所在的地区设置)启用NTP服务:

sudo timedatectl set-ntp true

这些步骤是基础中的基础,它们共同构建了一个相对安全、稳定的CentOS运行环境。跳过任何一步,都可能为未来的问题埋下隐患。

CentOS部署中常见的网络、磁盘与启动问题如何诊断与解决?

在CentOS部署过程中,网络、磁盘和启动问题是最常遇到的“拦路虎”。这些问题往往会让你寸步难行,但只要掌握了基本的诊断方法,解决起来也并非难事。我个人在解决这类问题时,总是遵循“先看日志,再查状态,最后尝试修复”的原则。

1. 网络问题诊断与解决:网络不通是部署后最让人头疼的问题之一,因为很多后续操作都依赖网络。

症状: 无法ping通外部IP,无法上网,SSH无法连接。诊断:检查网卡状态: 使用

ip a

(或

ifconfig

,如果安装了

net-tools

)查看网卡是否识别,是否有IP地址。如果网卡显示

DOWN

,可能需要手动激活。检查网络配置文件: 对于CentOS 7/8,网络配置文件通常在

/etc/sysconfig/network-scripts/

目录下,例如

ifcfg-eth0

ifcfg-enp0s3

。检查

ONBOOT=yes

是否设置,IP地址、网关、DNS是否配置正确。检查网络服务状态:

sudo systemctl status NetworkManager

sudo systemctl status network

(取决于你使用的是NetworkManager还是旧的network服务)。检查路由表:

ip r

route -n

,看是否有默认路由。检查DNS解析:

cat /etc/resolv.conf

查看DNS服务器地址,然后尝试

ping google.com

dig google.com

检查防火墙: 确认

firewalld

没有阻止你的连接。

sudo firewall-cmd --list-all

解决:激活网卡:

sudo nmcli device connect eth0

sudo ifup eth0

修改配置文件: 编辑

/etc/sysconfig/network-scripts/ifcfg-enp0s3

(文件名可能不同),确保

ONBOOT=yes

,并正确配置IP、GATEWAY、DNS。修改后重启网络服务:

sudo systemctl restart NetworkManager

sudo systemctl restart network

添加/修改路由:

sudo ip route add default via 

修改DNS: 编辑

/etc/resolv.conf

,添加或修改

nameserver

调整防火墙规则: 根据需要开放端口。

2. 磁盘问题诊断与解决:磁盘空间不足、分区错误或文件系统损坏,都可能导致系统不稳定甚至无法启动。

症状: 系统报错磁盘空间不足,无法创建文件,文件系统只读,或者分区无法挂载。诊断:查看磁盘使用情况:

df -h

可以查看各分区的使用率。查看磁盘分区表:

sudo fdisk -l

sudo lsblk

可以查看物理磁盘和分区信息。检查文件系统:

sudo fsck /dev/sda1

(替换为你的分区名)可以检查文件系统错误。查看挂载点:

cat /etc/fstab

检查文件系统挂载配置。解决:清理磁盘空间: 查找大文件(

sudo du -sh /*

),清理日志文件(

/var/log

),卸载不用的软件包。调整分区: 如果使用了LVM,可以相对容易地扩展逻辑卷。非LVM分区调整则复杂得多,可能需要备份数据并重新分区。修复文件系统: 在卸载分区后运行

fsck

命令。对于根分区,可能需要进入救援模式(Rescue Mode)进行修复。修改

/etc/fstab

确保分区挂载配置正确,特别是UUID或设备名。

3. 启动问题诊断与解决:系统无法启动,通常是最令人绝望的,因为你连登录都做不到。

症状: 开机卡在某个界面,显示错误信息,进入grub命令行,或者直接黑屏。诊断:观察启动信息: 系统在启动时会显示很多信息,留意有没有

FAILED

ERROR

字样。进入GRUB菜单: 开机时按

Shift

键或

Esc

键进入GRUB菜单,尝试选择不同的内核版本启动,或者进入救援模式(Rescue Mode)。救援模式: 这是解决启动问题的利器。在GRUB菜单中选择救援模式,或者使用安装ISO启动,选择“Troubleshooting -> Rescue a CentOS system”。进入救援模式后,系统会将你的根分区挂载到

/mnt/sysimage

,你可以在此环境下修复问题。查看日志: 在救援模式下,可以查看

/mnt/sysimage/var/log/messages

/mnt/sysimage/var/log/boot.log

等日志文件。解决:修复GRUB: 如果GRUB损坏,可以使用救援模式,然后

chroot /mnt/sysimage

,再运行

grub2-install /dev/sda

(替换为你的硬盘)和

grub2-mkconfig -o /boot/grub2/grub.cfg

修复

/etc/fstab

如果

fstab

配置错误导致启动失败,在救援模式下编辑它,注释掉有问题的行,或者修正UUID/设备名。检查内核参数: 在GRUB菜单中,编辑启动项,查看内核参数是否正确。重置SELinux标签: 如果SELinux策略混乱导致启动问题,在救援模式下

chroot /mnt/sysimage

,然后创建空文件

/forceautorelabel

,重启系统让SELinux重新打标签。

解决这些问题,很多时候需要耐心和细致。日志文件是你的好朋友,它们记录了系统运行的点点滴滴,往往能提供解决问题的关键线索。而救援模式,则是你在系统崩溃时的“救命稻草”。

以上就是CentOS系统部署怎么操作_CentOS系统快速部署指南的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/192633.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
vivo手机投屏电视设置方法
上一篇 2025年11月1日 13:55:09
曝已有数十家门店获得尊界销售授权 授权门槛极高
下一篇 2025年11月1日 13:55:16

相关推荐

  • 修复Django电商项目中AJAX过滤产品列表图片不显示问题

    在Django电商项目中,当使用AJAX动态加载过滤后的产品列表时,常遇到图片无法正常显示的问题。这通常是由于前端模板中图片加载方式(如data-setbg属性结合JavaScript库)与AJAX动态内容更新机制不兼容所致。解决方案是直接在AJAX返回的HTML中使用标准的标签来渲染图片,确保浏览…

    2026年5月10日
    000
  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • Matplotlib 地图中多类型图例的创建与优化

    Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化

    本教程旨在解决matplotlib地图可视化中,如何在一个图例中同时展示颜色块(如区域分类)和自定义标记(如特定兴趣点)的问题。文章详细介绍了当传统`patch`对象无法正确显示标记时,如何利用`matplotlib.lines.line2d`创建标记图例句柄,并将其与颜色块图例句柄合并,从而生成一…

    2026年5月10日 用户投稿
    100
  • Golang JSON序列化:控制敏感字段暴露的最佳实践

    本教程探讨golang中如何高效控制结构体字段在json序列化时的可见性。当需要将包含敏感信息的结构体数组转换为json响应时,通过利用`encoding/json`包提供的结构体标签,特别是`json:”-“`,可以轻松实现对特定字段的忽略,从而避免敏感数据泄露,确保api…

    2026年5月10日
    000
  • 怎么在PHP代码中实现图片上传功能_PHP图片上传功能实现与安全处理教程

    首先创建含enctype的HTML表单,再用PHP接收文件,检查目录、移动临时文件,验证类型与大小,生成唯一文件名,并调整php.ini限制以确保上传成功。 如果您尝试在PHP项目中添加图片上传功能,但服务器无法正确接收或保存文件,则可能是由于表单配置、文件处理逻辑或安全限制的问题。以下是实现该功能…

    2026年5月10日
    100
  • 比特币新手教程 比特币交易平台有哪些

    比特币是一种去中心化的数字货币,基于区块链技术实现点对点交易,具有匿名性、有限发行和不可篡改等特点;新手可通过交易所购买,P2P交易获得比特币,常用平台包括Binance、OKX和Huobi;交易流程包括注册账户、实名认证、绑定支付方式、充值法币并下单购买,可选择市价单或限价单;比特币存储方式有交易…

    2026年5月10日
    000
  • Golang gRPC流式请求异常处理

    在Golang的gRPC流式通信中,必须通过context.Context处理异常。应监听上下文取消或超时,及时释放资源,设置合理超时,避免连接长时间挂起,并在goroutine中通过context控制生命周期。 在使用 Golang 和 gRPC 实现流式通信时,异常处理是确保服务健壮性的关键部分…

    2026年5月10日
    000
  • Go语言mgo查询构建:深入理解bson.M与日期范围查询的正确实践

    本文旨在解决go语言mgo库中构建复杂查询时,特别是涉及嵌套`bson.m`和日期范围筛选的常见错误。我们将深入剖析`bson.m`的类型特性,解释为何直接索引`interface{}`会导致“invalid operation”错误,并提供一种推荐的、结构清晰的代码重构方案,以确保查询条件能够正确…

    2026年5月10日
    100
  • vscode上怎么运行html_vscode上运行html步骤【指南】

    首先保存文件为.html格式,再通过浏览器或Live Server插件打开预览;推荐安装Live Server实现本地服务器运行与实时刷新,提升开发体验。 在 VS Code 上运行 HTML 文件并不需要复杂的配置,只需几个简单步骤即可预览页面效果。VS Code 本身是一个代码编辑器,不直接运行…

    2026年5月10日
    100
  • 修复点击时按钮抖动:CSS垂直对齐实践

    本文探讨了在Web开发中,交互式按钮(如播放/暂停按钮)在点击时发生意外垂直位移的问题。通过分析CSS样式变化对元素布局的影响,我们发现这是由于按钮不同状态下的边框样式和内边距改变,以及默认的垂直对齐行为共同作用所致。核心解决方案是利用CSS的vertical-align属性,将其设置为middle…

    2026年5月10日
    100
  • Golang goroutine与channel调试技巧

    使用go run -race检测数据竞争,结合runtime.NumGoroutine监控协程数量,通过pprof分析阻塞调用栈,利用select超时避免永久阻塞,有效排查goroutine泄漏、死锁和数据竞争问题。 Go语言的goroutine和channel是并发编程的核心,但它们也带来了调试上…

    2026年5月10日
    000
  • 《魔兽世界》将于6月11日开启国服回归技术测试

    《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试

    《%ign%ignore_a_1%re_a_1%》官方宣布,将于6月11日开启国服回归技术测试,时间为7天,并称可以在6月内正式开服,玩家们可以访问官网下载战网客户端并预下载“巫妖王之怒”客户端,技术测试详情见下图。 WordAi WordAI是一个AI驱动的内容重写平台 53 查看详情 以上就是《…

    2026年5月10日 用户投稿
    200
  • 使用 Jupyter Notebook 进行探索性数据分析

    Jupyter Notebook通过单元格实现代码与Markdown结合,支持数据导入(pandas)、清洗(fillna)、探索(matplotlib/seaborn可视化)、统计分析(describe/corr)和特征工程,便于记录与分享分析过程。 Jupyter Notebook 是进行探索性…

    2026年5月10日
    000
  • 如何在HTML中插入表单元素_HTML表单控件与输入类型使用指南

    HTML表单通过标签构建,包含action和method属性定义数据提交目标与方式,常用input类型如text、password、email等适配不同输入需求,配合label、required、placeholder提升可用性,结合textarea、select、button等控件实现完整交互,是…

    2026年5月10日
    100
  • 创建指定大小并填充特定数据的Golang文件教程

    本文将介绍如何使用Golang创建一个指定大小的文件,并用特定数据填充它。我们将使用 `os` 包提供的函数来创建和截断文件,从而实现快速生成大文件的目的。示例代码展示了如何创建一个10MB的文件,并将其填充为全零数据。掌握这些方法,可以方便地在例如日志系统或磁盘队列等场景中,预先创建测试文件或初始…

    2026年5月10日
    000
  • Python命令怎样使用profile分析脚本性能 Python命令性能分析的基础教程

    使用Python的cProfile模块分析脚本性能最直接的方式是通过命令行执行python -m cProfile your_script.py,它会输出每个函数的调用次数、总耗时、累积耗时等关键指标,帮助定位性能瓶颈;为进一步分析,可将结果保存为文件python -m cProfile -o ou…

    2026年5月10日
    000
  • c++如何实现UDP通信_c++基于UDP的网络通信示例

    UDP通信基于套接字实现,适用于实时性要求高的场景。1. 流程包括创建套接字、绑定地址(接收方)、发送(sendto)与接收(recvfrom)数据、关闭套接字;2. 服务端监听指定端口,接收客户端消息并回传;3. 客户端发送消息至服务端并接收响应;4. 跨平台需处理Winsock初始化与库链接,编…

    2026年5月10日
    100
  • 谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    使用谷歌浏览器的开发者工具截图步骤:1. 按ctrl+shift+i(windows/linux)或cmd+option+i(mac)打开开发者工具。2. 点击右上角三个点,选择”更多工具”,再选择”截图”。3. 选择截取整个页面。推荐的谷歌浏览器扩展…

    2026年5月10日 用户投稿
    100
  • Golang空接口如何应用在项目中

    空接口可用于接收任意类型值,常见于日志函数、通用数据结构、JSON动态解析及配置驱动逻辑,提升代码灵活性,但需配合类型断言确保安全,避免滥用以降低维护成本。 空接口 interface{} 在 Go 语言中是一个非常灵活的类型,它可以存储任何类型的值。虽然它牺牲了一部分类型安全,但在实际项目中合理使…

    2026年5月10日
    100
  • MySQL数据库不支持中文的解决办法

    接上一篇文章,在解决了mysql+flask环境配置问题之后,往数据库存中文字符串会报1366错误,提示不正确的字符。继而发现默认的mysql采用了latin1字符集,这种编码是不支持中文的。 如果想支持中文的话,需要设置一下mysql字符集。 众所周知utf-8是可以的,gbk也没问题,为了可扩展…

    用户投稿 2026年5月10日
    000

发表回复

登录后才能评论
关注微信