騰訊雲從零部署nodejs站點

版權聲明:本文由袁飛翔原創文章,轉載請註明出處: 
文章原文連接:https://www.qcloud.com/community/article/176node

來源:騰雲閣 https://www.qcloud.com/communitylinux

 

最近入手了一臺騰訊雲機子,用於團隊社區站點的建設,站點架構:nginx

  • 數據庫服務:mongodb
  • 後臺:nodejs + express
  • 接入:nginx  

整個購買到部署的要點步驟:git

  • 服務器購買
  • nginx 編譯安裝配置
  • node 安裝
  • mongodb 安裝
  • server部署

服務器購買

從騰訊雲的首頁找到購買入口。(弱弱的說一句,雲太多了,企鵝雲發展好快~~~ )
github

按需選擇本身的配置,包年能夠優惠只需付10個月。最終咱們的配置
web

選購硬盤時須要注意能夠選擇雲硬盤,它支持不少擴容,性能按官方的描述沒有多大差異,詳細硬盤對比mongodb

購買成功幾分鐘以後咱們便能拿到機器的IP數據庫

登陸機器

ssh ubuntu@119.29.237.x

第一次使用用戶名和密碼登陸,以後能夠配置ssh的免密碼登陸express

nginx 安裝

使用apt-get安裝nginxnpm

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機大功告成:

相關文章
相關標籤/搜索