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负载均衡

相关文章
相关标签/搜索