文档章节

腾讯云从零部署nodejs站点

偶素浅小浅
 偶素浅小浅
发布于 2016/11/09 12:12
字数 807
阅读 71
收藏 0

版权声明:本文由袁飞翔原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/176

来源:腾云阁 https://www.qcloud.com/community

 

最近入手了一台腾讯云机子,用于团队社区站点的建设,站点架构:

  • 数据库服务:mongodb
  • 后台:nodejs + express
  • 接入:nginx  

整个购买到部署的要点步骤:

  • 服务器购买
  • nginx 编译安装配置
  • node 安装
  • mongodb 安装
  • server部署

服务器购买

从腾讯云的首页找到购买入口。(弱弱的说一句,云太多了,企鹅云发展好快~~~ )

按需选择自己的配置,包年可以优惠只需付10个月。最终我们的配置

选购硬盘时需要注意可以选择云硬盘,它支持很多扩容,性能按官方的描述没有多大差别,详细硬盘对比

购买成功几分钟之后我们便能拿到机器的IP

登录机器

ssh ubuntu@119.29.237.x

第一次使用用户名和密码登录,之后可以配置ssh的免密码登录

nginx 安装

使用apt-get安装nginx

sudo apt-get install nginx

这是最简单的方法,但是这不是最新的nginx,如果需要支持http2,至少需要nginx 1.9.5,因此我们选择本地编译最新的nginx安装

wget https://nginx.org/download/nginx-1.10.1.tar.gz
tar -xvf nginx-1.10.1.tar.gz
cd nginx-1.10.1

# 安装编译依赖
sudo apt-get install make libssl-dev zlib zlib-devel zlib1g-dev openssl openssl-devel pcre-devel \
    libpcre3-dev libpcre++-dev

# 编译安装
./configure --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module \
    --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module \
    --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module \
    --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module \
    --with-file-aio --with-ipv6 --with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' \
    --with-http_v2_module
make
sudo make install

# 之后nginx将安装至 /usr/local/nginx目录
# 创建一个nginx命令软连接
sudo ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx
# 之后就可以运行`nginx`命令了
nginx -V

# 配置nginx的自动启动
# 下载init.d/nginx文件
sudo wget https://raw.githubusercontent.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
# 添加开机自动启动
sudo update-rc.d -f nginx defaults

# 启动
sudo /etc/init.d/nginx start  
# sudo /etc/init.d/nginx stop  # 停止
# sudo /etc/init.d/nginx restart  # 重启

mongodb 安装

mongodb可以直接使用apt-get安装

sudo apt-get install mongodb

# 添加开机自动启动
sudo update-rc.d -f mongodb defaults

# 启动
sudo /etc/init.d/mongodb start

node 安装

# 从node官网下载已编译好了的node 
wget https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.xz
tar -xvf node-v4.6.0-linux-x64.tar.xz
cd node-v4.6.0-linux-x64.tar.xz

# 拷贝安装
sudo cp -r bin include lib share /usr/local/

# node 命令测试
node -v

server部署

准备工作:

# 创建目录
sudo mkdir -p /data/www/ivweb.io

# 创建用户
sudo groupadd www

# 创建用户
# nginx也使用此用户运行
sudo useradd www -g www -d /data/www

# /data目录权限
sudo chown www:www /data

# 安装forever
sudo npm install -g forever

本地使用rsync命令同步文件至服务器(Linux/Mac,windows的同学需要先安装这个命令)

rsync -rtzvlC --exclude node_modules --exclude ".git" \
    ./ "www@ivweb.io:/data/www/ivweb.io"

启动服务

# 使用www登陆服务器

cd /data/www/ivweb.io
# 安装依赖
npm install
# forever 启动app
forever start app.js

# 可以使用`forever list`查看运行情况及对应的log输出文件,使用`tail -f`动态查看log
forever list
# tail -f XXX.log

之后配置nginx映射,重启nginx机大功告成:

本文转载自:

偶素浅小浅
粉丝 8
博文 202
码字总数 0
作品 0
信阳
私信 提问
如何通过织云 Lite 愉快地玩转 TSW

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 织云 Lite & TSW 织云 Lite 是一款轻量型服务管理平台,提供标准化的应用打包操作,可连接持续集成系统,完成线上程序分发,轻松...

腾讯云+社区
2018/05/22
0
0
如何通过织云Lite愉快地玩转TSW

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 织云 Lite & TSW 织云 Lite 是一款轻量型服务管理平台,提供标准化的应用打包操作,可连接持续集成系统,完成线上程序分发,轻松...

腾讯云加社区
2018/05/22
0
0
面向 Web 开发者的 Node.js 基础设施 - Tencent Server Web

腾讯 Tencent Server Web(TSW),是一套面向 WEB 前端开发者,以提升问题定位效率为初衷,提供染色抓包、全息日志和异常发现的 Node.js 基础设施。TSW 关注业务的运维监控能力,适用于 http、...

匿名
2018/05/21
1K
0
Nodejs项目部署阿里云完整流程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/u013263917/article/details/79037770 nodejs项目部署阿里云完整流程...

坤小
2018/01/11
0
0
Serverless——前端的3.0时代

《信息简史》中说“进化本身是生物体与环境之间持续不断的信息交换的具体表现”,前端技术的进化也是如此。浩瀚的前端宇宙中,又出现过哪些耀眼的星辰呢?指引前端未来的“北极星“又在何方?...

腾讯云云开发
09/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
12
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部