2011年12月6日星期二

Amazon EC2学习笔记——LNMP的安装


Amazon EC2学习笔记——LNMP的安装

前言

上一篇笔记介 绍了Giroro搭建EC2 Instance的一些心得,那么接下来就应该开始安装数据库,Web服务器等应用了。在这里Giroro选择的是使用LNMP一键安装包来搭建 Nginx+MySQL+PHP的环境,之后再在这个环境上面搭建包括WordPress在内的各种PHP应用。

正文

对于LNMP的版本,Giroro选择的是LNMP.org的安装包。其实官方网站上已经有详细的安装文档了,不过对于我们的EC2 Instance,还是应该具体情况具体分析的。
1. 下载LNMP一键安装包
wget -c http://soft.vpser.net/lnmp/lnmp0.6.tar.gz
2. 解压LNMP一键安装包
tar zxvf lnmp0.6.tar.gz
3. 执行自动安装脚本

cd lnmp0.6/
./centos.sh
这里有一点要注意,因为这个instance性能十分有限,所以这个安装过程通常需要花费几个小时之久,如果一旦中途断线就前功尽弃了,Giroro就因为这个原因重装了两次LNMP……
那怎么解决这个问题呢?也许有人会想到用nohup,无错,Giroro第一反应也是用 nohup命令。但是由于这个安装脚本需要输入一些参数,所以nohup就无法胜任了。所幸折腾了一番之后,通过Google大神的帮助,Giroro找 到了解决之法——screen命令。
由于系统并没有自带screen命令,所以我们需要先安装。
yum install screen
然后新建一个screen,用于执行自动安装脚本。
screen
这样就可以在这个screen中运行安装脚本了,即使你的SSH客户端断开安装过程也不会受到影响。
如果你不想观看那些刷屏的log,大可按下Ctrl+A+D离开当前的screen。等到想了解安装进度的时候运行screen -ls,记下screen的pid,再运行screen –r pid即可返回该screen。
如果想要彻底关闭screen,直接输入exit即可。
关于screen的更多介绍可以参考这篇文章
安装时首先会提示你输入域名,其实这里保持默认就好了,因为这里的域名只是显示在探针上的。
然后会提示你输入MySQL的root密码,默认是root,不过这里最好还是改掉。有一点要注意的是,这里是可以输入特殊字符的,比如括号之类,但是phpmyadmin貌似对特殊字符支持不是很好,所以还是输入大小写英文字母加数字吧。
之后就是无尽的log和无尽的等待,建议睡前跑下这个脚本,然后上床睡觉去……
安装完成之后,可以根据需要选择安装 eAccelerator,ionCube,PureFTPd或VsFTPD,Giroro只安装了前两项,因为Giroro没打算把这个 instance当作FTP服务器来用,如果只是单纯想上传文件的话直接使用SFTP协议连接服务器即可。
4. 虚拟主机管理
运行./root/vhost.sh来绑定域名。其实这个脚本最终会在/usr/local/nginx/conf/vhost这个目录下生成一个对应绑定的域名的配置文件,所以如果这里出错了日后可以手动修改这个配置文件。
第一步,输入要绑定的主域名(由于我之前已经绑定过了www.giroro.com,所以这里会提示域名已存在,请无视之)。
第二步,如果需要绑定其他域名,输入y,继续输入要绑定的域名。
第三步,输入网站的主目录,默认是/home/wwwroot/域名,保持默认即可。
第四步,选择是否启用伪静态规则,如果启用,输入y,LNMP已经自带了一些规则,这里我输入了wordpress。
第五步,选择是否启用日志,建议输入n。
到这里,LNMP的安装就基本完成了。下面是一些可能会对你有用的信息:
LNMP状态管理:
/root/lnmp {start|stop|reload|restart|kill|status}
LNMP相关目录:
MySQL: /usr/local/mysql
PHP : /usr/local/php
Nginx : /usr/local/nginx
5. 一点点扫尾工作
安装完LNMP不代表一切都搞定了,因为要向/home/wwwroot目录下上传文件需要 使用www用户登录。而如果你直接用PuTTY或者Tunnelier并试图用www用户登录时,一定会遇到一个名 为”SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE”的错误。这是因为Amazon EC2 Instance是使用密钥对进行登录的,而在创建instance时,我们下载了一个密钥,对应的另一个密钥则存储在ec2-user的文件夹里。因此 当使用www用户登录时,就会因为缺少密钥而无法登录。解决方法很简单,在/home/www目录下建立一个.ssh目录(不要漏掉了开头那个点),然后 输入以下命令即可(注意文件权限,owner和group都应该是www)。
cp /home/ec2-user/.ssh/authorized_keys /home/www/.ssh/

待续

好了,到这里,安装LNMP的部分就结束了。接下来的几篇笔记里,我会继续介绍在LNMP上安装WordPress的一些心得。

没有评论:

发表评论