简介:本文为新手提供云服务器搭建的完整流程,涵盖服务商选择、系统安装、安全配置、环境部署等关键步骤,帮助零基础用户快速掌握云服务器管理技能。
在搭建云服务器前,需明确业务场景与技术需求。例如,个人博客可选择1核2G配置,企业级应用需考虑并发量选择4核8G以上配置。存储方面,系统盘建议50GB以上,数据盘根据业务增长预留空间。带宽选择需结合访问量,初期可选3-5Mbps,后期按需升级。
主流云服务商包括阿里云、腾讯云、华为云等,选择时需考虑:
以阿里云ECS为例:
通过SSH连接服务器:
# Linux/Mac终端ssh root@服务器公网IP# Windows使用PuTTY输入主机名,端口22,连接类型SSH
连接成功后执行基础设置:
# 修改root密码(部分云服务商已预设密码)passwd# 创建普通用户(安全最佳实践)adduser deploypasswd deployusermod -aG wheel deploy # CentOSusermod -aG sudo deploy # Ubuntu# 更新系统yum update -y # CentOSapt update && apt upgrade -y # Ubuntu
使用firewalld(CentOS)或ufw(Ubuntu)配置:
# CentOS 7+systemctl start firewalldsystemctl enable firewalld# 开放必要端口firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --zone=public --add-port=443/tcp --permanentfirewall-cmd --reload# Ubuntuufw allow 22/tcpufw allow 80/tcpufw enable
修改SSH配置文件/etc/ssh/sshd_config:
Port 2222 # 修改默认端口PermitRootLogin no # 禁止root登录PasswordAuthentication no # 禁用密码登录AllowUsers deploy # 只允许特定用户
重启SSH服务:
systemctl restart sshd # CentOSservice ssh restart # Ubuntu
安装fail2ban防止暴力破解:
yum install fail2ban -y # CentOSapt install fail2ban -y # Ubuntu# 配置示例echo "[sshd]enabled = trueport = 2222filter = sshdlogpath = /var/log/securemaxretry = 3bantime = 86400" > /etc/fail2ban/jail.d/sshd.localsystemctl start fail2bansystemctl enable fail2ban
Nginx安装配置:
# CentOSyum install epel-release -yyum install nginx -y# Ubuntuapt install nginx -y# 启动服务systemctl start nginxsystemctl enable nginx# 测试访问curl -I http://localhost
Apache安装(可选):
yum install httpd -y # CentOSapt install apache2 -y # Ubuntu
MySQL 8.0安装:
# CentOSyum install https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpmyum install mysql-community-server -y# Ubuntuwget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.debdpkg -i mysql-apt-config_0.8.22-1_all.debapt updateapt install mysql-server -y# 安全配置mysql_secure_installation
Redis安装:
yum install epel-release -yyum install redis -y # CentOSapt install redis-server -y # Ubuntu# 修改配置sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /etc/redis.confsystemctl restart redis
Node.js安装:
# 使用nvm安装最新LTS版本curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashsource ~/.bashrcnvm install --lts# 验证安装node -vnpm -v
Python环境:
# 安装Python 3.9+yum install centos-release-scl -y # CentOSyum install rh-python39 -yscl enable rh-python39 bash# Ubuntu默认已安装apt install python3 python3-pip -y
htop安装:
yum install epel-release -yyum install htop -y # CentOSapt install htop -y # Ubuntu
系统监控脚本:
#!/bin/bashecho "CPU负载: $(uptime | awk -F'load average:' '{print $2}')"echo "内存使用: $(free -h | grep Mem | awk '{print $3"/"$2}')"echo "磁盘使用:"df -h | grep -v "tmpfs"
配置日志轮转:
# Nginx日志轮转echo "/var/log/nginx/*.log {dailymissingokrotate 14compressdelaycompressnotifemptycreate 0640 www-data admsharedscriptspostrotate[ -s /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid`endscript}" > /etc/logrotate.d/nginx
定时备份脚本:
#!/bin/bash# 数据库备份mysqldump -u root -p"密码" --all-databases > /backup/db_$(date +%Y%m%d).sql# 网站文件备份tar -czf /backup/web_$(date +%Y%m%d).tar.gz /var/www/html# 删除7天前备份find /backup -name "*.sql" -mtime +7 -deletefind /backup -name "*.tar.gz" -mtime +7 -delete
添加到crontab:
crontab -e# 每天凌晨3点执行0 3 * * * /bin/bash /path/to/backup.sh
netstat -tulnp检查服务是否监听正确端口
; php.ini配置opcache.enable=1opcache.memory_consumption=128opcache.max_accelerated_files=4000
gzip on;gzip_types text/plain text/css application/json application/javascript text/xml;gzip_min_length 1k;
MySQL恢复流程:
/var/lib/mysql)
mysqlcheck -u root -p --auto-repair --optimize --all-databases
通过以上步骤,新手可以系统掌握云服务器的搭建与管理。建议在实际操作中记录每一步的配置参数,并定期进行安全审计和性能优化。随着经验积累,可逐步探索容器化部署、自动化运维等进阶技能。