当前位置:首页 > 技术 > 正文内容

Linux 服务器常用运维命令与部署实践

访客 技术 2026年9月21日 13

系统基础排查与审计

在日常运维工作中,快速定位问题往往从审计开始。我们需要记录用户的历史操作,以便后续复盘或排查故障。

# 导出当前会话的执行历史到指定日志文件
history >> ~/ops_logs/command_trace.log

对于图形化界面的系统资源监控,若桌面环境可用,可调用资源监视器;若在命令行环境下,建议使用 top 或 htop 工具替代。

# 启动 GNOME 桌面下的系统监控工具(需安装 desktop 环境)
gnome-system-monitor

定位进程查找特定文件时,相比于 find 的全盘扫描,利用建立索引的 locate 命令效率更高。

# 快速搜索配置文件路径
locate application-prod.yml

网络端口与安全策略

确认应用是否成功绑定了目标端口是验证服务启动的关键步骤。我们可以结合 grep 进行过滤查看。

# 方式一:使用 lsof 查看指定端口占用详情
sudo lsof -i :9000

# 方式二:使用 netstat 配合管道筛选活跃连接
netstat -anptu | grep 'LISTEN' | grep 9000

在基于 firewalld 的系统上,动态开放端口需要修改规则并重新加载配置以确保生效。

# 列出当前区域开放的端口列表
firewall-cmd --list-ports

# 向 public 区域永久添加 TCP 3306 访问权限
firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 重载防火墙配置使变更立即生效
firewall-cmd --reload

Web 服务管理与配置

Nginx 和 Apache 是两类主流的 Web 服务器软件,它们的控制方式略有不同。

Apache HTTP Server

现代 Ubuntu 版本通常推荐使用 systemd 来管理服务生命周期,而非传统的 init.d 脚本。

# 重启 Apache 服务
sudo systemctl restart apache2

# 实时查询服务运行状态
sudo service apache2 status

# 重载配置文件而不中断连接
sudo systemctl reload apache2

SSL 证书的配置通常位于虚拟主机配置文件中,修改后需重启或重载服务。例如编辑 Laravel 站点的配置文件以指定证书路径:

vim /etc/apache2/sites-enabled/site_laravel.conf

Nginx Web Server

Nginx 提供了更灵活的控制信号机制来管理进程。

# 直接通过二进制启动(确保权限)
/usr/local/nginx/sbin/nginx

# 优雅重载配置
nginx -s reload

# 通过系统服务停止进程
systemctl stop nginx

# 编辑主配置文件
vim /usr/local/nginx/conf/nginx.conf

中间件与数据库服务

Java 中间件 Tomcat 依赖特定的 Shell 脚本进行启停,而关系型数据库则依赖操作系统服务管理。

Tomcat 容器

# 启动 Tomcat 应用服务器
bin/startup.sh start

# 关闭服务
bin/shutdown.sh

# 调整服务端点配置
vim bin/server.xml 

MySQL 数据库

# 重置 MySQL 数据服务
sudo systemctl restart mysql

# 优化数据库内核参数
vim /etc/mysql/mysql.conf.d/mysqld.cnf

容器化编排

Docker 引擎本身也是一个需要管理的守护进程,可以通过 system 命令来控制其生命周期。

# 开启容器引擎
sudo systemctl start docker

# 暂停所有容器活动
sudo systemctl stop docker

# 刷新环境配置并重启引擎
sudo systemctl restart docker

全栈项目构建与发布流程

以下为一个典型的前后端分离项目的自动化部署脚本逻辑,包含编译、静态资源分发及后端服务拉起。

前端资源处理

# 进入源码目录安装依赖
cd /opt/project/source/web-student
npm ci

# 执行生产环境打包
npm run build

# 将生成的静态文件复制至 Web 服务器目录
cp -r dist/student /srv/www/html/
cp -r dist/admin /srv/www/html/

后端服务初始化

# Maven 项目本地构建
mvn clean package -DskipTests

# 后台运行 Java Jar 包并指定时区
nohup java -Duser.timezone=Asia/Shanghai \
  -Dspring.profiles.active=prod \
  -jar target/service-core.jar \
  > /var/log/app/start.out 2>&1 &

Web 服务最终激活

# 更新 Nginx 路由指向新的静态资源目录
nginx -s reload

# 刷新浏览器缓存即可访问最新内容

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。