当前位置:首页 > Linux > 正文

如何开启linux服务器

可通过 SSH 远程登录 Linux 服务器,输入 sudo systemctl start [服务名] 启动指定服务;若需开机自启,可改用 `enable

前期准备与核心概念

1 硬件/虚拟化环境确认

类型 特点 适用场景
物理服务器 独立硬件资源,性能稳定 企业级生产环境
虚拟机(VM) 共享宿主机资源,灵活扩容 开发测试、轻量级业务
容器(Docker) 轻量化隔离,秒级部署 微服务架构、CI/CD流水线
云主机(ECS) 按需付费,弹性伸缩 初创项目、流量波动场景

2 网络连通性验证

  • 控制台获取公网IP:阿里云/酷盾安全等平台可在实例详情页查看浮动IP
  • 本地终端检测ping <服务器IP> 应返回TTL值(非请求超时)
  • 端口扫描验证telnet <服务器IP> 22 成功则显示SSH欢迎界面

主流接入方式详解

1 SSH密钥对登录(推荐)

操作系统 生成密钥命令 复制公钥至服务器
Ubuntu/Debian ssh-keygen -t rsa -b 4096 cat ~/.ssh/id_rsa.pub >> authorized_keys
CentOS/RHEL 同上 目标路径:/home/<user>/.ssh/
Windows PuTTYgen生成ppk格式 需转换PEM格式上传

关键配置步骤

  1. 编辑~/.ssh/config文件添加以下内容实现别名登录:
    Host myserver
        HostName 192.168.1.100
        User admin
        IdentityFile ~/.ssh/mykey
  2. 执行chmod 600 ~/.ssh/authorized_keys 确保权限安全
  3. 首次连接时输入yes信任主机指纹

2 密码登录(临时方案)

️ 注意:生产环境强烈建议禁用root密码登录!

# 修改SSH配置文件允许密码登录
sudo vi /etc/ssh/sshd_config
# 找到 #PasswordAuthentication yes 取消注释
systemctl restart sshd  # CentOS/RHEL
service ssh restart      # Ubuntu/Debian

3 图形化界面访问(可选)

工具 协议 优点 缺点
Xrdp RDP Windows原生支持 仅适用于桌面环境
VNC RFB 跨平台兼容 带宽占用较高
Webmin/Cockpit HTTPS 可视化管理面板 存在潜在安全风险

系统初始化关键操作

1 必做安全加固

操作项 命令示例 作用说明
禁止root远程登录 visudoers 添加 Defaults !root 强制使用普通用户登录
设置账户锁定策略 authselect select sssd + 修改/etc/security/login.defs 防范暴力破解
启用防火墙规则 ufw allow from 192.168.1.0/24 限制可信IP段访问
自动更新机制 apt install unattended-upgrades 定时安装安全补丁

2 用户体系构建

# 创建具有sudo权限的普通用户
useradd -m -G wheel,docker user_name
passwd user_name
# 配置sudo免密执行(谨慎使用!)
echo "user_name ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/user_name

3 时区与语言设置

# 查看当前时区
timedatectl status
# 设置为上海时区
timedatectl set-timezone Asia/Shanghai
# 修改系统语言为中文
localectl set-locale LANG=zh_CN.UTF-8

核心服务启动指南

1 进程管理工具对比

工具 特点 典型命令
systemctl 现代init系统,支持enable/disable systemctl start httpd
service 传统脚本调用方式 service mysql start
supervisor 进程守护,崩溃自动重启 supervisorctl start program
pm2 Node.js应用专用管理工具 pm2 start app.js

2 常见服务启动示例

服务类型 CentOS/RHEL Ubuntu/Debian 验证命令
Web服务器(HTTP) systemctl start httpd systemctl start apache2 curl http://localhost
MySQL数据库 systemctl start mariadb systemctl start mysql mysqladmin version
Nginx systemctl start nginx systemctl start nginx nginx -v
Redis缓存 systemctl start redis systemctl start redis-server redis-cli ping

3 开机自启配置

# 永久启用服务
systemctl enable httpd
# 查看已启用服务列表
systemctl list-unit-files | grep enabled
# 禁用无用服务
systemctl disable postfix

监控与日志管理

1 实时监控工具

工具名称 功能特点 安装命令
htop 交互式进程监控 apt install htop
netstat 网络连接统计 内置命令
iftop 实时带宽监控 apt install iftop
journalctl 系统日志查询 journalctl -f -u httpd.service

2 日志轮转配置

# 编辑日志轮转配置(以Apache为例)
vi /etc/logrotate.d/httpd
# 典型配置项:
/var/log/httpd/.log {
    weekly
    missingok
    rotate 12
    compress
    delaycompress
    notifempty
    create 640 root adm
}

进阶优化建议

1 性能调优参数

子系统 优化方向 示例配置
内核参数 TCP连接数调整 sysctl -w net.core.somaxconn=65535
Swap分区 交换空间大小设置 fallocate -l 4G /swapfilemkswap /swapfile
文件描述符 最大打开文件数 ulimit -n 65536
JVM堆内存 Java应用内存分配 -Xms2g -Xmx2g (启动参数)

2 自动化运维方案

工具链 功能模块 典型应用场景
Ansible 批量配置管理 百台以上服务器集群
Jenkins CI/CD持续集成 代码编译打包部署全流程
Prometheus 指标监控+告警 微服务架构健康度监测
Grafana 可视化仪表盘 展示CPU/内存/磁盘使用趋势

相关问答FAQs

Q1: 忘记了Linux服务器的root密码该如何重置?

解答

  1. 重启进入单用户模式

    如何开启linux服务器  第1张

    • GRUB菜单启动时按e编辑启动参数
    • linux行末尾添加single init=/bin/bash
    • Ctrl+x启动单用户模式
  2. 挂载根文件系统

    mount -o remount,rw /dev/mapper/centos-root /
  3. 修改root密码

    chroot / bin/bash
    passwd root
  4. 退出并重启

    exec /sbin/init

️ 注意:此方法会丢失SELinux上下文,操作后需执行restorecon -Rv /修复。

Q2: 为什么无法通过SSH连接到我的Linux服务器?

排查步骤
| 序号 | 检查项 | 解决方案 |
|——|————————-|———————————–|
| 1 | 防火墙拦截 | iptables -Lufw status |
| 2 | SSH服务未运行 | systemctl status sshd |
| 3 | 端口被占用 | netstat -tulnp | grep :22 |
| 4 | DNS解析错误 | nslookup <服务器IP> |
| 5 | 密钥权限问题 | chmod 600 ~/.ssh/authorized_keys|
| 6 | SELinux策略阻止 | getenforce → 临时关闭setenforce 0|
| 7 | 网络MTU不匹配 | ifconfig eth0 mtu 1400 |

补充技巧:使用ssh -vvv user@host查看详细连接日志,可定位具体失败环节。


通过以上步骤,您已完成Linux服务器的基础部署与管理,实际运维中需根据具体业务场景调整配置,建议定期备份重要数据并制定应急预案,对于高可用架构,可进一步研究Keepalived+VRRP

0