服务器测评网
我们一直在努力

Linux部署命令有哪些?新手必看操作指南

在Linux系统中,部署命令是系统管理员和开发人员日常工作中不可或缺的工具,它们涵盖了从软件安装、服务管理到系统配置的方方面面,熟练掌握这些命令,能够显著提高工作效率,确保系统稳定运行,以下将从软件安装、服务管理、文件传输、进程管理、系统监控及安全配置六个维度,详细介绍常用的Linux部署命令及其使用场景。

软件安装与管理

Linux系统的软件安装方式因发行版而异,主要分为基于包管理器的安装和源码编译安装两种。

基于包管理器的安装

  • Debian/Ubuntu系统:使用apt(Advanced Package Tool)系列命令。

    • 更新软件源列表:sudo apt update
    • 升级已安装的包:sudo apt upgrade
    • 安装软件包:sudo apt install package_name(如sudo apt install nginx
    • 卸载软件包:sudo apt remove package_name
    • 搜索软件包:apt search keyword
  • CentOS/RHEL系统:使用yum(Yellowdog Updater Modified)或dnf(Dandified Yum)命令(CentOS 7及以上版本推荐使用dnf)。

    • 更新软件源:sudo yum updatesudo dnf update
    • 安装软件包:sudo yum install package_namesudo dnf install package_name
    • 卸载软件包:sudo yum remove package_name
    • 查询软件包信息:yum info package_name

源码编译安装

当需要自定义软件功能或官方未提供预编译包时,可通过源码编译安装,步骤如下:

  1. 下载源码包:wget https://example.com/source.tar.gz
  2. 解压:tar -zxvf source.tar.gz
  3. 进入目录:cd source_directory
  4. 配置编译选项:./configure --prefix=/usr/local/custom
  5. 编译:make
  6. 安装:sudo make install

服务管理

在Linux服务器中,服务(如Web服务器、数据库等)的启动、停止和重启是核心操作,不同系统版本的服务管理工具略有差异。

Systemctl(现代Linux发行版主流工具)

  • 启动服务:sudo systemctl start service_name(如sudo systemctl start nginx
  • 停止服务:sudo systemctl stop service_name
  • 重启服务:sudo systemctl restart service_name
  • 设置开机自启:sudo systemctl enable service_name
  • 禁用开机自启:sudo systemctl disable service_name
  • 查看服务状态:systemctl status service_name

Service(传统SysVinit工具)

对于较旧的系统(如CentOS 6),可使用service命令:

  • 启动服务:sudo service httpd start
  • 停止服务:sudo service httpd stop
  • 重启服务:sudo service httpd restart

文件传输与同步

在部署过程中,常需要将本地文件上传至服务器或同步远程目录,以下工具是常用选择。

SCP(Secure Copy)

基于SSH协议的安全文件传输命令,适合单次文件传输:

  • 上传本地文件到远程服务器:scp /local/path/file.txt user@remote_ip:/remote/path/
  • 下载远程文件到本地:scp user@remote_ip:/remote/path/file.txt /local/path/
  • 传输整个目录:scp -r /local/directory user@remote_ip:/remote/path/

Rsync(Remote Sync)

支持增量同步和压缩传输,适合大文件或目录的定期同步:

  • 同步本地目录到远程服务器:rsync -avz /local/directory/ user@remote_ip:/remote/directory/
  • 同步远程目录到本地:rsync -avz user@remote_ip:/remote/directory/ /local/directory/
  • 参数说明:-a(归档模式,保留权限)、-v(详细输出)、-z(压缩传输)

SFTP(SSH File Transfer Protocol)

交互式文件传输工具,支持类似FTP的命令操作:

  • 连接远程服务器:sftp user@remote_ip
  • 上传文件:put local_file.txt
  • 下载文件:get remote_file.txt
  • 退出:exit

进程管理

在部署应用时,需要查看、终止或管理相关进程,确保服务正常运行。

Ps(Process Status)

查看当前运行的进程:

  • 查看所有进程:ps aux
  • 查看特定关键词的进程:ps aux | grep nginx

Kill与Pkill

终止进程:

  • 通过进程ID(PID)终止:kill pid(如kill 1234
  • 强制终止:kill -9 pid
  • 通过进程名终止:pkill nginx

Nohup

在后台运行进程,并忽略挂断信号,适合长时间运行的任务:

  • 示例:nohup python app.py > output.log 2>&1 &
    • nohup:忽略挂断信号
    • >:标准输出重定向到文件
    • 2>&1:错误输出重定向到标准输出
    • &:后台运行

系统监控

实时监控系统资源使用情况,是排查性能瓶颈的关键。

Top

动态查看进程资源占用(CPU、内存):

  • 按CPU使用率排序:shift + P
  • 按内存使用率排序:shift + M
  • 退出:q

Htop

top的增强版,支持彩色显示、鼠标操作等,需提前安装:

  • 安装(Ubuntu):sudo apt install htop
  • 安装(CentOS):sudo yum install htop

Free

查看内存使用情况:

  • 显示详细信息:free -h-h以人类可读格式显示)

df

查看磁盘空间使用情况:

  • 显示详细信息:df -h

安全配置

部署过程中,需确保系统和服务安全,避免潜在漏洞。

防火墙配置

  • UFW(Ubuntu默认防火墙)

    • 启用防火墙:sudo ufw enable
    • 允许特定端口:sudo ufw allow 80/tcp
    • 查看规则:sudo ufw status
  • Firewalld(CentOS 7+默认防火墙)

    • 启动防火墙:sudo systemctl start firewalld
    • 允许端口:sudo firewall-cmd --permanent --add-port=80/tcp
    • 重新加载规则:sudo firewall-cmd --reload

SSH安全加固

  • 修改默认SSH端口:编辑/etc/ssh/sshd_config,修改Port 22为其他端口(如Port 2222),重启SSH服务:sudo systemctl restart sshd
  • 禁用root登录:编辑sshd_config,设置PermitRootLogin no
  • 使用密钥认证:生成密钥对(ssh-keygen),将公钥(~/.ssh/id_rsa.pub)上传至服务器~/.ssh/authorized_keys

定期更新系统

及时修复安全漏洞,定期更新系统软件包:

  • Ubuntu:sudo apt update && sudo apt upgrade
  • CentOS:sudo yum updatesudo dnf update

掌握上述Linux部署命令,能够高效完成软件安装、服务管理、文件传输等任务,同时通过系统监控和安全配置确保服务器稳定运行,在实际操作中,建议结合具体场景灵活运用,并注意命令的参数细节,以避免误操作导致系统问题。

赞(0)
未经允许不得转载:好主机测评网 » Linux部署命令有哪些?新手必看操作指南