博客服务器迁移到亚马逊AWS

之前博客放在了HawkHost上,用了将近三年时间,到今年11月份就要到期了。因为在HawkHost上买的是共享主机,自己没权限随便折腾,而且网站打开速度也比较慢,所以打算不再续费。目前比较火的是VPS,但是国外VPS,像linodeDigitalOcean,价格都偏贵,国内阿里云最低配的ECS每个月也得五六十元,其他公司的云服务又不靠谱。在浏览亚马逊的AWS时,看到它现在推出了一个免费体验套餐,体验时间是一年,配置跟阿里云最低配的ECS差不多,所以果断注册试用。
迁移步骤如下:
1.在亚马逊AWS的管理后台创建一个EC2实例。
2.在创建好的EC2实例上搭建好LAMP环境,参见如何搭建LAMP环境
3.把HawkHost上的WordPress程序和数据库迁移到EC2实例上。
4.修改域名的DNS记录到EC2实例的IP地址。
迁移完后,网站可以访问,但是遇到一个问题,文章页面打不开(404)。这个应该是因为Apache httpd的配置问题导致的。考虑到自己对Apache httpd的配置不熟,比较熟悉的是Nginx的配置,所以我决定把Web服务器换成Nginx,使用Nginx+PHP-FPM的方式。
配置步骤如下:
1.停掉Apache httpd:

2.安装nginx和php-fpm:

3.在浏览器中访问http://blog.sousth.com/,出现nginx的默认页面。
4.注释掉/etc/nginx/nginx.conf中的server配置。
5.在/etc/nginx/conf.d中添加blog.conf,内容如下:

6.修改/etc/nginx/fastcgi_params,添加以下配置:

7.测试配置并重启Nginx:

配置完成后,在浏览器中打开博客主页、文章页面和管理页面,都可以正常访问,大功告成。后续再将DNS服务由HawkHost迁移回GoDaddy。

参考资料:
[1] http://www.sitepoint.com/lightning-fast-wordpress-with-php-fpm-and-nginx/
[2] http://wiki.nginx.org/PHPFcgiExample

Web服务器性能优化之Linux系统配置

Linux系统有些配置,比如TCP连接配置、进程允许打开的最大文件数、最大子进程数等,会影响Web服务器的性能。

1.检查系统网络方面的配置:

相应的改进是修改/etc/sysctl.conf,添加以下几行:

执行以下命令使配置生效:

2.检查系统的限制:

相应的改进:
a.修改/etc/security/limits.conf,添加以下行:

b.修改/etc/security/limits.d/90-nproc.conf,修改以下配置:

重启设备使配置生效: