如何自己搭建云主机?

HCRM技术_小炮 云主机 2025-07-21 2 1

厌倦了共享主机的限制?渴望对服务器拥有完全掌控权?自己动手搭建一台专属云主机,不仅能深度定制环境、优化性能,更能成为你技术成长的绝佳实践,下面就是清晰的步骤指南:

怎么给自己做个云主机

准备工作:打好根基

1、选择云服务商 (VPS提供商): 这是你的“地基”,国内用户可考虑阿里云、腾讯云、华为云;国际用户可选DigitalOcean、Linode、Vultr等,比较核心配置(CPU、内存)、存储空间(SSD优先)、带宽、数据中心位置(靠近你的目标访客)、价格以及用户评价,新手建议从基础配置(如1核1G)开始,多数项目足够。

2、挑选操作系统: Linux发行版是服务器首选,稳定高效。

Ubuntu Server 用户友好、文档丰富、社区支持强大,新手首选。

CentOS Stream 曾是企业级代表,现转向上游滚动更新(熟悉其生态仍可选)。

怎么给自己做个云主机

Debian 以稳定著称,软件包略保守。

3、购买域名(可选但推荐): 想让访客通过好记的网址(如www.yourname.com)访问你的网站?需要一个域名,可在阿里云万网、腾讯云DNSPod、Namecheap、GoDaddy等注册商购买。

4、准备连接工具:

SSH客户端 远程管理服务器的核心,Windows用户用PuTTYWindows Terminal (内置OpenSSH),macOS/Linux用户直接用终端(内置OpenSSH)。

第一步:创建并连接你的云主机

怎么给自己做个云主机

1、在云平台创建实例:

* 登录云服务商控制台。

* 找到“云服务器”、“弹性计算”、“VPS”或类似入口。

* 点击“创建实例”或“购买”。

选择配置 按需选CPU、内存、硬盘(通常20G+起步)。

选择镜像 挑选你计划安装的操作系统(如 Ubuntu 22.04 LTS)。

设置登录方式 (关键安全步骤!)

强密码 设置复杂度极高的密码(大小写字母、数字、特殊字符组合,长度12位以上)。

SSH密钥对 (更安全,强烈推荐!) 在控制台生成或上传你的公钥,私钥文件(.pem.ppk)务必妥善保管在本地,绝不泄露

配置安全组 (防火墙规则)

* 初始开放SSH端口(默认22),来源IP建议限制为你的常用IP或特定IP段(提升安全性)。

* 开放HTTP(80端口)HTTPS(443端口),来源设为0.0.0.0/0 (允许所有IP访问网站)。

* 其他端口(如数据库端口)切勿随意开放公网访问。

* 确认配置,完成购买/创建,等待几分钟,实例状态变为“运行中”。

2、获取服务器连接信息:

* 在云控制台找到你的实例,查看其公网IP地址(IPv4),这是你服务器的“门牌号”。

3、使用SSH连接服务器:

密码登录 (如果设置)

        ssh username@your_server_ip  # ssh root@123.123.123.123

首次连接会询问是否信任主机指纹,输入yes,然后输入你设置的强密码。

密钥登录 (推荐)

Windows (PuTTY):

1. 打开PuTTY。

2. 在Session 输入服务器公网IP。

3. 导航到Connection -> SSH -> Auth

4. 在Private key file for authentication 点击Browse,选择你的私钥文件 (.ppk 格式,PuTTYgen转换过)

5. 回到Session,可以保存配置方便下次使用,点击Open

6. 登录用户名通常是root (或你创建时指定的用户名)。

macOS/Linux (终端)

            ssh -i /path/to/your/private_key.pem username@your_server_ip  # ssh -i ~/.ssh/my_key.pem root@123.123.123.123

重要: 确保私钥文件权限为600 (chmod 600 /path/to/your/private_key.pem)。

第二步:基础系统设置与安全加固 (至关重要!)

⚠️安全是自建服务器的首要任务! 连接后立即执行:

1、更新系统:

    sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
    # 或
    sudo yum update -y                     # CentOS

2、创建新管理员用户 (避免长期使用root):

    sudo adduser yourusername   # sudo adduser adminuser
    sudo usermod -aG sudo yourusername  # 将用户加入sudo组 (Ubuntu/Debian)
    # 或 (CentOS)
    sudo usermod -aG wheel yourusername

3、配置SSH密钥登录 (如果创建实例时未设置或需添加):

本地生成密钥对(如果还没有)

        ssh-keygen -t rsa -b 4096  # 本地终端执行,按提示操作

本地公钥 (~/.ssh/id_rsa.pub 内容) 上传到服务器的~/.ssh/authorized_keys 文件

        # 在服务器上 (以新用户登录后):
        mkdir -p ~/.ssh
        echo "粘贴你的公钥内容" >> ~/.ssh/authorized_keys
        chmod 700 ~/.ssh
        chmod 600 ~/.ssh/authorized_keys

* 测试新用户SSH密钥登录是否成功。

4、禁用SSH密码登录 (密钥登录成功后):

编辑SSH配置文件:

    sudo nano /etc/ssh/sshd_config

找到并修改:

    PasswordAuthentication no
    PermitRootLogin no  # 强烈建议禁用root直接SSH登录

保存退出 (Ctrl+X, 输入Y,Enter),重启SSH服务:

    sudo systemctl restart sshd  # Ubuntu/Debian
    # 或
    sudo systemctl restart sshd  # CentOS

5、配置防火墙 (UFW - Uncomplicated Firewall):

安装UFW (如未预装)

        sudo apt install ufw -y  # Ubuntu/Debian
        sudo yum install ufw -y # CentOS (可能需要先启用EPEL)

设置默认策略

        sudo ufw default deny incoming  # 默认拒绝所有入站
        sudo ufw default allow outgoing # 默认允许所有出站

放行必要端口

        sudo ufw allow OpenSSH   # 或 sudo ufw allow 22
        sudo ufw allow 80        # HTTP
        sudo ufw allow 443       # HTTPS
        # 如有其他特殊需求端口,按需开放

启用UFW

        sudo ufw enable

查看状态

        sudo ufw status verbose

6、设置时区:

    sudo timedatectl set-timezone Asia/Shanghai  # 替换为你的时区,如Asia/Tokyo, America/New_York

7、安装Fail2ban (防暴力破解):

    sudo apt install fail2ban -y  # Ubuntu/Debian
    sudo yum install fail2ban -y  # CentOS (可能需要EPEL)
    sudo systemctl enable fail2ban --now

(基础配置通常够用,可按需调整/etc/fail2ban/jail.local)

第三步:安装Web服务器环境 (以LNMP栈为例)

1、安装Nginx:

    sudo apt install nginx -y  # Ubuntu/Debian
    sudo yum install nginx -y  # CentOS
    sudo systemctl enable nginx --now

浏览器访问http://你的服务器IP,应看到Nginx欢迎页。

2、安装MySQL/MariaDB:

Ubuntu/Debian:

        sudo apt install mysql-server -y
        sudo mysql_secure_installation  # 运行安全脚本,设置root密码,移除测试数据库/匿名用户等

CentOS:

        sudo yum install mariadb-server -y
        sudo systemctl enable mariadb --now
        sudo mysql_secure_installation  # 同上

3、安装PHP (以PHP 8.x为例):

Ubuntu (添加第三方源):

        sudo apt install software-properties-common -y
        sudo add-apt-repository ppa:ondrej/php -y
        sudo apt update
        sudo apt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip -y  # 选择所需扩展

Debian:

        sudo apt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip -y  # 版本号根据发行版仓库调整

CentOS (启用EPEL+Remi):

        sudo yum install epel-release -y
        sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y  # 替换7为你的CentOS主版本号
        sudo yum-config-manager --enable remi-php82
        sudo yum install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip -y

配置Nginx使用PHP-FPM编辑/etc/nginx/sites-available/default (Ubuntu/Debian) 或/etc/nginx/conf.d/default.conf (CentOS),在server 块内找到处理PHP的部分,确保类似:

        location ~ \.php$ {
            include snippets/fastcgi-php.conf; # Ubuntu/Debian常用
            # 或 include fastcgi_params; # CentOS常用
            fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # 确认sock路径和PHP版本
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

重启服务

        sudo systemctl restart nginx
        sudo systemctl restart php8.2-fpm  # 替换为你的PHP版本

测试PHP在Web根目录(如/var/www/html)创建info.php

        <?php phpinfo(); ?>

访问http://你的服务器IP/info.php,应显示PHP信息页。测试后务必删除此文件!

第四步:部署你的网站

1、上传网站文件:

方法一SCP/SFTP: 使用WinSCP (Windows)、FileZilla (跨平台)、或命令行scp 将本地网站文件上传到服务器,通常放到/var/www/yourdomain.com/public_html (推荐自定义目录)。

方法二Git: 在服务器安装Git (sudo apt/yum install git),克隆你的代码仓库到网站目录。

2、配置Nginx虚拟主机 (Server Block):

创建配置文件

        sudo nano /etc/nginx/sites-available/yourdomain.com  # Ubuntu/Debian
        # 或
        sudo nano /etc/nginx/conf.d/yourdomain.com.conf     # CentOS

基本配置示例 (替换yourdomain.com,root 路径)

        server {
            listen 80;
            listen [::]:80;
            server_name yourdomain.com www.yourdomain.com; # 你的域名
            root /var/www/yourdomain.com/public_html;      # 网站文件实际路径
            index index.php index.html index.htm;
            location / {
                try_files $uri $uri/ /index.php?$query_string;
            }
            location ~ \.php$ {
                include snippets/fastcgi-php.conf;  # 或 include fastcgi_params;
                fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # 确认版本和路径
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }
            location ~ /\.ht {
                deny all;
            }
        }

启用配置

(Ubuntu/Debian) 创建符号链接

            sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/

* (CentOS) 配置文件已在conf.d 通常自动加载。

测试Nginx配置并重启

        sudo nginx -t  # 检查配置语法
        sudo systemctl restart nginx

3、配置数据库:

登录MySQL

        mysql -u root -p  # 输入安装时设置的root密码

创建网站数据库和用户

        CREATE DATABASE yourdbname;
        CREATE USER 'yourdbuser'@'localhost' IDENTIFIED BY 'StrongPassword!';
        GRANT ALL PRIVILEGES ON yourdbname.* TO 'yourdbuser'@'localhost';
        FLUSH PRIVILEGES;
        EXIT;

* 根据你的网站程序(如WordPress)要求,修改其配置文件(如wp-config.php)填入正确的数据库名、用户名、密码和主机 (localhost)。

第五步:配置域名与HTTPS (让访问更专业安全)

1、域名解析:

* 登录你的域名注册商控制台。

* 找到DNS管理/域名解析设置。

添加A记录

主机记录@ (主域名) 和www (www子域名)。

记录值 填写你的云主机公网IP地址

TTL默认即可,保存设置,等待DNS全球生效(通常几分钟到几小时)。

2、申请安装SSL证书 (免费Let's Encrypt):

安装Certbot工具

        # Ubuntu/Debian
        sudo apt install certbot python3-certbot-nginx -y
        # CentOS (需EPEL)
        sudo yum install epel-release -y
        sudo yum install certbot python3-certbot-nginx -y

运行Certbot获取并安装证书

        sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

* 按提示操作(输入邮箱同意条款)。

* 选择是否将所有HTTP请求重定向到HTTPS(强烈建议选择2 重定向)。

证书自动续期测试

        sudo certbot renew --dry-run

(成功表示自动续期配置正常,系统定时任务/etc/cron.d/certbot 已自动设置)

持续维护:保持健康与安全

定期系统更新 养成习惯sudo apt update && sudo apt upgrade -y /sudo yum update -y

备份!备份!备份! 这是运维铁律!

网站文件 定期打包压缩/var/www (或你的网站目录)。

数据库 使用 `mys

文章摘自:https://idc.huochengrm.cn/zj/11438.html

评论

精彩评论
  • 2025-07-22 02:59:49

    如何自己搭建云主机?答案是:选好云服务提供商,配置需求资源并选购套餐;安装操作系统和应用软件后远程管理。