服务器登录后怎么设置

服务器登录后的初始设置是确保系统安全、稳定运行的关键步骤,无论是个人开发者还是企业运维人员,都需要按照规范完成一系列配置,以优化性能、防范风险并满足业务需求,以下从系统更新、安全配置、性能优化、服务部署等方面,详细介绍服务器登录后的设置流程。
系统更新与基础配置
登录服务器后,首先应确保系统处于最新状态,以修复潜在漏洞并获取最新功能,以Linux系统为例,可通过以下命令更新系统:
sudo apt update && sudo apt upgrade y # Debian/Ubuntu系统 sudo yum update y # CentOS/Rocky系统
更新完成后,检查并设置系统时区,确保时间同步:
sudo timedatectl settimezone Asia/Shanghai sudo systemctl enable now ntpd # 启用NTP时间同步服务
配置主机名,便于服务器识别和管理:
sudo hostnamectl sethostname server01 # 设置主机名为server01
若需修改静态IP地址(以Ubuntu为例),编辑/etc/netplan/01netcfg.yaml文件:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
执行sudo netplan apply使配置生效。
安全加固配置
服务器安全是运维的重中之重,需从账户、防火墙、访问控制等多维度加固。
更改默认密码与禁用root直接登录
首次登录后,立即修改默认用户密码:
passwd your_username
为提升安全性,建议创建普通用户并赋予sudo权限,然后禁用root直接登录,编辑/etc/ssh/sshd_config文件:
PermitRootLogin no # 禁止root直接登录 PasswordAuthentication no # 禁止密码登录,仅允许密钥登录(可选)
保存后重启SSH服务:sudo systemctl restart sshd。
配置防火墙
根据业务需求开放必要端口,关闭其他端口,以UFW(Ubuntu)为例:

sudo ufw default deny incoming # 默认拒绝所有入站连接 sudo ufw allow ssh # 允许SSH端口(22) sudo ufw allow http # 允许HTTP端口(80) sudo ufw allow https # 允许HTTPS端口(443) sudo ufw enable # 启用防火墙
对于CentOS系统,可使用firewalld:
sudo firewallcmd permanent addservice=ssh sudo firewallcmd permanent addservice=http sudo firewallcmd reload
安装与配置 fail2ban
fail2ban可防止暴力破解攻击,通过监控日志并封禁恶意IP,安装后编辑/etc/fail2ban/jail.local:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600
启动服务:sudo systemctl enable now fail2ban。
性能优化与监控
合理的性能优化能提升服务器资源利用率,监控系统状态可及时发现异常。
调整系统资源限制
编辑/etc/security/limits.conf,优化文件描述符和用户进程数:
* soft nofile 65536 * hard nofile 65536 * soft nproc 32768 * hard nproc 32768
安装监控工具
推荐使用htop(进程监控)和iftop(流量监控):
sudo apt install htop iftop y
对于长期监控,可部署Prometheus + Grafana或Zabbix,收集CPU、内存、磁盘等指标并可视化展示。
优化磁盘与文件系统
定期清理临时文件,如/tmp目录:
sudo rm rf /tmp/*
若磁盘空间不足,可使用du命令查找大文件:
du sh /* | sort rh | head 10
对于频繁读写的场景,建议调整文件系统挂载参数,如启用noatime(减少inode访问时间更新):
UUID=xxx /data ext4 defaults,noatime 0 0
服务部署与应用配置
根据业务需求,部署Web服务、数据库或中间件,以Nginx为例:

安装与配置Nginx
sudo apt install nginx y
创建站点配置文件/etc/nginx/sitesavailable/webapp:
server {
listen 80;
server_name your_domain.com;
root /var/www/webapp;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
创建软链接并重启Nginx:
sudo ln s /etc/nginx/sitesavailable/webapp /etc/nginx/sitesenabled/ sudo nginx t && sudo systemctl restart nginx
数据库配置(以MySQL为例)
sudo apt install mysqlserver y sudo mysql_secure_installation # 安全配置向导
登录MySQL后,创建数据库和用户:
CREATE DATABASE webapp_db; CREATE USER 'webapp_user'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON webapp_db.* TO 'webapp_user'@'localhost'; FLUSH PRIVILEGES;
备份与恢复策略
定期备份是数据安全的最后一道防线,推荐使用rsync或rsnapshot进行增量备份:
# 示例:每天备份/home目录到/backup sudo rsync av delete /home/ /backup/daily/
配置定时任务(cron)实现自动化备份:
crontab e 0 2 * * * /usr/bin/rsync av delete /home/ /backup/daily/
日志管理与审计
日志是排查问题的重要依据,建议集中管理服务器日志,通过rsyslog将日志发送到远程日志服务器:
编辑/etc/rsyslog.conf,添加:
*.* @192.168.1.200:514
重启rsyslog服务:sudo systemctl restart rsyslog。
相关问答FAQs
Q1: 服务器登录后提示“Permission denied, please try again”,如何解决?
A: 可能原因包括密码错误、SSH密钥配置异常或防火墙拦截,可尝试以下步骤:
- 检查用户名和密码是否正确;
- 确认SSH服务是否运行(
sudo systemctl status sshd); - 检查
/etc/ssh/sshd_config中PermitRootLogin和PasswordAuthentication配置; - 查看防火墙是否放行SSH端口(
sudo ufw status)。
Q2: 如何查看服务器的CPU和内存使用情况?
A: 可通过以下命令实时监控:
top或htop:查看进程级别的CPU、内存占用(按q退出);free h:查看内存使用情况(h以人类可读格式显示);vmstat 1:每秒刷新一次系统状态,包括CPU、内存、IO等指标。
