zoukankan      html  css  js  c++  java
  • 腾讯云从零部署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机大功告成:

  • 相关阅读:
    LDA线性判别分析原理及python应用(葡萄酒案例分析)
    运用sklearn进行主成分分析(PCA)代码实现
    主成分分析PCA数据降维原理及python应用(葡萄酒案例分析)
    Eclipse开发Android项目报错解决方案详细教程,最新版一篇就够了!
    深度学习模型调优方法(Deep Learning学习记录)
    mnist手写数字识别——深度学习入门项目(tensorflow+keras+Sequential模型)
    熵、联和熵与条件熵、交叉熵与相对熵是什么呢?详细解读这里有!
    2020 年百度之星程序设计大赛
    2020年百度之星程序设计大赛-初赛二
    Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)
  • 原文地址:https://www.cnblogs.com/purpleraintear/p/6046474.html
Copyright © 2011-2022 走看看