NGINX 和 Apache 仍然是互联网上两个最主要的网络服务器——这是有充分理由的。两者都经过了实战考验,高度可配置,能够轻松服务复杂的、高流量的网站。对于任何管理基于 Linux 的服务器的系统管理员来说,最重要的概念之一是理解这些网络服务器如何通过 sites-available 和 sites-enabled 目录结构处理网站配置。 无论您运行单个网站还是在 VPS Hosting 计划上管理数十个虚拟主机,掌握这个配置模型将使您能够精确控制哪些站点处于活动状态、哪些处于暂存状态,以及如何分配服务器资源。 本指南提供了关于如何在 Linux 系统上使用 NGINX 和 Apache 启用、禁用和管理网站的全面、分步的演练。 理解 sites-available 和 sites-enabled NGINX 和 Apache 都使用两个目录模型来将站点配置与站点激活分开。这种架构模式在简洁性上是优雅的,在实践中也非常强大。 sites-available /etc/nginx/sites-available/ 或 /etc/apache2/sites-available/ 目录充当所有可能的站点配置的库。您打算在服务器上托管的每个网站都会在此处获得自己的配置文件。至关重要的是,此目录中的文件不活跃——它们定义配置但不提供任何流量,直到明确启用。 sites-enabled /etc/nginx/sites-enabled/ 或 /etc/apache2/sites-enabled/ 目录包含符号链接,指向 sites-available 中的配置文件。只有在此目录中具有活跃符号链接的站点才会被网络服务器加载并提供给访问者。 这种分离提供了几个关键优势: 非破坏性禁用:您可以停用站点而不删除其配置。 快速部署:暂存新站点就像创建符号链接一样简单。 清晰的组织:所有配置都存在于一个地方,无论它们是否处于活动状态。 使用 Apache 管理网站 1. Apache 虚拟主机配置 Apache 使用虚拟主机从单个服务器实例提供多个网站。每个网站都有自己的配置文件,告诉 Apache 如何处理该域的传入请求——包括文档根目录、日志路径、服务器别名等。 […]
在Linux系统上监控开放和监听端口是维护服务器安全、诊断网络问题和有效管理基础设施的最关键实践之一。通过定期审计哪些端口是开放的以及哪些服务绑定到它们,您可以主动识别未授权的访问尝试、检测配置错误,并在它们成为严重漏洞之前消除不必要的攻击面。 无论您是在VPS Hosting计划上运行高流量应用程序,还是管理一群裸机,理解Linux服务器的网络暴露都是不可协商的。本指南提供了一份全面、技术准确的演练,说明如何使用netstat和ss——Linux上两个最广泛使用的命令行端口检查工具——以及补充工具和现实世界的最佳实践。 目录 理解端口及其类型 使用netstat检查端口 使用ss检查端口 比较netstat与ss 检查开放端口的其他工具 开放端口管理的安全最佳实践 结论 1. 理解端口及其类型 {#understanding-ports} 在深入研究工具本身之前,建立对端口是什么、如何分类以及为什么监控它们很重要的清晰理解是很重要的。 什么是网络端口? 网络端口是与主机上特定进程或服务相关联的逻辑通信端点。端口允许具有一个IP地址的单个服务器同时运行多个网络服务——例如,Web服务器在端口80上、SSH守护程序在端口22上和数据库在端口3306上。 端口类别 范围 类别 描述 0–1023 众所周知的端口 为标准系统服务保留(HTTP、SSH、FTP等) 1024–49151 已注册端口 由应用程序和中间件使用(MySQL、PostgreSQL等) 49152–65535 动态/临时端口 为出站客户端连接临时分配 您会遇到的端口状态 LISTEN — 端口是开放的,服务正在主动等待传入连接。 ESTABLISHED — 两个端点之间存在活动连接。 TIME_WAIT — 连接正在关闭;系统正在等待以确保远程端收到最终确认。 CLOSE_WAIT — 远程端已关闭连接;本地应用程序还没有关闭其一侧。 传输协议 TCP(传输控制协议):面向连接、可靠、具有错误检查和保证的传递。由HTTP、HTTPS、SSH、FTP和大多数应用层协议使用。 UDP(用户数据报协议):无连接、更快,但没有传递保证。由DNS、NTP、DHCP和流媒体服务使用。 2. 使用netstat检查端口 {#netstat} 什么是netstat? netstat(网络统计)是一个经典的命令行实用程序,显示活动网络连接、路由表、接口统计和监听端口。虽然它在现代Linux发行版上已被正式弃用,取而代之以ss,但netstat仍然广泛部署——特别是在遗留系统和管理员深熟其语法的环境中。 安装netstat netstat是net-tools包的一部分,在许多现代发行版上不再默认安装。按如下方式安装它: Debian / […]
Kali Linux 是用于渗透测试、道德黑客和网络安全研究的行业标准 Linux 发行版。无论您是经验丰富的安全专业人士还是刚开始进入攻防安全领域,在 VirtualBox 中运行 Kali Linux 是构建功能完整的实验室环境的最聪明、最安全的方式之一——无需双启动,无需专用硬件。 在本综合指南中,您将学习如何下载、配置和在 VirtualBox 上安装 Kali Linux,包括如何使用 Guest Additions 优化虚拟机以获得更流畅、更高效的工作流程。 为什么在 VirtualBox 中运行 Kali Linux? 在深入安装步骤之前,值得理解为什么虚拟化环境通常是安全专业人士的首选: 隔离:您的主机操作系统受到保护,不会受到在 VM 中运行的潜在危险工具或漏洞的影响。 快照:您可以在任何时刻保存 VM 的状态,如果出现问题可以立即回滚。 可移植性:虚拟机可以导出、共享和部署到不同的硬件上。 成本效益:无需专门的物理机器用于安全测试。 如果您需要超越本地虚拟化,需要一个远程可访问的、始终在线的环境,请考虑 VPS 托管解决方案——非常适合在云中运行持久的 Kali Linux 实例。 前置条件 在开始之前,请确保您具备以下条件: 运行 Windows、macOS 或 Linux 的主机 至少 8GB RAM(至少 4GB 分配给 VM) 至少 50GB 可用磁盘空间 稳定的互联网连接以下载所需文件 […]
网络是任何Linux系统最基本的方面之一。无论您是在管理生产服务器、启动虚拟机还是配置桌面环境,正确设置网络设置对于连接性、安全性和性能至关重要。在Ubuntu 16.04中,网络由ifupdown实用程序处理,该程序从/etc/network/interfaces文件读取其配置——这是一种直接但强大的网络管理方法。 本指南将引导您完成在Ubuntu 16.04上配置网络所需的每一步,从打开配置文件到验证实时连接。无论您在本地计算机上还是在VPS托管计划上运行Ubuntu,这些说明都直接适用于您的环境。 前置条件 在开始之前,请确保您拥有: 一个运行中的Ubuntu 16.04系统(物理、虚拟或基于云) 对计算机的Sudo或root访问权限 对Linux终端的基本熟悉 您的网络详细信息已准备好:所需的IP地址、子网掩码、网关和DNS服务器 了解Ubuntu 16.04如何管理网络 与使用Netplan(在Ubuntu 17.10中引入)的较新Ubuntu版本不同,Ubuntu 16.04依赖于经典的ifupdown框架。主要配置文件是: /etc/network/interfaces 此文件定义每个网络接口在启动时以及手动启动或关闭时的行为方式。它支持DHCP(自动IP分配)和静态IP配置,使其适用于广泛的用例——从家庭实验室到企业服务器。 步骤1:识别您的网络接口名称 在编辑任何配置之前,您需要知道网络接口的确切名称。Ubuntu 16.04可能使用传统名称如eth0或较新的可预测名称如enp0s3,具体取决于您的硬件和系统配置。 运行以下命令列出所有可用的网络接口: ip link show 示例输出: 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP link/ether 08:00:27:xx:xx:xx brd ff:ff:ff:ff:ff:ff 在此示例中,活动接口是enp0s3。记下您的接口名称——您将在整个指南中需要它。 或者,您可以使用: ifconfig […]
SQL(结构化查询语言)是与关系数据库交互的通用标准。无论您使用 MySQL、PostgreSQL 还是 SQLite,掌握 SQL 命令是开发人员、数据分析师、系统管理员以及任何管理数据驱动应用程序的人员必不可少的技能。在本综合指南中,我们将引导您了解每个初学者必须知道的最基本的 SQL 命令 — 包括语法解释、实际示例和最佳实践。 如果您正在寻找一个可靠的环境来练习和部署基于 SQL 的应用程序,AlexHost 的 VPS 托管 提供强大的高性能基础设施和完整的 root 访问权限,非常适合运行 MySQL、PostgreSQL 和其他关系数据库系统。 什么是 SQL 以及为什么它很重要? SQL 是互联网上几乎所有数据驱动应用程序的支柱。从电子商务平台和内容管理系统到企业分析仪表板,关系数据库为数据层提供支持 — SQL 是您用来与它们通信的语言。 理解 SQL 命令允许您: 创建和构建数据库模式 精确地插入、更新和删除记录 查询和检索您需要的确切数据 维护和优化数据库以获得性能和可靠性 现在,让我们深入了解您需要开始使用的核心 SQL 命令。 1. SELECT — 从数据库检索数据 SELECT 语句可能是最常用的 SQL 命令。它允许您从数据库表中的一列或多列检索数据。 语法 SELECT column1, column2 FROM table_name; 要检索表中的所有列,请使用通配符 *: […]
Debian 是有史以来最具影响力、应用最广泛且最受尊敬的 Linux 发行版之一。Debian 以其坚如磐石的稳定性、企业级安全性和庞大的软件包存储库而闻名,已成为无数其他发行版的基础——包括 Ubuntu、Linux Mint 和 Raspberry Pi OS——并继续为全球数百万台服务器、桌面计算机和嵌入式系统提供支持。 在这份综合指南中,我们将涵盖您需要了解的关于 Debian 的所有内容:其历史、架构、主要功能、发布分支,以及 2024 年及以后谁应该使用它。 Debian 的简要历史 Debian 首次发布于 1993 年 8 月 16 日,由 Ian Murdock 宣布,他以自己和当时的女友 Debra 的名字命名了该项目。从一开始,目标就很宏大:构建一个完全自由、由社区驱动的操作系统,严格遵守开源原则——一个将透明开发并由志愿者而非公司维护的系统。 这一创始理念从未动摇。如今,Debian 由全球数千名志愿开发者和贡献者组成的社区维护,使其成为历史上最大、最持久的协作软件项目之一。它保持完全独立,由 Debian 宪法管理,并由 Debian 自由软件指南 (DFSG) 和 Debian 社会契约指导。 这种对自由、透明和社区治理的承诺是 Debian 在三十多年来保持相关性和信任的核心原因。 Debian 有什么不同?关键功能解析 1. 无与伦比的稳定性 Debian 的 Stable 分支在 Linux 世界中以其可靠性而闻名。在任何软件包进入 Stable […]
有效管理DNS区域是任何系统管理员或网站所有者的基础技能。每个DNS区域的核心是一条关键记录,它定义了整个区域的运作方式——SOA记录。无论您是在排查DNS传播问题、配置新域名还是审计基础设施,理解SOA记录都是必不可少的。 本指南准确解释了什么是SOA记录,分解了它的每个组件,并向您展示了如何使用命令行工具和在线实用程序检查和验证SOA记录。 什么是SOA记录? SOA代表权限起点。SOA记录是一种DNS(域名系统)资源记录,包含有关DNS区域的权威管理信息。每个DNS区域必须恰好有一条SOA记录——根据DNS规范(RFC 1035),这是强制性的。 将SOA记录视为您DNS区域的”身份证”。它告诉其他DNS服务器谁负责该区域、区域数据处于什么版本,以及辅助名称服务器应如何处理区域传输和缓存。 如果没有正确配置的SOA记录,您的域DNS区域将无法正常运行,这可能导致解析失败、电子邮件传递问题和网站可用性下降。 SOA记录结构:分解每个字段 SOA记录包含多个不同的字段,每个字段都有特定的用途。以下是SOA记录在区域文件中的典型显示方式: example.com. 86400 IN SOA ns1.example.com. admin.example.com. ( 2024010101 ; Serial Number 3600 ; Refresh 900 ; Retry 604800 ; Expire 300 ; Minimum TTL ) 让我们详细检查每个组件: 1. 主名称服务器(MNAME) 此字段标识区域的主(主控)DNS服务器——该区域内所有DNS记录的权威真实来源。辅助(从属)DNS服务器在区域传输期间从此服务器拉取区域数据。 示例: ns1.example.com. 2. 负责方电子邮件(RNAME) 此字段存储DNS区域管理员的电子邮件地址,但格式特殊:@符号被替换为点(.)。 示例: admin.example.com.转换为admin@example.com > 重要:如果电子邮件地址的本地部分包含点(例如john.doe@example.com),必须在SOA记录中转义为john.doe.example.com.。 3. 序列号 序列号是DNS区域的版本标识符。每次修改区域内的任何记录时,必须增加此数字。辅助DNS服务器在刷新间隔期间将其本地序列号与主服务器的序列号进行比较——如果主服务器的数字更高,辅助服务器会启动区域传输以同步。 常见格式: YYYYMMDDNN(年、月、日、修订号) 示例: 2024010101 = […]
SSL/TLS 错误是网站可能面临的最具破坏性的问题之一。单个证书警告就足以让访问者逃离——这是有原因的。这些浏览器警报表明用户和服务器之间的加密连接无法验证,使敏感数据面临风险。无论您是遇到令人沮丧的警告页面的普通互联网用户,还是看着跳出率飙升的网站所有者,了解 SSL 安全错误都是必不可少的。 本综合指南涵盖了每种主要 SSL 错误类型、其根本原因以及修复所需的确切步骤——从用户和服务器管理员的角度。 什么是 SSL/TLS,为什么它很重要? SSL(安全套接字层)及其现代继任者 TLS(传输层安全)是加密网络浏览器和网络服务器之间传输的数据的密码协议。当网站使用 HTTPS 时,意味着已部署 SSL/TLS 证书,对服务器身份进行身份验证并保护传输中的数据。 当证书出现问题时——它过期、配置错误或浏览器无法验证它——连接被标记为不安全。Chrome、Firefox、Edge 和 Safari 等浏览器会显示突出的警告页面,以保护用户免受潜在的中间人攻击或欺诈网站的侵害。 对于网站所有者来说,这些错误不仅会损害用户信任——它们会损害 SEO 排名、降低转化率,并可能表明需要立即关注的更深层基础设施问题。 最常见的 SSL 安全错误解释 1. NET::ERR_CERT_COMMON_NAME_INVALID 它的含义:SSL 证书的通用名称 (CN) 或主题备用名称 (SAN) 中列出的域名与浏览器尝试访问的域名不匹配。 常见原因: 为 www.example.com 颁发的证书,但通过 example.com 访问网站(反之亦然) 不覆盖根域的通配符证书(*.example.com) 来自不同域的证书意外应用于服务器 Apache 或 Nginx 上配置错误的虚拟主机 2. SSL 证书已过期(NET::ERR_CERT_DATE_INVALID) 它的含义:每个 SSL 证书都有一个有效期——Let’s Encrypt 通常为 90 天,商业证书最多为 […]
管理用户账户是任何Linux系统管理员最基本的职责之一。无论您是在停用旧员工账户、清理测试用户,还是在VPS Hosting环境中加强安全性,了解如何在Ubuntu中正确删除用户是您不能忽视的基本技能。 在这份全面的指南中,我们将引导您了解在Linux Ubuntu中删除用户的所有可用方法——从命令行到图形界面——以及最佳实践、常见陷阱和验证步骤,以确保您的系统保持清洁和安全。 为什么正确的用户管理很重要 在深入了解命令之前,值得理解为什么用户管理如此关键。Linux系统上的每个活跃用户账户都代表一个潜在的攻击面。未使用或孤立的账户——尤其是那些具有sudo权限的账户——可能被恶意行为者利用来获得未授权访问。 如果您运行的是生产服务器,这一点尤为重要。无论您是为业务应用程序管理专用服务器还是共享环境,保持用户列表的清洁和最新是不可协商的安全实践。 需要删除Linux用户的常见场景包括: 员工离开组织 承包商的项目已结束 不再需要测试或临时账户 您正在合并多个用户账户 需要立即删除被破坏的账户 前置条件 在删除任何用户账户之前,请确保您拥有: Ubuntu系统上的Root或sudo访问权限 打开并准备好的终端窗口 确认您打算删除的用户名(仔细检查以避免错误) 备份用户主目录中的任何重要数据(如果需要) > ⚠️ 警告:删除用户是不可逆的。在继续之前,始终备份关键文件,尤其是在使用-r标志删除主目录时。 第1步:打开终端 首先,在您的Ubuntu系统上打开终端窗口。您可以通过以下方式之一执行此操作: 在键盘上按Ctrl + Alt + T 在Ubuntu应用菜单中搜索“Terminal” 右键单击桌面并选择“Open Terminal”(如果启用) 如果您正在管理远程服务器,请通过SSH连接: ssh username@your-server-ip 连接后,您就可以继续了。 第2步:检查用户是否存在 在尝试删除用户之前,最好确认该账户确实存在于系统上。运行以下命令: id john 或直接在passwd文件中搜索: grep john /etc/passwd 如果用户存在,您将看到包含其UID、GID和主目录的输出。如果没有返回任何内容,则该用户不存在于系统上。 您也可以使用以下命令列出所有非系统用户: awk -F: '$3 >= 1000 {print $1}' /etc/passwd 第3步:使用userdel删除用户 […]
管理搜索引擎如何抓取和索引您的网站是技术SEO的基础方面。您可以使用的最强大且经常被误解的工具之一是robots.txt文件。无论您是想阻止敏感目录、防止重复内容出现在搜索结果中,还是限制对暂存环境的访问,robots.txt都能让您对爬虫行为进行精确、细粒度的控制。 在这份全面指南中,我们将带您了解使用robots.txt禁用索引所需的一切知识:从访问和创建文件、编写正确的语法、测试规则到避免常见陷阱。 什么是robots.txt及其为什么重要? robots.txt文件是放置在您网站根目录中的纯文本文件。它遵循机器人排除协议(REP)——一项标准,用于指示搜索引擎爬虫(也称为机器人或蜘蛛)允许或禁止访问哪些页面、目录或文件。 当Google等搜索引擎访问您的网站时,首先要做的就是检查位于https://yourwebsite.com/robots.txt的robots.txt文件。如果文件存在,机器人会读取指令并相应地调整其爬取行为。 为什么正确的robots.txt配置对SEO很重要 爬取预算优化:搜索引擎为每个网站分配有限的爬取预算。阻止无关页面(管理面板、登录页面、内部搜索结果)可确保爬虫将时间花在真正重要的内容上。 防止重复内容:阻止基于参数的URL或会话ID可防止搜索引擎索引几乎相同的页面。 保护敏感内容:管理区域、暂存环境和私有文件不应出现在搜索结果中。 提高网站性能:减少不必要的爬取请求可以降低服务器负载。 > 重要区别:robots.txt*阻止*爬虫访问页面——它不能保证它们不会被索引。要完全防止页面出现在搜索结果中,您还应该使用noindex元标签或HTTP标头。robots.txt和noindex配合使用效果最佳。 如果您在VPS主机计划或独立服务器上托管您的网站,您可以通过SSH或您喜欢的文件管理器直接访问根目录来管理robots.txt文件——让您完全控制网站的爬取行为。 第1步:访问或创建您的robots.txt文件 robots.txt文件必须位于您网站的根目录中——而不是在子目录中。您可以通过访问以下地址来验证是否已存在: https://yourwebsite.com/robots.txt 如果文件存在,您将看到其内容以纯文本形式显示。如果您收到404错误,则需要创建一个。 通过不同方法访问robots.txt 通过SSH(Linux服务器): nano /var/www/html/robots.txt 通过FTP/SFTP客户端(例如FileZilla): 导航到您网站的根目录(通常是public_html或www)并打开或创建robots.txt。 通过cPanel文件管理器: 如果您的主机计划包含控制面板,请登录cPanel,打开文件管理器,导航到public_html,并在浏览器中直接创建或编辑robots.txt。使用带cPanel的VPS的用户可以通过直观的cPanel界面轻松管理此文件。 通过本地文本编辑器: 创建新文件,将其命名为robots.txt(小写,无空格),编写您的指令,并将其上传到根目录。 > 关键规则:文件必须命名为robots.txt——全小写——并放置在您域名的根目录,而不是任何子目录中。 第2步:理解robots.txt语法 robots.txt文件使用简单的基于指令的语法。每个规则块至少包含两行: 核心指令 指令 用途 User-agent 指定规则适用于哪个爬虫 Disallow 指定爬虫不能访问的路径 Allow 明确允许访问路径(覆盖Disallow) Sitemap 指向爬虫您的XML网站地图位置 Crawl-delay 建议请求之间的延迟(Googlebot不支持) User-agent值 * — 将规则应用于所有爬虫 Googlebot — 仅应用于Google的主爬虫 Bingbot — 仅应用于Microsoft Bing的爬虫 […]

