Ubuntu上线部署

登录

查了各种资料未解决,后来一打开服务器控制台,看到提示说没有配置安全组,可能导致端口无法使用。

 0.0 新手表示好费解!慢慢消化...总之我添加了如下安全组。mark一下,以后有问题再回头看:

总之,终于登录成功,显示如下:

点击更多可以更改系统盘。这里我把系统盘改成了14.04的。

然后又出了问题...真是一部一个坑啊!

解决办法:执行下面语句把跟主机ip相关的删掉!登入成功。

~# vim ~/.ssh/known_hosts

终于登入成功...

一些常用命令

1)查看有没有别的数据盘:

~# fdisk -l

这样就是没有:

2)ctrl+l清空bash。更多bash快捷键,点我:0.0

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

posted @ 2018-05-07 13:10  PeriHe  阅读(287)  评论(0编辑  收藏  举报