从零到网站上线的实战指南
核心关键词前置: 自己动手搭建云主机,不仅能深度掌控技术细节,更能根据需求灵活定制,是技术爱好者或对数据主权有要求用户的理想选择,以下是一套清晰、安全的操作流程。
第一步:选择并购买云服务器 (VPS)
1、挑选可靠供应商 (关键E-A-T体现):
国内主流 阿里云、腾讯云、华为云,优势:访问速度快、中文支持完善、备案流程清晰。
国际知名 DigitalOcean, Linode, Vultr, AWS Lightsail,优势:免备案、全球节点多、计费灵活。
评估要点
数据中心位置 靠近你的目标用户群体。
配置与价格 CPU核数、内存大小、硬盘类型(SSD优先)、带宽/流量。
网络质量 测试IP的延迟和丢包率(Ping工具)。
供应商信誉与支持 (E-A-T) 查阅用户评价、社区反馈、工单响应速度、文档是否详尽。
2、选择操作系统镜像:
Linux发行版 (推荐) CentOS (稳定,企业常用)、Ubuntu Server (用户友好,社区活跃)、Debian (稳定纯净),新手可选带图形界面的版本,但命令行(SSH)效率更高。
Windows Server 如需运行特定Windows应用或ASP.NET。
* 在购买时选择你熟悉的系统镜像。
3、完成购买与初始化:
* 注册账号,完成实名认证(国内必需)。
* 选择配置套餐、数据中心、操作系统。
* 设置root用户密码或更推荐SSH密钥对(安全性更高,下文详解)。
* 支付后等待几分钟,云主机实例创建完成,控制台会显示公网IP地址(你的服务器门牌号)和登录信息。
第二步:安全连接你的云主机 (SSH)
1、本地准备SSH客户端:
Windows PuTTY, MobaXterm, Windows Terminal (新版Win10/11内置)。
macOS/Linux 系统自带终端(Terminal)。
2、首次登录 (密码方式):
* 打开SSH客户端。
输入命令ssh root@你的服务器公网IP
(ssh root@123.123.123.123
)
* 首次连接会提示确认主机指纹,输入yes
。
* 输入购买时设置的root密码(输入时不会显示字符)。
* 登录成功,提示符变为root@hostname:~#
。
3、🔒 强化安全:使用SSH密钥登录 (强烈推荐,E-A-T安全实践):
本地生成密钥对 (在本地电脑操作)
ssh-keygen -t rsa -b 4096
* 按提示输入保存位置(默认即可)和可选的密钥密码(增加一层保护)。
生成两个文件id_rsa
(私钥,绝不可泄露) 和id_rsa.pub
(公钥)。
上传公钥到服务器
* 登录服务器(先用密码登录一次)。
创建.ssh
目录并设置权限
mkdir -p ~/.ssh chmod 700 ~/.ssh
将本地id_rsa.pub
文件内容复制到服务器的~/.ssh/authorized_keys
文件中
echo "粘贴你的公钥内容" >> ~/.ssh/authorized_keys
设置文件权限
chmod 600 ~/.ssh/authorized_keys
禁用密码登录 (提高安全性)
编辑SSH配置文件vi /etc/ssh/sshd_config
找到并修改
PasswordAuthentication no # 改为 no PubkeyAuthentication yes # 确保是 yes
保存退出,重启SSH服务systemctl restart sshd
重要 在本地客户端配置使用私钥登录(例如PuTTY导入.ppk私钥),之后只能用密钥登录。
1、更新系统:
# CentOS/RHEL yum update -y && yum upgrade -y # Ubuntu/Debian apt update -y && apt upgrade -y
2、创建普通用户 (避免长期使用root):
adduser yourusername # 创建用户 usermod -aG sudo yourusername # (Ubuntu/Debian) 加入sudo组 usermod -aG wheel yourusername # (CentOS/RHEL) 加入wheel组
3、配置防火墙 (UFW - 简单易用):
# Ubuntu/Debian 安装 apt install ufw -y # CentOS 8+ 安装 dnf install ufw -y # CentOS 7 需先启用EPEL仓库 yum install epel-release -y yum install ufw -y # 基本配置 ufw default deny incoming # 默认拒绝所有入站 ufw default allow outgoing # 默认允许所有出站 ufw allow ssh # 允许SSH (端口22) ufw allow 80/tcp # 允许HTTP (后续网站用) ufw allow 443/tcp # 允许HTTPS (后续网站用) ufw enable # 启用防火墙 ufw status verbose # 查看状态
4、安装必要工具:
# 常用工具包 (按需安装) apt install -y git curl wget vim tmux htop net-tools # Ubuntu/Debian yum install -y git curl wget vim tmux htop net-tools # CentOS/RHEL
第四步:部署你的网站环境 (以LNMP为例)
1、安装Nginx (Web服务器):
# Ubuntu/Debian apt install nginx -y # CentOS/RHEL yum install nginx -y # 或 dnf # 启动并设置开机自启 systemctl start nginx systemctl enable nginx # 浏览器访问你的服务器公网IP,应看到Nginx欢迎页
2、安装MySQL/MariaDB (数据库):
# Ubuntu/Debian (MariaDB常见) apt install mariadb-server mariadb-client -y # CentOS/RHEL (MariaDB或MySQL) yum install mariadb-server mariadb -y # 或 dnf systemctl start mariadb systemctl enable mariadb # 运行安全初始化脚本 mysql_secure_installation # 根据提示设置root密码、移除匿名用户、禁止root远程登录等
3、安装PHP (动态脚本语言):
# Ubuntu (添加PPA获取较新版本,如需要) apt install software-properties-common -y add-apt-repository ppa:ondrej/php -y apt update # 安装PHP及常用扩展 (如php8.1) apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip -y # CentOS (启用Remi仓库获取新版本) yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y # CentOS 7 yum-config-manager --enable remi-php81 # 启用PHP 8.1仓库 yum install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip -y # 启动PHP-FPM systemctl start php-fpm systemctl enable php-fpm
4、配置Nginx支持PHP:
编辑Nginx默认站点配置或新建一个
vi /etc/nginx/sites-available/default # Ubuntu/Debian vi /etc/nginx/conf.d/default.conf # CentOS
在server { ... }
块内,找到处理PHP的location
部分,修改或添加类似配置
location ~ \.php$ { include snippets/fastcgi-php.conf; # Ubuntu/Debian 通常有这个文件 # 或者直接配置: # fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 确认sock路径 # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # include fastcgi_params; }
重启Nginxsystemctl restart nginx
在网站根目录(如/var/www/html/
)创建info.php
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
* 浏览器访问http://你的服务器IP/info.php
,应显示PHP信息页面。
5、部署网站代码:
* 将你的网站程序(WordPress, Laravel, 静态HTML等)上传到Nginx配置的网站根目录(如/var/www/html/yourwebsite/
)。
* 使用FTP/SFTP客户端(如FileZilla)或命令行scp
/rsync
传输文件。
确保Nginx用户(通常是www-data
或nginx
)对网站目录有读取权限
chown -R www-data:www-data /var/www/html/yourwebsite chmod -R 755 /var/www/html/yourwebsite
* 根据程序要求配置数据库(在MySQL中创建数据库和用户)。
第五步:绑定域名与启用HTTPS (提升E-A-T信任度)
1、域名解析:
* 在你的域名注册商控制台,将域名的A记录指向你的云主机公网IP地址。
* 等待DNS全球生效(通常几分钟到几小时)。
2、申请SSL证书 (免费Let's Encrypt):
安装Certbot工具
# Ubuntu (Nginx) apt install certbot python3-certbot-nginx -y # CentOS (Nginx, 需先启用EPEL) yum install epel-release -y yum install certbot python3-certbot-nginx -y
运行Certbot自动获取并配置证书
certbot --nginx -d yourdomain.com -d www.yourdomain.com
* 按照提示操作(选择重定向HTTP到HTTPS)。
证书会自动续期,验证访问https://yourdomain.com
显示绿色锁标志。
🚨 关键安全与维护提醒 (E-A-T核心实践)
定期更新apt update && apt upgrade
/yum update
是必须的。
备份!备份!备份! 定期备份网站文件、数据库、重要配置文件,利用云服务商快照功能。
最小权限原则 程序/服务使用专用低权限用户运行。
监控 使用htop
,nmon
或云监控服务观察资源使用(CPU、内存、磁盘、带宽)。
日志审查 定期查看/var/log/nginx/error.log
,/var/log/auth.log
(或secure
) 等日志。
强密码/密钥 所有账户使用高强度唯一密码,SSH强制密钥登录。
关闭无用端口与服务 保持防火墙严格策略。
谨慎安装软件 只从官方仓库或可信来源安装。
最后观点: 自建云主机提供了无与伦比的控制力和学习价值,是理解现代互联网基础设施的绝佳途径,它也意味着持续的安全责任和维护投入,对于追求极致控制的技术用户,这是值得的旅程;对于只想稳定运行网站的用户,优质的托管服务或许是更省心高效的选择,技术本身无优劣,关键在于匹配你的核心需求与资源投入意愿。
文章摘自:https://idc.huochengrm.cn/zj/10153.html
评论