Ubuntu上線部署

登陸

查了各類資料未解決,後來一打開服務器控制檯,看到提示說沒有配置安全組,可能致使端口沒法使用。javascript

 0.0 新手錶示好費解!慢慢消化...總之我添加了以下安全組。mark一下,之後有問題再回頭看:html

總之,終於登陸成功,顯示以下:java

點擊更多能夠更改系統盤。這裏我把系統盤改爲了14.04的。node

而後又出了問題...真是一部一個坑啊!linux

解決辦法:執行下面語句把跟主機ip相關的刪掉!登入成功。webpack

~# vim ~/.ssh/known_hosts

終於登入成功...nginx

一些經常使用命令

1)查看有沒有別的數據盤:git

~# fdisk -l

這樣就是沒有:github

2)ctrl+l清空bash。更多bash快捷鍵,點我:0.0web

3)查看硬盤使用狀況:

~# df -h

4)Ctrl+D退出命令行環境,與ctrl+c不同的!

5)按上鍵能夠調出用過的命令哦。

更多

通常來講,咱們爲了更加安全還應該作下面這些事情:

1.配置root及應用帳號權限

2.配置本地無密碼SSH登錄

3.加強服務器安全等級

4.修改默認端口號

5.配置iptables和Fail2Ban加強安全防禦

可是做爲一個FEer,就想了解一下服務器端部署過程,暫且先進入環境安裝階段!

搭建服務器的nodejs環境

先更新一下系統吧!

~# sudo apt-get update

安裝相關的模塊/包文件

~# sudo apt-get install vim openssl build-essential libssl-dev wget curl git

上github找到nvm的安裝命令:

~# wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

而後按照指示關閉當前窗口,從新開一個,輸入nvm就能夠看到許多的提示命令了,也就是說咱們的nvm安裝成功了。

下一步安裝node,安裝6.9.5版本:

~# nvm install v6.9.5

指定一下node版本:

~# nvm use v6.9.5
~# nvm alias default v6.9.5
有時連不上npm或者下載很慢,配置一個registry參數來指定用國內的淘寶源:
~# npm --registry=https://registry.npm.taobao.org install -g npm

增長系統文件監控數目

~# echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

安裝cnpm(網絡不是太慢的狀況下仍是推薦使用npm)

~# npm --registry=https://registry.npm.taobao.org install -g cnpm

 其餘用到的也順手安裝一下

~# npm install pm2 webpack gulp grunt-cli -g

跑一下試試!

~# vi app.js
const http = require('http')

http.createServer(function(req, res) {
    res.writeHead(200, {'Content-Type':'text/plain'})
    res.end('sccess!')
}).listen(80)

console.log('server running on http://120.79.140.172')
~# vi app.js

打開http://120.79.140.172成功顯示出了success!

一般網站須要知足的:

1)穩定且持續的提供服務;

2)可以經過域名或ip訪問到。

因此把咱們不能每次經過node app.js這種來作。而是要可以持續的提供訪問服務。這裏用到pm2來處理。

藉助pm2讓nodejs服務常駐

安裝

以前安裝過了pm2

使用

簡單一句,就能使服務一直開着,而不是ctrl+c就關閉了...如今按ctrl+d也能夠看到success

~# pm2 start app.js 

當前運行的node服務有哪些

~# pm2 list

看某一個服務的詳細信息(app是name)

~# pm2 show app

查看當前實時日誌

~# pm2 logs

中止PM2列表中全部的進程

pm2 stop all 

配置Nginx實現反向代理Nodejs端口

刪除apache

~# update-rc.d -f apache2 remove
~# sudo apt-get remove apache2

更新包列表

~# sudo apt-get update

安裝nginx

~# sudo apt-get install nginx

進入 /etc/nginx/,有一個conf.d文件夾,進入,新建一個配置文件hepeili-cn-80.conf

~# sudo vim hepeili-cn-80.conf
upstream hepeili{
    server 127.0.0.1:80;
}

server {
    listen 80;
    server_name 120.79.140.172;

    location / {
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header host $http_host;
        proxy_set_header X-Nginx-Proxy true;
        proxy_pass http://hepeili;
        proxy_redirect off;
    }
} 

測試配置文件是否正確

sudo nginx -t

重啓nginx

sudo nginx -s reload 

出錯

查看有哪些進程

lsof -i :80

殺死pm2進程。

執行:

nginx -c /etc/nginx/nginx.conf
nginx -s reload

 

upstream負載均衡

相關文章
相關標籤/搜索