这几天在想着降低AWS RDS的Data Transfer费用发愁,由于文件服务器不在AWS,连接RDS会被按照流量收取Data Transfer Fee,费用还特别高。想了几个解决方案:
把文件服务器搬到EC2,但是价格有点吃不消
用Elastic Beanstalk或者EC2 Container Service做个Dock跑php
把数据库搬出RDS
在各种纠结和调研的时候,突然发现amazon多了个lightsail服务,每个月是固定价格且非常低(最低每个月只要$5)。就深入研究了下,发现非常不错,分享下自己的实战经验。
首先他有美东、美西、日本等机房可以选择,特别是日本机房,应该是非常符合国内的需求。其次他直接提供了安装好的服务包,热门的wordpress,LAMP,Nginx他都有。本人尝试了wordpress和nginx。
补充:他还有独立IP的选项
wordpress的感觉就是lamp加了一个wordpress的安装包,装好后直接就可以访问,如果需要整合的话,直接导入文件和数据库就行了。
本人是nginx控,而且想试试他能不能多站点,所以就主要研究了nginx的VPS。
网页端的操控平台非常简单,不多介绍了。重点就是1. 绑定IP,2. 打开SSH,3. 端口开关。服务器端使用的是bitnami(不熟悉也没关系,操作指令和ubuntu几乎一样),下面提下几个重要的操作:
备份
这个之所以放在我的第一条,是因为刚被黑客搞了。遗憾的是LightSail没有提供自动备份服务(收费的都没),估计以后会有,但是他有手动创建snapshot的功能,不怕麻烦的可以经常自己手动备份。介于对AWS安全性的信任,加上服务器是官方配置的,应该那么容易被黑。
不过snapshot有个好处,他可以作为AMI,配置好的服务器弄个snapshot,然后直接deploy到新的服务器,省去了很多时间。
root密码
一开始没搞明白,看了他的文档才弄懂,他是自动生成的,进入SSH,输入
cat bitnami_application_password
SSH Key
这个东西是下面很多操作的基础,去account里面下载,和ec2一样,放一个安全的地方,权限设置为400
PHPMyadmin
他的数据库在本地,但是默认外部无法访问,数据库操作全部通过phpmyadmin,连接方法如下(for mac):
1.建立一个ssh的tunnel
ssh-N-L8888:127.0.0.1:80-i你的pem文件bitnami@服务器IP
2.浏览器访问localhost:8888/phpmyadmin即可
3.用户名是root,密码是上面提到的密码
官方有支持修改密码以及外部3306访问,有兴趣的可以看下官方的文档:https://docs.bitnami.com/aws/components/phpmyadmin/?utm_source=bitnami&utm_medium=cloudimage&utm_campaign=aws
SFTP登陆文件系统
地址:IP
端口:22
用户名:bitnami
记得先绑定证书(不会的自己google)
多站点/https
其实这么便宜的价格,一个机子一个站点都不为过,但是既然研究了,那就介绍下多站点如何设置。
其实会弄nginx设置的话,并没有什么难度,主要要弄清楚他的目录结构:
网站文件目录(默认用户有写入权限):/opt/bitnami/nginx/html,可以在这里建立各个网站的目录,另外nginx的conf最好也放这里(不然你就要用ssh自己vi搞了),我把https的证书也放这里了(不安全,放着测试)
Nginx的配置:/opt/bitnami/nginx/conf/nginx.conf,最下面加个include “目录/*.conf”即可
重启Nginx:这时候要去ssh,这里和正常的重启不同,需要用以下指令:
sudo/opt/bitnami/ctlscript.sh restart nginx
PHP7
默认的php是5.4让用惯7的人表示很不爽,网上搜了下,升级有点麻烦,还是不自己搞了,有兴趣的朋友可以自己搞下,如果能写个攻略分享,在下感激不尽。官方在6月回复说已经着手在弄了,但是还没有发布的时间。我选择再等等,毕竟本身用这个就是为了方便,弄的复杂了还不是弄个EC2
其他问题
wordpress可以不用FTP更新:
define('FS_METHOD','direct');
但记得把目录所有者和权限改下:
sudo chmod775-R/opt/bitnami/nginx/html/你的目录地址/wp-content/plugins/sudo chown-R bitnami:daemon/opt/bitnami/nginx/你的目录地址/wp-content/
在导入sql的时候莫名其妙提示413 Request Entity Too Large nginx,暂时没找到原因。可以使用以下方法导入
mysql-u root-p jing_blog
nx/html/Untitled.sql
总结
作为一个低端市场的产品,amazonLightsail还是非常吸引我的,低廉的价格,基于AWS稳定的服务,全球各地的机房以及简单的部署(并非傻瓜式,还是需要技术功底),而且他一改AWS复杂的操作界面,网页端非常大方直观,用户体验非常的好,不过他比起linode那种全裸的服务器,还是缺少很多可玩性的。另外他和AWS几乎独立,没法整合load balance,cloudfront等服务(但是他有VPC peering),不过基于优势,我准备再测试一段时间,慢慢的将小站点搬过来。如果有新发现会不断更新,欢迎留言交流