热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

amazonec2机器上编译安装LNMP服务器环境

AmazonEC2从2010年11月1日起对新注册用户免费一年,免费的Amazon服务包含750小时的freetiers活动,Freetires包含10GBEBS,30GB带宽(15G上行,15G下行)。关于如何注册网上有非常详细的教程,在这里我就不写了。今天主要是把我在AmazonEC2使用Ubuntu架设LN
Amazon EC2从2010年11月1日起对新注册用户免费一年,免费的Amazon服务包含750小时的free tiers活动,Free tires包含10GB EBS,30GB带宽(15G上行,15G下行)。关于如何注册网上有非常详细的教程,在这里我就不写了。

今天主要是把我在Amazon EC2使用Ubuntu架设LNMP的过程写下来,希望能对有同样需求的同学有所帮助。
这里的LNMP指的是Linux+Nginx+Mysql+Php。

对于LNMP的快速搭建,其实是有LNMP一键安装包,但是考虑到悲剧的EC2 Instance性能,使用LNMP一键安装包半天都编译不好,而且非常容易出错。所以在这里我使用的是在Ubuntu上安装包的方式搭建LNMP。
在Amazon EC2上我选择的Instance是一个Ubuntu 10.04的Instance(AMI ID:ami-2c0fa42d)。
因为我是Mac,所以直接使用的是Terminal运行下面这些命令,Win下可以用putty,Linux下使用终端就好了。

1.登录Amazon EC2
ssh -i ec2.pem ubuntu@Public DNS

2.编辑源。(使用过Ubuntu的同学都知道,我们在安装完Ubuntu的时候都是要先编辑源,在这里也是这样。)
sudo vi /etc/apt/sources.list
lucid(10.04)的源添加下面的内容到sources.list
deb http://archive.ubuntu.com/ubuntu/ lucid main restricted
universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-security main
restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted
universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-backports main
restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid main restricted
universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid-security main
restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates main
restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid-backports main
restricted universe multiverse
deb http://ppa.launchpad.net/nginx/stable/ubuntu lucid main
deb http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main
因为官方源里可能一些包都是旧的,所以使用了第三方ppa源。
当然如果你是用的Ubuntu maverick(10.10),那就添加下面的源。
deb http://archive.ubuntu.com/ubuntu/ maverick main restricted
universe multiverse
deb http://archive.ubuntu.com/ubuntu/ maverick-security main
restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ maverick-updates main
restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ maverick-backports main
restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ maverick main restricted
universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ maverick-security main
restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ maverick-updates main
restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ maverick-backports main
restricted universe multiverse
deb http://ppa.launchpad.net/nginx/stable/ubuntu maverick main

3.更新源。(替换好源接着更新下源。)
sudo apt-get update
4.安装辅助工具 unzip unrar wget rsync。
sudo apt-get -y install unzip unrar wget rsync cron aptitude

5.安装 Nginx,Php,Mysql
sudo apt-get install nginx php5-common php5-dev php5-cgi
php5-fpm php-apc php5-mysql php5-curl php5-gd php5-idn php-pear
php5-mcrypt php5-memcache php5-ming php5-recode php5-tidy
php5-xmlrpc php5-xsl mysql-server

6.创建网站根目录(在这里我们把网站根目录放在 /home/www 下)
sudo mkdir /home/www

7.更改网站目录权限(用户名为ubuntu)
sudo chown -R ubuntu /home/www

8.修改nginx配置文件
sudo vi /etc/nginx/sites-enabled/default
把其中的:
server {
#listen 80; ## listen for ipv4; this line is default and
implied
#listen [::]:80 default ipv6Only=on; ## listen for ipv6
root /var/www;
index index.html index.htm;
替换成:
server {
#listen 80; ## listen for ipv4; this line is default and
implied
#listen [::]:80 default ipv6Only=on; ## listen for ipv6
root /home/www;
index index.php index.html index.htm;
其中的:
#location ~ \.php$ {
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# include fastcgi_params;
#}
替换成:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
/var/www/nginx-default$fastcgi_script_name;
include fastcgi_params;
}

9.安装phpmyadmin管理Mysql数据库。
wget -c http://cdnetworks-kr-1.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.3.2/phpMyAdmin-3.4.3.2-all-languages.zip
unzip phpMyAdmin-3.4.3.2-all-languages.zip
mv phpMyAdmin-3.4.3.2-all-languages /home/www/phpmyadmin
cd /home/www/phpmyadmin
cp config.sample.inc.php config.inc.php
vi config.inc.php
将其中的:
$cfg['blowfish_secret'] = ”;
改为:
$cfg['blowfish_secret'] = ‘web’;
里面的代码:
// $cfg['Servers'][$i]['controluser'] = ‘pma’;
// $cfg['Servers'][$i]['controlpass'] = ‘pmapass’;
// $cfg['Servers'][$i]['pmadb'] = ‘phpmyadmin’;
// $cfg['Servers'][$i]['bookmarktable'] = ‘pma_bookmark’;
// $cfg['Servers'][$i]['relation'] = ‘pma_relation’;
// $cfg['Servers'][$i]['table_info'] = ‘pma_table_info’;
// $cfg['Servers'][$i]['table_coords'] = ‘pma_table_coords’;
// $cfg['Servers'][$i]['pdf_pages'] = ‘pma_pdf_pages’;
// $cfg['Servers'][$i]['column_info'] = ‘pma_column_info’;
// $cfg['Servers'][$i]['history'] = ‘pma_history’;
// $cfg['Servers'][$i]['tracking'] = ‘pma_tracking’;
// $cfg['Servers'][$i]['designer_coords'] =
‘pma_designer_coords’;
// $cfg['Servers'][$i]['auth_swekey_config'] =
‘/etc/swekey-pma.conf’;
全部删除//,然后将其中的:
$cfg['Servers'][$i]['controluser'] = ‘pma’;
$cfg['Servers'][$i]['controlpass'] = ‘pmapass’;
pma对应的是mysql用户名,pmapass对应的是mysql密码。

10.重启服务
sudo service nginx restart //重启nginx
sudo service php5-fpm restart //重启fastcgi进程
sudo service mysql restart //重启mysql进程

至此,Amazon EC2的LNMP就安装完毕了。

推荐阅读
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文详细介绍了在尝试启动MySQL服务时,如果遇到错误提示‘MySQL未运行,但锁定文件(/var/lock/subsys/mysql)存在’应如何处理,包括具体的操作步骤和可能的原因分析。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上安装和配置 MySQL、Tomcat 和 JDK 的步骤。通过本文,您将了解如何顺利安装这些组件,并确保它们能够正常协同工作。 ... [详细]
  • MySQL Administrator: 监控与管理工具
    本文介绍了 MySQL Administrator 的主要功能,包括图形化监控 MySQL 服务器的实时状态、连接健康度、内存健康度以及如何创建自定义的健康图表。此外,还详细解释了状态变量和系统变量的管理。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
author-avatar
mobiledu2502917073
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有