腾讯云从零部署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,以及这台主机的用户名及密码. 二.我们可以使用腾讯云网页上自带的登录按钮进行 ...
随机推荐
- 监控windows服务,当服务停止后自动重启服务
近期花时间研究了一下windows和linux下某服务停了后自动重启的功能,在网上收集了些资料,并经过测试,在此整理一下.这里介绍的是windows服务的监控,是通过批处理来实现的.本例是监控wind ...
- Windows 多线程知识点汇总
一.什么叫原子性? 答:一个操作不会被分成两个时间片来执行,不会刚执行到一半,由于时间片到了,CPU就跑去执行其他线程了.在多线程环境中对一个变量进行读写时,我们需要有一种方法能够保证对一个值的操作是 ...
- [Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
使用ARC能帮我们减轻不少内存管理方面的负担,尤其是对用惯了Java的程序员来说.但是像我这种Java基础本身就不牢固,做了两年的iOS已经习惯手动管理内存的半吊子,使用ARC还是经常碰壁. 对于CF ...
- 开机logo切换逻辑深入研究
增加暗码命令切换开关机logo功能 u-boot logo显示原理: 1.----Little Kernel会在platform_early_init阶段首先会获取lcm params,其工作流 程就 ...
- 粒子群优化算法(Particle Swarm Optimization)
粒子群算法的思想源于对鸟/鱼群捕食行为的研究,模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法.它没有遗传算法的"交 ...
- Pre-Update and Pre-Insert Trigger Examples For Oracle Forms
See also: Why And When To Use Pre-Update and Pre-Insert Triggers In Oracle FormsPre-Update Fires dur ...
- Upgrade R (升级R语言)
R R version 3.1.1 (2014-07-10) -- "Sock it to Me" yum list installed | grep R R-core.x86_6 ...
- change the walltime for currently running PBS job (qalter pbs)
qalter jobid -l walltime=X e.g.qalter 377470.manager -l walltime=2222:00:00qalter: Unauthorized Requ ...
- C# WPF – 利用“Attached Property” 把 RoutedEvent 接上 ICommand
本文说明怎样把 DoubleClick 连接至 ICommand.方法很多.推荐使用 Attach Property 方式,因为它能把任何 RoutedEvent 接上任何 ICommand. 之前写 ...
- Makefile文件简单整理
.PHONY:clean main:hello.o gcc -o main hello.c hello.o:hello.c gcc -c hello.c clean: rm -f hello.o ma ...