Leave a Comment
亚马逊云介绍(3):使用AWS EC2搭建WEB服务器(LNMP)
一、基本环境介绍
AWS EC2新加坡节点(访问速度参照本博客,在我这边基本属于秒开)。系统为Ubuntu14.04,HVM虚拟技术虚拟的。
二、安装mysql
登录EC2后使用 sudo su 切换到root权限。
使用下面命令为下一步的安装做准备:
1
|
apt–get update
|
安装mysql server和client
1
|
apt–get install mysql–server mysql–client
|
安装过程中需要设置mysql的root密码。
三、安装并配置PHP
由于要使用Nginx,所以这里选择安装带fpm版本的php
1
|
apt–get install php5–fpm
|
按需安装相应的PHP模块,这里选择个通用的模块列表
1
|
apt–get install php5–mysql php5–curl php5–gd php5–intl php–pear php5–imagick php5–imap php5–mcrypt php5–memcache php5–ming php5–ps php5–pspell php5–repre php5–snmp php5–sqlite php5–tidy php5–xmlrpc php5–xsl
|
安装完成后,配置php-fpm,配置中出现的ubuntu为EC2的登陆用户。
1
|
vi /etc/php5/fpm/pool.d/www.conf
|
修改或新增如下几项:
1
2
3
4
5
|
user = ubuntu
group = ubuntu
listen.owner = ubuntu
listen.group = ubuntu
listen.mode = 0660
|
将/var/run/php5-fpm.sock所属用户及用户组改为ubuntu,要不会提示权限问题。
1
2
|
chown ubuntu:ubuntu /var/run/php5–fpm.sock
chmod 0660 /var/run/php5–fpm.sock
|
继续如下操作:
1
|
vi /etc/php5/fpm/php.ini
|
1
2
|
short_open_tag = On
cgi.fix_pathinfo=0
|
重启php5-fpm
1
|
/etc/init.d/php5–fpm restart
|
四、安装并配置Nginx
1
|
|
修改nginx配置文件
1
|
vi /etc/nginx/nginx.conf
|
将user改成你的ec2用户名,我的用户名为ubuntu
1
|
user ubuntu;
|
同时在events配置中,加上
1
|
use epoll;
|
修改虚拟主机配置
1
|
vi /etc/nginx/sites–available/default
|
在server配置段中加入
1
2
3
4
5
6
7
8
|
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have “cgi.fix_pathinfo = 0;” in php.ini
# With php5-fpm:
fastcgi_pass unix:/var/run/php5–fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
|
完成后启动:
1
|
/etc/init.d/nginx start
|
五、环境测试
测试Nginx是否启动,在EC2上运行
1
|
curl http://localhost
|
如果输出welcome nginx 字样,说明nginx安装成功。
开放外部80端口访问
由于EC2的80端口默认不对外开放,因此在外部无法直接使用IP访问。
访问Security Groups页面。
选择一个安全配置文件(和instances中配置的安全策略文件对应),然后开放80端口的访问。
接着就可以安装程序了。安装程序及nginx网站配置不在讲解。
注意:网站程序只能存放在/home/ubuntu下,要不会出现权限不足。