V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
better0332
V2EX  ›  程序员

用 HCaaS 容器虚拟机搭建 LNMP

  •  
  •   better0332 · 2020-09-05 10:25:20 +08:00 · 2048 次点击
    这是一个创建于 1541 天前的主题,其中的信息可能已经有所发展或是发生改变。

    容器在程序员中早已不是陌生的概念,刚接触的时候大家肯定都认为是一个极速精简版的虚拟机。但是使用时间一段时间后发现不然:缺少熟悉的命令,systemd 不能用,连 apt/yum 安装软件都不能持久化,最后老鸟们会冷冷的说容器是面向应用的!😖

    现在HCaaS中的容器虚拟机解决了这个恼人的问题。我们可以创建任意规格的虚机(最小 0.1vCPU,40Mb 内存),秒级创建,根据容器虚机实际使用 CPU/MEM 收费(不是规格),非常适合学习 /测试。容器虚机通过 commit 可写容器镜像层实现数据持久化,lxcfs 对规格进行限制,并对容器镜像进行特殊改造支持 systemctl/iptables/docker,用户使用习惯跟虚拟机完全相同。

    这次让我们通过搭建 LNMP 来玩一把。一般搭建网站有几个必须的组件,可以用 LNMP 组合包来快速搭建。LNMP 一键安装包是一个用 Linux Shell 编写的,可以为 CentOS/RHEL/Fedora/Linux VPS 或独立主机安装 LNMP(Nginx/MySQL/PHP)、生产环境的 Shell 程序。


    1. 一键创建虚拟机

    从菜单“容器虚拟机”创建一台容器虚拟机:

    虚拟机 OS:选择虚拟机操作系统,HCaaS 提供 Ubuntu 18.04 64 位和 Centos 7.4 64 位两种操作系统。这里使用 Centos7.4
    开放端口:22 端口默认开放,为了 nginx 和 mysql 需要开放 80,3306 端口。
    虚拟机规格:安装 LNMP 过程中有一些编译的步骤,推荐 1vCPU 或更高。此处快选了 32X 的规格。

    保存后就跳转到容器虚拟机列表页面。秒级启动

    2. 登陆虚拟机

    点击 SSH 登录方式按钮,弹框显示登录的具体信息,在终端输入弹框信息即可登陆该虚拟机。

    为了安全,用 chpasswd 修改登录密码!!

    也可以使用页面上的 webshell 登陆

    3. 安装 LNMP

    参考官网https://lnmp.org/install.html,运行以下命令:

    wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp
    

    静候几分钟小时,LNMP 就安装好了!

    4. 如何访问呢?

    还记得之前 ssh 的地址吗?对,这就代表服务端地址,只需要访问它的“80”端口。在 HCaaS 里,端口都做了映射,所以在容器虚拟机列表中,点开查看端口

    找到了对应的 31905 端口。在浏览器中打开http://idc.cubepaas.com:31509就找到了 LNMP 的默认首页!


    HCaaS (https://cubepaas.com)目前处于公测阶段,登录领 300 元平台金,外连网络流量免费!!

    首次充值:充多少送多少!!

    13 条回复    2020-09-09 23:16:21 +08:00
    geekvcn
        1
    geekvcn  
       2020-09-05 12:36:17 +08:00 via iPhone
    你是不知道 LXC LXD 吗?谁特么容器只用 docker,还神特么持久化有坑,容器是面向应用的。

    @Livid 这家伙发两遍广告了,放推广板块里吧
    better0332
        2
    better0332  
    OP
       2020-09-05 13:01:02 +08:00
    @geekvcn 以前那篇没图片,我也没法删除。docker 也有不同的用法,未必是一成不变的。敏感的数据当然不推荐放在容器里,通过技术组合,持久化也是可以做到的,大家可以一起来玩玩探讨也未尝不可,本文也是我花大量时间写出来的,也不用这么着急叫版主仍做广告吧
    lhx2008
        3
    lhx2008  
       2020-09-05 13:13:18 +08:00
    自己搞的 CRI 吗,有啥场景呢。。
    better0332
        4
    better0332  
    OP
       2020-09-05 13:26:38 +08:00
    没涉及 CRI,主要是保持原地调度,用 docker commit 持久化,后面我们会合并 commit 的镜像层来保持性能。场景可以当作及其便宜的个人 ECS,用来测试 /安装奇怪的东东 /爬虫...
    lhx2008
        5
    lhx2008  
       2020-09-05 13:29:33 +08:00
    @better0332 #4 好吧。。玩的开心就好
    shynome
        6
    shynome  
       2020-09-05 16:31:53 +08:00
    - 为啥 github 登录要这么多权限啊
    - 为啥不能通过 docker 镜像部署啊, 都用容器做卖点了, 居然不支持容器镜像部署, 差评
    better0332
        7
    better0332  
    OP
       2020-09-05 17:37:17 +08:00
    @shynome github 登录都是这样的,应该还好啊;容器镜像当然能部署啊

    你是这样部署的吗,有报错信息吗?
    better0332
        8
    better0332  
    OP
       2020-09-05 17:39:42 +08:00
    ![]( )
    better0332
        9
    better0332  
    OP
       2020-09-05 17:51:27 +08:00   ❤️ 1
    @shynome 不好意思,图片没出来
    cszchen
        10
    cszchen  
       2020-09-05 19:27:13 +08:00 via Android
    谁说容器更改不能持久化,docker commit 了解一下
    CraigMC
        11
    CraigMC  
       2020-09-05 20:42:06 +08:00 via Android
    很好用,简直神器。
    shynome
        12
    shynome  
       2020-09-07 11:38:47 +08:00 via Android
    @better0332

    docker 原来是在新业务里面部署的啊,我记得有个部署容器的目录,我还以为是在那里面的

    github 登录提倡最小权限原则,后面需要新的权限话再用一个新的页面索取授权,目前看登录要的权限特别大,明明只要一个身份识别就行了却把账户访问和私有仓库的权限也要了,相比微信要的权限只要身份就可以登录了,让我感觉是蜜罐,虽然你保证自己不会用这个不必要权限做坏事,但是谁能保证以后呢

    没有收到 v 站的通知
    better0332
        13
    better0332  
    OP
       2020-09-09 23:16:21 +08:00
    @shynome 它会自动创建或更新.cubepaas-devops.yml (对应图形界面中的配置)到 git 仓库,所以需要 master 权限
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2967 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 14:40 · PVG 22:40 · LAX 06:40 · JFK 09:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.