[实战AWS EC2]基于Ubuntu,Tengine服务器构建Git管理NodeJs,Redis,MongoDB的网站(Nodejs实战)
[实战AWS EC2]基于Ubuntu,Tengine服务器构建Git管理NodeJs,Redis,MongoDB的网站(Nodejs实战)
以前发过两个topic如下: 技术交流加入QQ群:261654896
经过一年多在aws ec2上的倒腾,用nodejs,mongodb,redis,nginx配置网站开发过程中遇到的问题与技巧,今天和以后打算抽出点时间来记录下了,本文算是一个目录吧!
这个topic的题目想了好久终于出来了。但每个部分又是相关连的,比如说ec2 instance的选型,直接关系到程序开发中mongodb的快速读写,Tengine和redis和mongodb的log日志又影响到ec2上EBS的IO操作,事关你的费用如何降低,这里没有提到其它的云服务器,比如阿里云,盛大云,微软云,还有德国战车SAP将要与中国电信联手的云,事实上aws云价格在那,服务在那,国内的小云云那都不是一个层面上的东东,前些日子去听aws在中国的group时,还收到了$50的优惠券,经过比较阿里云,最后还是选择使用aws。
[实战AWS EC2]基于Ubuntu,Tengine服务器构建Git管理NodeJs,Redis,MongoDB的网站
希望大家看到题目能够激发创业的激情,并希望在技术角度help到每个哭B的叼丝。
暂定内容如下:
开头吐槽、我想搞个网站容易,赚点小钱可不容易 (每天写一点)
网站域名抢注、购买、备案,如何选服务器
一、在AWS EC2上创建你的云服务器 (已完成,已发布,可以转载)
AWS EC2上创建instance,如何选型,以及在instance stroage,EBS,VPC,保留实例,IO操作,S3存储
二、对EC2上的EBS分区 (已完成,已发布,可以转载)
AWS EC2不同与阿里云的,图解说明EBS分区。
三、在EC2上安装nodejs (已完成,已发布,可以转载)
讲讲我们使用aws ec2的程序安装目录、数据库安装目录、git服务器、supervisor管理的最终目的。
四、在EC2上安装mongodb并配置创建用户和安装redis数据库 (已发布,已完成,可以转载)
五、如何用Supervisor来监听redis、mongodb、nodejs、nginx服务 (已发布,已完成,可以转载)
六、安装配置Tengine(已发布,更新中)放弃nginx来使用它
讲讲nginx的超集,taobao,aliyun等正在使用的,对nginx进行加模块的服务器Tengine, 如何配置搜个够(sogego.com)和手机扣扣(phoneqq.com),并打算使用lua语言,在Tengine上直接操作redis数据库
七、在EC2上安装配置Git,做为Git服务器,创建phoneqq.com和sogego.com及bugsky.com版本库 (已发布,已完成,可以转载)
实现在本机用win7在webstorm中开发,直接commit到网站目录下,不再使用ftp或是sftp
八、讲Nodejs开发中,如何使用express,socket.io,bootstrap,redis,mongodb
针对nodejs开发的高级篇,使用mongoose来开发mongodb
九、细讲phoneqq.com微信上墙,微信公众服务平台开发
十、细讲sogego.com搜个够,使用nodejs写的爬虫,爬新闻,时实发到新浪微博,最后获得广告联盟佣金
[实战AWS EC2] 基于Ubuntu, Tengine服务器构建Git管理NodeJS, Redis, MongoDB的网站(Nodejs实战)
开头吐槽、我想搞个网站容易,赚点小钱可不容易
开发一个网站不仅仅是编写代码这么简单。从选择域名到服务器,从部署应用到监控性能,每一个环节都需要仔细考虑。本文将分享如何在AWS EC2上搭建一个完整的环境,包括NodeJS、MongoDB、Redis等组件。
网站域名抢注、购买、备案,如何选服务器
- 域名:选择一个合适的域名是第一步。可以使用阿里云或AWS Route 53进行域名注册。
- 服务器:AWS EC2提供了多种实例类型。对于大多数Web应用,t2.micro是一个不错的选择,因为它提供免费套餐。
在EC2上安装NodeJS
首先,我们需要在Ubuntu上安装NodeJS。可以通过以下命令完成:
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
安装MongoDB和Redis
安装MongoDB和Redis也是必要的步骤。以下是安装MongoDB的命令:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
安装Redis:
sudo apt-get install redis-server
使用Supervisor管理服务
Supervisor可以帮助我们更好地管理后台服务。首先安装Supervisor:
sudo apt-get install supervisor
然后编辑Supervisor配置文件,例如创建一个NodeJS服务:
[program:nodejs]
command=/usr/bin/nodejs /path/to/app.js
directory=/path/to/app
autostart=true
autorestart=true
stderr_logfile=/var/log/nodejs.err.log
stdout_logfile=/var/log/nodejs.out.log
保存后运行:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start nodejs
安装配置Tengine
Tengine是Nginx的一个分支,由阿里巴巴贡献。安装Tengine:
sudo apt-get update
sudo apt-get install tengine
配置Tengine以反向代理NodeJS应用:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
在EC2上安装配置Git
Git服务器可以方便地管理代码版本。安装Git:
sudo apt-get install git
创建Git仓库:
cd /opt/git
mkdir phoneqq.git
cd phoneqq.git
git --bare init
NodeJS开发中的高级篇
使用Express框架简化Web开发:
npm install express
使用Socket.IO实现实时通信:
npm install socket.io
总结
通过上述步骤,你可以在AWS EC2上搭建一个功能完备的网站,包含NodeJS、MongoDB、Redis等组件。希望这些内容能帮助你在技术道路上更进一步。
本文仅作为初步指南,具体实施时需要根据实际需求进行调整。
我顶一个目录
终于完成了:在AWS EC2上创建你的云服务器 这一章
第二章与第三章也写完了
aws 的中国region,马上就可以使用了,大家坚持到明年初,1月份,就可以在中国用上aws服务了 第三,第四也写完了。
aws ec2 的服务器怎么购买,好象在国内进不去。
看下~! ~
谢谢
dd
现在你的http://sogego.com是挂在amazon的aws上的吗,你的这个网站进倒是可以进去,但点搜索以后,一直在loading。。。
在这个帖子中,作者计划详细讲解如何在AWS EC2上搭建一个完整的Web应用环境,使用Ubuntu系统,通过Tengine服务器管理Git,部署Node.js、Redis和MongoDB等组件。以下是各个步骤的具体实现方式,附带了一些关键代码片段。
1. 在AWS EC2上创建云服务器
- 步骤:
- 登录AWS管理控制台,选择EC2服务。
- 创建一个新的EC2实例,选择Ubuntu作为操作系统。
- 配置安全组以允许HTTP、HTTPS和SSH端口访问。
# 安装必要的软件包
sudo apt-get update
sudo apt-get install git curl
2. 安装Node.js
- 步骤:
- 使用NodeSource PPA安装Node.js。
- 验证Node.js和npm的安装。
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v
npm -v
3. 安装MongoDB和Redis
- 步骤:
- 添加MongoDB官方APT仓库并安装MongoDB。
- 安装Redis并启动服务。
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo apt install redis-server
4. 配置Supervisor管理服务
- 步骤:
- 安装Supervisor。
- 配置文件用于管理Node.js、MongoDB和Redis。
; supervisor配置文件示例
[program:node]
command=node /path/to/app.js
directory=/path/to/app
autostart=true
autorestart=true
stderr_logfile=/var/log/node.err.log
stdout_logfile=/var/log/node.out.log
5. 配置Tengine服务器
- 步骤:
- 下载并编译Tengine。
- 配置反向代理和负载均衡规则。
# Tengine配置示例
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
6. Git服务器设置
- 步骤:
- 安装Git。
- 配置Git服务器和用户权限。
sudo apt-get install git
git config --global user.name "Your Name"
git config --global user.email you@example.com
通过这些步骤,你可以构建一个完整的Node.js应用环境,并且利用AWS EC2的强大功能和高可靠性。