1、获取与登录:购买云主机并通过SSH登录。
2、初始安全加固:更新系统、创建普通用户、配置防火墙。
3、环境配置:安装必要的软件(如Web服务器、数据库、编程语言环境)。
4、部署应用:上传你的代码或网站文件,并配置服务。
5、域名与SSL(可选):绑定域名并启用HTTPS加密。
1、选择云服务商并购买:
国内常见的有阿里云、腾讯云、华为云等。
国外常见的有Amazon AWS、Google Cloud Platform (GCP)、Microsoft Azure、Vultr、DigitalOcean等。
* 购买时选择你需要的操作系统(如Ubuntu 20.04/22.04 LTS 或CentOS 7/8,它们是常见且社区支持良好的Linux发行版)。
2、获取登录信息:
IP地址云主机的公网IP,例如123.123.123.123
。
用户名对于Ubuntu通常是ubuntu
,对于CentOS通常是root
。
认证方式
密码部分服务商提供初始密码。
SSH密钥对(推荐)你会下载一个私钥文件(如my_key.pem
)。
3、通过SSH登录:
* 打开你的终端(Linux/macOS)或使用PuTTY/Xshell等工具(Windows)。
使用密钥登录(示例)
# 确保私钥文件权限为400(仅所有者可读) chmod 400 /path/to/your/private_key.pem # 登录命令 ssh -i /path/to/your/private_key.pem ubuntu@你的云主机IP
* 首次连接时,会提示你确认主机指纹,输入yes
即可。
登录后,第一件事就是加强安全,防止被黑客攻击。
1、更新系统软件包:
Ubuntu/Debian:
sudo apt update && sudo apt upgrade -y
CentOS/RHEL:
sudo yum update -y # 或者对于新版本 CentOS sudo dnf update -y
2、创建普通用户(避免直接使用root):
# 添加新用户,例如叫 ‘admin’ sudo adduser admin # 为新用户设置密码 sudo passwd admin # 将新用户添加到sudo组,使其拥有管理员权限 sudo usermod -aG sudo admin # Ubuntu sudo usermod -aG wheel admin # CentOS
3、配置SSH密钥登录并禁用密码登录(加强安全):
* 从你的本地电脑将公钥上传到云主机。
* 在本地执行cat ~/.ssh/id_rsa.pub
,复制输出内容。
在云主机上,切换到新用户admin
,并设置SSH目录和授权文件
# 切换到新用户 su - admin # 创建.ssh目录并设置权限 mkdir -p ~/.ssh chmod 700 ~/.ssh # 将你复制的公钥内容写入authorized_keys文件 echo "你的公钥内容" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
编辑SSH配置文件
sudo nano /etc/ssh/sshd_config
修改或确保以下行:
PermitRootLogin no # 禁止root直接登录 PasswordAuthentication no # 禁用密码认证 PubkeyAuthentication yes # 启用密钥认证
重启SSH服务
sudo systemctl restart ssh # Ubuntu sudo systemctl restart sshd # CentOS
重要:在关闭当前连接前,新开一个终端窗口用admin
用户和密钥测试登录,确认成功后再关闭原root会话。
4、配置防火墙:
* 只开放必要的端口,例如SSH(22), Web(80, 443)。
Ubuntu (使用UFW):
sudo ufw allow OpenSSH # 允许SSH,否则你会被锁在外面! sudo ufw allow 80 # 允许HTTP sudo ufw allow 443 # 允许HTTPS sudo ufw enable # 启用防火墙
CentOS (使用firewalld):
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
根据你的需求安装软件,以下是常见环境的安装命令。
1、LEMP/LAMP 栈(用于运行网站):
Nginx (Web服务器):
# Ubuntu sudo apt install nginx -y sudo systemctl enable nginx # CentOS sudo dnf install nginx -y sudo systemctl enable nginx
MySQL (数据库):
# Ubuntu sudo apt install mysql-server -y sudo mysql_secure_installation # 运行安全脚本,设置root密码等 # CentOS sudo dnf install mysql-server -y sudo systemctl enable mysqld sudo mysql_secure_installation
PHP (编程语言):
# Ubuntu sudo apt install php-fpm php-mysql -y # CentOS sudo dnf install php php-fpm php-mysqlnd -y
安装后需要配置Nginx与PHP-FPM协同工作。
2、Node.js 环境:
* 建议使用NodeSource仓库安装最新版。
# Ubuntu curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt-get install -y nodejs # CentOS curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash - sudo dnf install -y nodejs
3、Docker 环境:
* 参考Docker官方文档安装,通常一条命令即可。
# 安装Docker Engine curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # 将当前用户加入docker组,避免每次用sudo sudo usermod -aG docker $USER # 需要重新登录生效
1、上传代码:
* 可以使用scp
命令,rsync
工具,或者Git直接从仓库拉取。
示例(使用scp)
scp -i /path/to/your/key.pem -r /local/project/folder admin@服务器IP:/home/admin/project/
在服务器上使用Git
sudo apt install git -y # 如果没装 cd /home/admin git clone https://github.com/yourusername/yourproject.git
2、配置Web服务器:
* 以Nginx为例,你需要为你的网站创建一个Server Block(虚拟主机)。
创建配置文件sudo nano /etc/nginx/sites-available/your_domain
基本配置内容
server { listen 80; server_name your_domain.com www.your_domain.com; # 没有域名就用服务器IP root /home/admin/your_project/public; # 你的网站文件根目录 index index.html index.php; location / { try_files $uri $uri/ =404; } # 如果是PHP项目,需要传递PHP处理 location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } }
启用配置
# 创建软链接 sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/ # 测试配置语法 sudo nginx -t # 重载Nginx sudo systemctl reload nginx
第五步:绑定域名与SSL证书(可选但推荐)
1、域名解析:
* 在你的域名注册商处,将域名解析到你的云主机公网IP(添加一条A
记录)。
2、安装SSL证书(启用HTTPS):
* 使用Let‘s Encrypt 的Certbot 工具,它可以免费自动获取和安装证书。
安装Certbot
# Ubuntu sudo apt install certbot python3-certbot-nginx -y # CentOS sudo dnf install certbot python3-certbot-nginx -y
获取并安装证书(会自动修改你的Nginx配置)
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
* 按照提示操作,完成后你的网站就支持HTTPS了,Certbot会自动设置定时任务 renew。
定期更新定期运行sudo apt update && sudo apt upgrade
保持系统安全。
备份定期备份你的网站文件和数据库。
监控使用htop
,nethogs
等工具监控系统资源,或使用云服务商提供的监控服务。
最小权限原则只安装和开启你真正需要的服务。
按照以上步骤,你就能成功设置并运行一个安全、稳定的云主机环境了,如果你是初学者,建议先在便宜的测试机上练习几遍。
文章摘自:https://idc.huochengrm.cn/zj/17748.html
评论