腾讯云从零部署nodejs站点
版权声明:本文由袁飞翔原创文章,转载请注明出处:
文章原文链接: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机大功告成:
腾讯云从零部署nodejs站点的更多相关文章
- 腾讯云上免费部署HTTPS
接上篇<腾讯云下安装 nodejs + 实现 Nginx 反向代理>,想从头一步到位的同学建议从上篇文章开始阅读.本文将继续介绍如何通过 Nginx 免费部署HTTPS. 留意下,这里的“ ...
- 腾讯云centos 7部署 dotnetcore+Angular2 实践
版权声明:本文由屈政斌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/239 来源:腾云阁 https://www.qclo ...
- 腾讯云Centos服务器部署问题
在Centos7上部署Tomcat过程 下载并安装JDK 下载并部署Tomcat 打开Centos中对应的端口(默认80) 这几步操作很清楚,但首次使用Centos7时遇到了一个问题,外网无法访问服务 ...
- 腾讯云Windows Server下nodejs websocket ssl配置
1.从腾讯云申请SSL证书,下载解压,得到如下文件: 2.nodejs代码: // wss.js const fs = require('fs'); // 一些配置信息 const cfg = { p ...
- 腾讯云linux系统部署项目无法通过外网访问
最近尝试使用了一下腾讯去的linux系统服务器,但是却遇到各种问题,下面记录的问题是项目部署完成后却无法通过外网访问. 服务器:腾讯云 系统 :CentOS 8.0 64位 处理思路:通过度娘百般摸索 ...
- PHP--腾讯云服务器上部署LNMP环境
本文参考 云服务器上部署Laravel的实例教程 腾讯云 创建 Laravel5.4 项目 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PH ...
- 腾讯云服务nginx部署静态项目
一直想要搭建自己的blog,买了基础云服务器练手 文章内容是根据腾讯文档(https://cloud.tencent.com/document/product/213/2131)总结 部署静态页面归纳 ...
- 腾讯云EKS 上部署 eshopondapr
腾讯云容器服务(Tencent Kubernetes Engine,TKE)基于原生 kubernetes 提供以容器为核心的.高度可扩展的高性能容器管理服务.腾讯云容器服务完全兼容原生 kubern ...
- 腾讯云从零搭建PHP运行环境
一.首先我们得注册腾讯云,租用一台服务器,我选择的是CentOS 7.2 64位,这时候会给你这台主机的公网IP和内网IP,以及这台主机的用户名及密码. 二.我们可以使用腾讯云网页上自带的登录按钮进行 ...
随机推荐
- WPFの单例模式
版本一: /// <summary>/// A simple singleton class implements./// </summary>public sealed cl ...
- mvc ==》json url
mvc ==>json 这也是.net 4.0 与4.5的区别,4.0 自带 ,而4.5 则要自己加上去,微软说是 當然,最簡單的應變措施就是直接把這段設定加回去,不過,加回去之前請三思,這條設 ...
- C#注册表操作,根据键取值
string into = ""; RegistryKey key = Registry.LocalMachine; RegistryKey myreg = key.OpenSub ...
- Python 字符编码 zz
http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 1. 字符编码简介 1.1. ASCII ASCII(American Stan ...
- virtualenv -- python虚拟沙盒(linux版本)
有人说:virtualenv.fabric 和 pip 是 pythoneer 的三大神器. 不管认不认同,至少要先认识一下,pip现在倒是经常用到,virtualenv第一次听说,不过,总得尝试一下 ...
- EasyUI--messager
1. alert 方法 <script type="text/javascript"> $( function() { $.messager.alert("调 ...
- 5.5.3使用terminfo功能标志
当使用terminfo时,需要做的第一件事就是调用函数setupterm来设置终端类型.这将为当前的终端类型初始化一个TERMINAL结构.然后,你就可以查看当前终端的功能标志并使用他们的功能了. # ...
- [SAP ABAP开发技术总结]EXIT-COMMAND
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- HDU 5826 physics(物理)
physics(物理) Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) D ...
- POJ-2175 Evacuation Plan 最小费用流、负环判定
题意:给定一个最小费用流的模型,根据给定的数据判定是否为最优解,如果不为最优解则给出一个比给定更优的解即可.不需要得出最优解. 解法:由给定的数据能够得出一个残图,且这个图满足了最大流的性质,判定一个 ...