每年双十一的时候,由于云厂商对于新用户的推广和补贴用户,总会有一些非技术的同事买云主机或者其他类似服务,买了以后也没啥诉求,就想看能不能搭个博客或者小网站自己玩玩。除了个人用户以外,也有一些小公司可能也有类似诉求,需要一个简单的项目管理或者其他企业软件,一般的诉求都是免费或者花钱少。
我们就用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
这里的0元/月一般都是首月,免费试用下,第二个要收费,另外就是版本相对比较旧,比如现在Wordpress最高版本是5.9,这里的都是5.8的。
阿里云最近还推出了计算巢,目前公测中。这个可以理解为云市场的升级版,除了软件以外还捆绑了云资源配置,购买以后会自动创建云资源并完成部署。
当然,服务提升了,价格也不一样,服务商的收费普遍比云市场贵一些。
计算巢的收费主要是厂商的服务费+云资源的使用费用。目前公测期间,没有平台费用。
另外阿里云还有应用镜像可选,对于特别知名的项目(特别是web类的),可以直接选择。
这个应用镜像的维护周期不明确,单从版本看,比较陈旧。