对于刚接触云服务器的开发者来说,拿到一台全新的云服务器后,面对黑屏命令行往往会感到无从下手。本文以 CentOS 7 系统为例,手把手教你完成从服务器初始化到部署常用软件的全过程,附带详细命令和避坑要点,即使是新手也能轻松上手。
一、服务器登录与初始化
1. 首次登录服务器
云服务器购买完成后,首先需要通过远程连接工具登录。推荐使用 FinalShell(可视化界面,适合新手)或 Xshell,也可以直接使用云厂商提供的 Web 控制台:
# 通过SSH命令登录(替换为你的服务器公网IP)
ssh root@你的服务器IP地址
首次登录会提示确认主机身份,输入yes后回车,再输入购买时设置的服务器密码(输入时密码不显示,输完直接回车)。
2. 系统基础配置
登录成功后,第一件事是更新系统并安装常用工具,避免后续操作因依赖缺失报错:
# 更新系统所有软件包(-y自动确认)
yum update -y
# 安装必备工具:wget(下载文件)、vim(编辑文本)、net-tools(网络工具)
yum install -y wget vim net-tools
3. 防火墙配置(关键)
CentOS 7 默认启用firewalld防火墙,需要开放常用端口(如 80、443、22、3306 等),否则外部无法访问服务器服务:
# 查看防火墙状态(active(running)表示已启动)
systemctl status firewalld
# 开放80端口(HTTP服务)
firewall-cmd --permanent --add-port=80/tcp
# 开放3306端口(MySQL数据库)
firewall-cmd --permanent --add-port=3306/tcp
# 开放8080端口(Java应用常用)
firewall-cmd --permanent --add-port=8080/tcp
# 开放22端口(SSH连接,默认已开放,保险起见再确认)
firewall-cmd --permanent --add-port=22/tcp
# 重新加载防火墙规则,使配置生效
firewall-cmd --reload
# 查看已开放的端口列表
firewall-cmd --list-ports
⚠️ 注意:云服务器还需要在厂商控制台的安全组中开放对应端口(如阿里云 ECS 的安全组、腾讯云 CVM 的防火墙),二者规则需保持一致,否则端口仍会被拦截。
二、常用软件安装教程
1. Java 环境安装(JDK 1.8)
大多数 Java 应用(如 Spring Boot、Tomcat)都需要 JDK 支持,推荐安装 1.8 版本(兼容性最好):
# 搜索可安装的JDK 1.8版本
yum list java-1.8.0-openjdk*
# 安装JDK(包含开发工具)
yum install -y java-1.8.0-openjdk-devel.x86_64
# 验证安装是否成功(出现版本信息即为成功)
java -version
javac -version
安装完成后,JDK 会自动配置环境变量,无需手动设置。如果需要指定 JDK 路径,可编辑/etc/profile文件添加环境变量(新手可跳过)。
2. MySQL 数据库安装(5.7 版本)
MySQL 是常用的关系型数据库,以下是 5.7 版本的安装步骤:
# 下载MySQL官方yum源
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安装yum源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
# 安装MySQL服务
yum install -y mysql-community-server
# 启动MySQL并设置开机自启
systemctl start mysqld
systemctl enable mysqld
# 查看MySQL初始密码(首次登录需要)
grep 'temporary password' /var/log/mysqld.log
初始化 MySQL 配置:
# 登录MySQL(输入上述命令获取的初始密码)
mysql -u root -p
# 修改密码(MySQL5.7要求密码包含大小写字母、数字和特殊字符)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码(如Qcby@123)';
# 允许远程连接(开发环境用,生产环境建议限制IP)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
# 退出MySQL
exit
验证远程连接:在本地使用 Navicat 或 SQLyog,输入服务器 IP、用户名(root)、密码,能连接成功即表示配置正确。
3. Nginx 安装与配置
Nginx 常用于部署静态网站、反向代理或负载均衡,安装步骤如下:
# 安装Nginx
yum install -y nginx
# 启动Nginx并设置开机自启
systemctl start nginx
systemctl enable nginx
验证 Nginx 是否安装成功:
在本地浏览器输入服务器公网 IP,若出现 “Welcome to nginx!” 页面,说明安装成功。
配置静态网站目录:
默认情况下,Nginx 会读取/usr/share/nginx/html目录下的文件,如需修改目录,可编辑配置文件:
# 编辑Nginx默认配置
vim /etc/nginx/conf.d/default.conf
# 找到root字段,修改为自定义目录(如/home/www)
root /home/www;
# 保存后重启Nginx使配置生效
systemctl restart nginx
三、服务器安全加固
1. 禁止 root 直接登录(重要)
直接使用 root 用户登录存在安全风险,建议创建普通用户并赋予 sudo 权限:
# 创建普通用户(如用户名qcby)
useradd qcby
# 设置用户密码
passwd qcby
# 赋予sudo权限(允许执行管理员命令)
visudo
# 在文件中找到“root ALL=(ALL) ALL”,在下方添加
qcby ALL=(ALL) ALL
# 禁止root登录
vim /etc/ssh/sshd_config
# 将PermitRootLogin yes改为no
PermitRootLogin no
# 重启SSH服务使配置生效
systemctl restart sshd
后续登录需使用普通用户:ssh qcby@服务器IP,执行管理员命令时加sudo(如sudo yum install xxx)。
2. 定期备份数据
以 MySQL 为例,创建定时任务自动备份数据库:
# 创建备份脚本
vim /home/backup_mysql.sh
# 脚本内容(替换你的密码)
#!/bin/bash
# 备份目录
BACKUP_DIR=/home/mysql_backup
# 日期格式
DATE=$(date +%Y%m%d)
# 创建目录(如果不存在)
mkdir -p $BACKUP_DIR
# 备份数据库
mysqldump -u root -p'你的MySQL密码' --all-databases > $BACKUP_DIR/mysql_$DATE.sql
# 压缩备份文件
gzip $BACKUP_DIR/mysql_$DATE.sql
# 保留30天内的备份(删除30天前的文件)
find $BACKUP_DIR -name "mysql_*.sql.gz" -mtime +30 -delete
# 保存退出后,添加执行权限
chmod +x /home/backup_mysql.sh
# 设置定时任务(每天凌晨2点执行)
crontab -e
# 添加以下内容
0 2 * * * /home/backup_mysql.sh
四、常见问题排查
1. 端口开放了但无法访问?
检查云服务器安全组是否开放对应端口(优先级高于系统防火墙)。
用netstat -tulpn命令查看服务是否真的在监听该端口(如netstat -tulpn | grep 80查看 Nginx 是否监听 80 端口)。
确认服务是否已启动(systemctl status 服务名,如systemctl status nginx)。
2. MySQL 登录提示密码错误?
若忘记密码,可通过以下步骤重置:
# 停止MySQL服务
systemctl stop mysqld
# 跳过权限验证启动
mysqld_safe --skip-grant-tables &
# 无密码登录
mysql -u root
# 刷新权限
FLUSH PRIVILEGES;
# 重置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
# 重启MySQL
systemctl restart mysqld
3. 安装软件时提示 “No package xxx available”?
通常是 yum 源未更新或缺少对应源,执行yum clean all && yum makecache更新缓存后再尝试安装。
五、总结
云服务器环境配置的核心流程可概括为:登录服务器→系统初始化→安装必要软件→配置服务→安全加固。对于新手来说,重点要理解防火墙与安全组的区别、权限管理的重要性,以及学会通过日志排查问题(大多数服务的日志在/var/log目录下)。
按照本文步骤操作,你将拥有一个安全、稳定的云服务器环境,后续可根据需求部署具体应用(如 Java Web 项目、Python 爬虫、静态博客等)。如果遇到问题,欢迎在评论区留言交流!
觉得有用的话,别忘了点赞收藏哦~