Tag-Archive for » aws «

系统迁移到T3(并纪念某年今日)

在今天这个特殊的时间,服务器架设3年到期,也是某年之后而立之期,把系统从原来的T2迁移到了T3。

折腾这事事情比之前预料的要复杂一些,之前也查找了许多相关的资料,无外乎T2与T3的比较以及切换要注意的点,也就是注意启用ENA之类。

然而按照自己不求甚解的习惯,忽略了一开始就有的疑问:

既然instance已经被停止了,我要怎样通过命令行来启用ENA?

显然我不可能通过ssh登录,AWS后台上也没有发现输入命令的地方

然后选择了先跳过,先买了T3的三年全预留,然后创建Snapshot,停止镜像,修改instance类型为T3,重启实例

当然,这里就会提示实例没有开启ENA支持,不能被启动。

通过参考这里,明白要通过CLI来启用,然后很当然地犯了个错误,我在通过ssh来运行aws命令。首先增加了IAM密钥对来把ssh登录为IAM用户,半天折腾以后果然提示我instance不能在不是stopped的情况下被修改。得了,好好看AWS的文档去。

先安装PS下的AWS CLI。(这里也犯了个错误,下载了CLI的SDK,安装半天不认识AWS命令,想了半天去重新下了CLI TOOL)

WIN10的Powershell大概是我的使用习惯问题还是怎么的,可能正在安装aws CLI的缘故,看上去就是失去响应的,重开两次,aws configure输入密钥对后,终于执行命令成功,也没有返回值,运行结束没有报错就完了。

然后启动实例,httpd和mysql是默认随机启动的,网站终于重新可以访问了,类型也变成了T3。

不过,第一次登录WP后台,出现了

Error establishing a database connection wordpress

不登录能正常显示,登录就不行了?先重启mysql再说。然后,就登录进来了。。。

先这样罢,有什么问题遇到再说,也不知道T3的实例有什么其他问题需要处理。

–后记,发现自己买的实际是T3a的实例,所以,又修改了一次

Category: IT, Personal  Tags:  Leave a Comment

AWS上架设SS服务器

为了方便平常Google,着手在服务器上架设SS服务器,因为同时要跑mysql和apache,选择了资源相对用较少的Shadowsocks-libev.

首先使用了以下链接的脚本
Shadowsocks一键安装脚本

同时要注意Amazon Linux默认不开启RPEL,需要按以下办法开启
Amazon EC2 Enable EPEL

默认的yum repo并缺少几个依赖包(dbetls-devel和udns-devel),Linux的包依赖问题太反人类.

12/23/2017 更新了merlin插件后不能科学上网了,重新升级了服务器端,udns去掉了,增加了c-ares,顺利无意外.

Category: IT  Tags: , ,  Leave a Comment

blog迁移到AWS

godaddy的免费空间只可以使用到月末,折腾了两小时将blog迁移到了aws的ec2 t2.micro.

仅将常用的主题theme下载已经花了不少时间,插件什么的还是重新安装比较快捷.明天再折腾一下应该可以完工.

04/23/2016 所有動作都已經完成.所有已做的修改如下

  1. 主程序升級到4.5版本,語言切換回中文以正常使用摘要及字數統計的功能.
  2. 重寫了所有含圖片的日誌,之前的圖片顯示有問題,lightbox2似乎沒有正常工作,為了避免之後使用ec2的服務器產生過多流量,會避免站內圖片.
  3. 所有的日誌同步完成,暫時沒有發現異常.
  4. 修改了日誌固定鏈接格式,之前的地址已經無效,因為不能完全格式化映射,就重新開始罷.
  5. 消滅了几篇不合時宜的日誌.
  6. dns解析已經切換到彈性IP地址,子目錄的映射已做.因為沒有再使用godaddy的解析,待18年域名到期後可能轉入aws托管.

06/04/2016

  1. 免费的ec2 micro到期,买了三年的ec2 nano全预付,转移到ec2 nano服务器.检查无误

06/07/2016

  1. 检查网站不能访问,显示
    Error Establishing a Database Connection

    可以确认是mysql数据库没连上,可能是4号改ec2类型出的问题.重新

    [ec2-user ~]$ sudo service mysqld start
    [ec2-user ~]$ sudo chkconfig mysqld on
    

    恢复正常.

06/11/2016

  1. 检查网站再次不能访问,依然是mysqld服务终止,而且restart失败,google之后原因为httpd占用了太多的内存以至于mysqld没有足够的条件启动,先restart httpd再 restart mysqld解决.
  2. 但是问题还是在,按照网上说明
    [ec2-user ~]$ sudo vim /etc/httpd/conf/httpd.conf

    增加了以下几条

    Timeout 30
    KeepAlive On
    MaxKeepAliveRequests 50
    KeepAliveTimeout 10
    <IfModule prefork.c>
    StartServers 2
    MinSpareServers 2
    MaxSpareServers 5
    MaxClients 10
    MaxRequestsPerChild 100
    </IfModule>

    然后restart httpd,先看看能支撑几天好了.
    试图取消加载wordpress 不需要的 apache module ,但是内存占用似乎没有变化

  3. 本来计划把mysqld优化下将InnoDB禁用掉,但似乎默认使用的数据库是这个,需要转换MyISAM,复杂度比预想的要高,先不动.
    mysqld 5.3以后是默认InnoDB,pass这个修改计划.

06/12/2016

  1. jetpack的网站监控功能不能检查到mysqld失败的状况,除非apache失败或者ec2服务器直接挂掉,就有些鸡肋了.配合cron任务正好.
  2. 增加了cron任务5分钟检查一次mysqld是否运行,如果没有运行就重启apache和mysql
    #!/bin/bash
    pgrep -x mysqld &> /dev/null
    if [ $? -ne 0 ]
    then
    	echo "At time:`date` :MySQL is stop.\n">> /var/log/mysqld_msg.log
    	sudo service httpd restart >> /var/log/mysqld_msg.log
    	sudo service mysqld restart >> /var/log/mysqld_msg.log
    
    else
    echo "MySQL server is running `date`"
    
    fi
    

    注意区分’和`,以及不要把$写作&…

02/03/2017

  1. 新购买了一个aws Route 53上的org域名.$12每年.比godaddy的便宜.DNS的解析依然放在dnspod上,邮箱的服务停放在 Google上(好在之前有注册google apps服务).

 

Category: Blog, Personal  Tags: , ,  Leave a Comment