本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2022/01/30/deploy-to-cloud/
本文首发于:https://developer.aliyun.com/article/863742 修改于发布于本博客
每年双十一的时候,由于云厂商对于新用户的推广和补贴用户,总会有一些非技术的同事买云主机或者其他类似服务,买了以后也没啥诉求,就想看能不能搭个博客或者小网站自己玩玩。除了个人用户以外,也有一些小公司可能也有类似诉求,需要一个简单的项目管理或者其他企业软件,一般的诉求都是免费或者花钱少,简单,后期别出问题。
我们就用wordpress举例,考虑最简单的wordpress也需要一个PHP环境,一个数据库,如果还需要https,那还需要一个nginx或者caddy。
手动安装
手动其实比较麻烦,php环境、数据库和caddy可以使用apt/yum安装,再从wordpress官网下载最新版本,解压使用。数据库需要手动改下密码,然后wordpress配置连接。这么一套,10分钟肯定跑不掉。
而且这还是最基本的,还需要考虑端口的开放,应用的安全配置等等。
Docker-compose方案
docker是最容易想到的方案。
一般来说为了方便我都会帮忙用docker-compose的方式部署一下,几行命令就能搞定,配置文件如下:
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wordpress_data:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wordpress_data: {}
这样来的快,但是慢慢就遇到一些别的问题,比如升级。wordpress有自动升级,只要不出问题基本可以一直用,但是数据库偶尔还是要升级的。这个时候需要重新docker-compose restart一下。
考虑到操作的长期性,我们需要一个docker管理软件,严格讲是远程管理docker-compose的软件,我之前一直使用的Daocloud作为管理界面。
安装包方案
仔细想想在Windows下安装软件的情况,一个installer,一直下一步就能搞定。
而自己搞还有一个问题就安全,配置是否直接使用默认值,默认值是否为最优选择?这些都需要斟酌。
所以一个靠谱的傻瓜安装包也是一个选择,比如Bitnami。
Bitnami提供了常见软件/工具的一键可用的安装包和集成环境,并且暴露了必要的配置,基本上一句命令行就能搞定问题。同时还提供了不同环境的安装包,不光是windows、linux这种,还有docker,甚至云厂商的集成版本。
比如它提供的Docker版本如下:
version: '2'
services:
mysql:
image: docker.io/bitnami/mysql:8.0
volumes:
- 'mysql_data:/bitnami/mysql'
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MYSQL_USER=bn_wordpress
- MYSQL_DATABASE=bitnami_wordpress
wordpress:
image: docker.io/bitnami/wordpress:5
ports:
- '80:8080'
- '443:8443'
volumes:
- 'wordpress_data:/bitnami/wordpress'
depends_on:
- mysql
environment:
- ALLOW_EMPTY_PASSWORD=yes
- WORDPRESS_DATABASE_HOST=mysql
- WORDPRESS_DATABASE_PORT_NUMBER=3306
- WORDPRESS_DATABASE_USER=bn_wordpress
- WORDPRESS_DATABASE_NAME=bitnami_wordpress
volumes:
mysql_data:
driver: local
wordpress_data:
driver: local
也可以直接用,比如
$ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-wordpress/master/docker-compose.yml > docker-compose.yml
$ docker-compose up -d
对于海外的云厂商,支持Google、Azure、Aws等,并且支持一键启动。

云市场
便利的云上部署可以极大降低使用难度,特别是降低入门门槛,利于新用户吸纳。所以云厂商一般也有类似的市场,提供一些免费/收费的集成环境。不过这种一般都是厂商绑定的,非通用。
比如在阿里云云市场搜索Wordpress

阿里云最近还推出了计算巢,目前公测中。这个可以理解为云市场的升级版,除了软件以外还捆绑了云资源配置,购买以后会自动创建云资源并完成部署。
当然,服务简化了,服务商的收费普遍比云市场贵一些。

计算巢的收费主要是厂商的服务费+云资源的使用费用。目前公测期间,没有平台费用。
另外阿里云还有应用镜像可选,对于特别知名的项目(特别是web类的),可以直接选择。

这个应用镜像的维护周期不明确,单从版本看,比较陈旧。
所有云厂商都有提供云市场或者类似服务,比如下图是Google Cloud Market

参考
https://bitnami.com/stack/wordpress/containers
https://help.aliyun.com/product/268599.html
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2022/01/30/deploy-to-cloud/