在 Amazon AWS 搭建及部署网站:(二)安装、配置软件,启动网站
现在,我们已经有了一台EC2主机,具备了基本的硬件环境。下面,开始软件环境的配置。
第一步:连接服务器
后面所有的一切,都需要在SSH终端窗口操作。首先,我们需要一个SSH客户端。PuTTY是很常用的工具。这里我们选用 Bitvise SSH Client。这个软件之前叫做“Tunnelier”。软件可以在 这里下载。
下载好后安装,在SSH这一栏填入必须的信息。主机名按实际地址填写,username填ec2-user(EC2默认用户名),在 User Keypaire manager 这里导入之前申请EC2过程中保存的Key Pair 文件(.pem格式)。这里Bitvise Client 的好处就体现出来了,PuTTy无法直接使用AWS格式的KeyPair文件,需要做一次转换,而Bitvise可以直接导入。导入后,选择 Initial Meth中导入的key的栏位,一般是 Slot 1,根据实际情况填写即可:
填写好后,点击Login,第一次回弹出一个确认窗,是否接受认证信息,点击确认,一切正常的话登陆成功后左侧导航栏会出现 “New terminal console”, “New SFTP Window”。点击 new terminal console,熟悉的Linux终端提示符就出现了。后面所有的命令行操作均在这里进行。
这篇文章中提到了如何直接以root身份登录。实际上,所有的操作均可用sudo命令来执行。如果不需要用SFTP向系统文件中上传文件,没有理由直接root登录。后面会介绍用SVN部署代码的方法,除了一些特殊情况,SFTP基本上不怎么需要了。
第二步:安装基本服务:Apache、PHP、MySQL
作为一个基本Web网站,我们需要至少这三样东西:Apache,PHP以及 MySQL。实际上数据库我们将来会使用 RDS提供的MySQL实例。不过这里还是从安装本机版本逐步开始。
依次输入下列指令,安装Apache,MySql,PHP 以及必备扩展库,启动服务,设置 MySQL主密码。
// 安装 apache
yum install http
// 安装 PHP 及必备支持库
yum install php libmcrypt libmcrypt-devel php-mcrypt php-mbstring
// 安装 php-mysql 扩展
yum install php-mysql
// 安装 mysql
yum install mysql
yum install mysql-server
// 设置 MySQL 主密码
mysqladmin -u root password '<the password>'
// 启动服务
service httpd start
service mysqld start
按照提示完成安装后,在浏览器输入主机地址,这时应该会看到Apache的默认欢迎页,表示我们的基本Web服务器开始运行了。
第三步:安装phpMyAdmin
phpMyAdmin 用来管理后台MySQL数据库。首先,我们从官方网站下载,然后解压缩。移动至Web根目录并重命名为 “phpMyAdmin”。因为刚刚下载的文件夹解压后是保护版本号等信息的。
wget http://sourceforge.net/projects/phpmyadmin/files/latest/download
unzip download
mv <unzipped folder name> /var/www/html/phpMyAdmin
rm download
解压之后,删除下载的文件。
现在,赋予phpMyAdmin目录正确的权限。首先坚持Web服务器的用户
egrep 'User|Group' /etc/httpd/conf/httpd.conf
这里会列出如下信息,默认应该是 apache,如果不是,以列出的为准。
User apache
Group apache
执行如下命令设置权限:
useradd phpmydmin
passwd phpmyadmin
cd /var/www/html
chown –R phpmyadmin.apache phpMyAdmin/
然后,创建配置目录并设置权限
cd phpMyAdmin
mkdir config
cp config.sample.inc.php config/config.inc.php
chown –R phpmyadmin.apache config/
chmod –R o+rw config/
完成后重启服务。
service httpd restart
然后用浏览器打开 http://<host>/phpmyadmin/setup,管理界面就显示出来了。点击“新建主机”,输入主机名,主机地址(默认localhost),点击”认证“,选择”config“认证方式,输入数据库用户名和密码。点击保存。

完成后的的关键一步是,回到setup概要页后,注意要保存配置文件:

在这里保存后,所有的设置在真正回写到配置文件中。现在,在浏览器打开 http://<host>/phpmyadmin,登录进入数据库管理后台。如果成功的话,出于安全考虑,我们要删除配置文件和setup目录。
cd /var/www/html/phpMyAdmin
mv config/config.inc.php ./
rm –rf config/
rm –rf setup/
至此,phpMyAdmin配置完成。另外,为了快速开始,我们在认证方式中选择config方式。建议采用cookie方式连接。这里暂时不多做介绍。
另外,我们之前设置的RDS数据库,也可以加入phpMyAdmin进行管理。只要新增一个服务器,将上一篇中配置的RDS的“Endpoint”作为主机名填入,接着填写好对应的管理账号密码即可。
第四步:开始第一个 Wordpress 网站
此类教程网上铺天盖地,这里只做简单描述。
首先,下载,解压,设置权限。
cd /var/www/html
wget http://wordpress.org/latest.zip
unzip latest.zip
chown –R apache.apache wordpress/
chmod –R 755 wordpress
然后,在浏览器中打开 http://<host>/wordpress 。熟悉的 wordpress 初始化页面出现了。按照之前设置的数据库用户名密码填写,根据向导完成后,一个 wordpress 页面就出现在我们眼前。
现在,本地MySQL环境测试正常。我们把它的后端数据库迁移到 RDS。同样,只需要编辑 Wordpress配置文件,修改主机名,DB名,用户名密码即可。
第五步:虚拟主机,域名绑定,以及一点收尾工作
对于Apache的设置,有两件事需要做。第一,出于安全性考虑,应禁用目录浏览。第二,为便于使用(或其他目的),我们需要在同一主机上host多个网站。这些工作都可以通过编辑 Apache 配置文件完成。
首先,用 vi 打开 /etc/httpd/conf/httpd.conf ,找到如下段落:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
</Directory>
删除”Indexes“即可,就禁用了 Web 主文档目录及所有子目录的目录浏览操作。也可对特定目录做此操作。
编辑虚拟主机。首先,需要找到这一行(通常在靠近结尾处)
NameVirtualHost *:80
解开注释。然后在末尾按需求添加段落,比如我们有一个域名 my.name.com,让它指向我们刚刚创建的wordpress站点:
<VirtualHost *:80>
ServerName my.name.com
DocumentRoot /var/www/html/wordpress
</VirtualHost>
现在,保存,退出,重启 apache。在浏览器输入 my.name.com , Enjoy it!
最后,我们不再需要本地 MySql Server,把它删除。
yum erase mysql-server
MySql 保留,用于在本地执行一些 MySql 指令。
至此为止,在AWS运行一个web网站的基本工作就做完了。
参考资料:
1. http://codex.wordpress.org.cn/Installing_WordPress
2. http://httpd.apache.org/docs/2.2/vhosts/name-based.html
3. http://www.cnblogs.com/88999660/articles/1581524.html
在 Amazon AWS 搭建及部署网站:(二)安装、配置软件,启动网站的更多相关文章
- 在 Amazon AWS 搭建及部署网站:序
最近玩了把 AWS,实现了服务器的创建.PHP+MySql运行环境.代码部署等.一方面,后面的项目会反复重复这个流程,需要一份手册,另一方面,也给自己一个记录.于是把整个过程和要点整理一下,发到自己的 ...
- 在 Amazon AWS 搭建及部署网站:(一)申请、设置 AWS 服务
亚马逊 AWS 介绍 简单来说,AWS (Amazon Web Service) 提供了一整套基础设施和服务,使"建站"这件事变得轻松愉快. 你可以利用AWS构建博客主机,云存储( ...
- 在 Amazon AWS 搭建及部署网站:(三)开发及部署环境
服务器已经搭建好,网站也开始运行了.那么如何方便地部署代码呢? 最基本的方式,就是使用 SFTP 向网站目录直接部署.这种方法的缺点是版本控制不便,在上传时也无法方便的比较代码变化. 用SVN来部署是 ...
- TensorFlow Python2.7环境下的源码编译(二)安装配置
源代码树的根目录中包含了一个名为 configure 的 bash 脚本. $ ./configure 接下来,配置系统会给出各种询问,以确认编译时的配置参数. 一.重要参数解释 Do you w ...
- TensorFlow Python3.7环境下的源码编译(二)安装配置
源代码树的根目录中包含了一个名为 configure 的 bash 脚本. $ ./configure 接下来,配置系统会给出各种询问,以确认编译时的配置参数. 一.重要参数解释 Please s ...
- linux环境下kettle部署(JDK安装配置,kettle安装配置,资源库配置,定时执行job)
一.部署准备 1.1 java安装(略) 1.2 JDK配置 1. 命令行键入“cd /etc”进入etc目录 2. 命令行键入“vi profile”打开profile文件 3. ...
- .Net Core 在Linux服务器下部署程序--(2). 部署前需要安装的软件及SDK
安装通用软件 : ping , telnet , lrzsz , zip , wget 安装ping软件,用于测试当前服务器与其他服务器之间的网络通畅情况,和Windows的Ping类似 执行ping ...
- Linux项目部署 jdk tomcat 安装配置 linux下 failed connect to localhost:8080;Connection refused
ONBOOT=yes 5.安装wget (1)安装 yum -y install wget (2) 查看版本 wget --version或 wget -V 一.安装jdk 配置 (1)安 ...
- IDEA热部署(二)---jetty插件启动maven项目
jetty插件的配置 我们使用jetty插件来进行启动我们的maven项目,在pom.xml中进行配置: <plugins> <plugin> <groupId>o ...
随机推荐
- 《Unity預計算即時GI》笔记:二、光照图
说明 这篇文章是对<Unity預計算即時GI>这个系列文章的笔记. 光照图 什么是光照图 光照图在第三章中有如下的定义,读起来很是费解. 一個光照圖(Chart)是表示一個光照貼圖的區域, ...
- 编译安装PHP-7.1.8
安装依赖包: 1.安装yasm cd /usr/local/src tar zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure make make ins ...
- centos6.5_64bit-nginx安装部署
1.配置防火墙,开启80端口.3306端口 vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dpor ...
- LeetCode Longest Substring Without Repeating Characters 最长不重复子串
题意:给一字符串,求一个子串的长度,该子串满足所有字符都不重复.字符可能包含标点之类的,不仅仅是字母.按ASCII码算,就有2^8=128个. 思路:从左到右扫每个字符,判断该字符距离上一次出现的距离 ...
- 配置Maven镜像与本地缓存
IntelliJ IDEA 安装后自带Maven,也可以使用自己安装的Maven. 配置阿里镜像与本地仓库文件夹 找到Maven的安装目录 打开settings.xml配置文件 修改mirrors ...
- Android(java)学习笔记103:Framework运行环境之 Android进程产生过程
1. 前面Android(java)学习笔记159提到Dalvik虚拟机启动初始化过程,就下来就是启动zygote进程: zygote进程是所有APK应用进程的父进程:每当执行一个Android应用程 ...
- Struts2 In Action笔记_页面到动作的数据流入和流出
因为回答百度知道的一个问题,仔细查看了<Struts2 In Action>,深入细致的看了 “数据转移OGNL 和 构建视图-标签”,很多东西才恍然大悟. 一直觉得国外写的书很浮,不具有 ...
- InstallShield Limited Edition for Visual Studio 2013 图文教程打包安装包
http://www.wuleba.com/23892.html 从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“Inst ...
- 学习sqlserver的函数方法
http://www.w3school.com.cn/sql/func_datediff.asp SQL Server DATEDIFF() 函数 SELECT DATEDIFF(day,'2008- ...
- python的对数
python的对数 首先要导入 math 模块: import math import numpy as np math.log(8,2),此为以2为底8的对数 等于 math.log2(8); 等于 ...