今天公司有个项目要把网站服务器移到AWS上,在这里记录下,给自己日后使用,也分享给大家。
AWS 提供的解决方案如下:
简单的说就是,EC2的主机装PHP和Load Balance,RDS装数据库,S3和CloudFront做云处理。下面开始操作
首先RDS不多说了,弄个Instance,然后上传数据库即可。要注意的是,别忘记设置Security groups,不然会导致无法连接数据库。这块有问题的留言私下找我吧。当然你也可以直接把数据库放在EC2上。
EC2我没有选择Amazon Linux,而是RedHat EL,原因是我觉得我更熟悉RHEL一点,而且Amazon Linux用的是Apache,预安装的东西有单多。
创建好Instance之后就是连接ssh的问题,Amazon的安全措施有点麻烦,当你建立Instance的时候你会获得一个pem的证书,好好保存。
Mac直接打开terminal 使用证书链接AWS EC2
ssh -i 证书地址 ec2-user@ec2-54-236-186-128.compute-1.amazonaws.com
Windows就用puppy。不明白点这里:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-linux
我是2016年6月,默认的是RHEL7,请根据自己的情况对以下稍作修改,如果是RHEL6的版本,可以参考我之前的文章:《CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)》
链接后就开始安装吧,首先你会发现他没有wget。
yum install wget
之后你发现他的库没有nginx,只能使用第三方了,注意你的版本号。
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-7.noarch.rpm sudo rpm -ivh epel-release-7-7.noarch.rpm
完成后,安装nginx
sudo yum install nginx sudo systemctl start nginx sudo systemctl enable nginx
下一步,安装图形界面,这一步其实可以忽略,不过我习惯了VNC所以还是装了。
先安装图形
sudo yum groupinstall 'Server with GUI'
安装VNC
sudo yum install tigervnc-server xorg-x11-fonts-Type1 sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:3.service
修改参数,将黄色的换成你的用户名,AWS的都是EC2-USER
sudo vi /etc/systemd/system/vncserver@:3.service
设置密码,记得换到你刚才那个用户下
vncserver
启动vnc
sudo systemctl daemon-reload sudo systemctl start vncserver@:3.service sudo systemctl enable vncserver@:3.service
之后是PHP,nginx需要php-fpm,但是问题来了,发现没有能装的库,继续老办法:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm
编辑/etc/yum.repos.d/remi.repo 改[remi] main repo中的enabled=1
sudo yum install php php-fpm sudo yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
之后nginx和php的配置,我就不多说了,参考下:
《CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)》
《Nginx 配置文件优化详解》