Ubuntu使用Nginx代理Restify创建的WebApp

2017-01-03  本文已影响0人  走_心

    要使用Nginx代理Restify创建的Webapp,首先要在我们的服务器上安装Nginx,下载Restify模块(本例不介绍安装NodeJs)并创建WebApp,使用Nginx代理。

Part Ⅰ:

    在安装Nginx时,直接执行apt-get install nginx,如果自带的软件源中包含nginx即可安装成功,如果自带的软件源中没有包含nginx,则手动执行apt-add-repository ppa:nginx/development 添加软件源后执行apt-get install nginx。

安装Nginx

    安装成功后,执行命令:$sudo /etc/init.d/nginx start将nginx服务器开启。出现如下提示则开启成功。

nginx开启成功

    当Nginx服务开启成功时,我们可以使用ifconfig查看该机器(虚拟机)的ip地址,如下图:

ifconfig查看ip地址

    当我们查完ip地址之后可以通过拷贝ip地址到浏览器或者执行命令wget http:xxx.xxx.xxx.xxx,如果出现以下两种图片所示,即为Nginx开启服务成功。

wget访问 浏览器访问成功的页面

    注意:如果是在虚拟机上配置的Nginx,使用命令行在虚拟机上可以使用wget得到响应,在宿主机无法使用浏览器访问时可能有以下两种情况:

    1、虚拟机自带的iptables防火墙开启了,我们应该将它关闭。以Ubuntu为例:ufw disable。

    2、如果使用VirtualBox或者VMWare等启动的虚拟机,在网络设置时为了省事不要使用NAT方式,方法是将网络连接方式改为桥接。如使用NAT方式设置,可参考NAT

Part  Ⅱ:

    当服务器有了NodeJs,我们可能还需要安装NodeJs的Restify模块,Restify是NodeJs的一个开发框架,我们安装了Restify之后可以在NodeJs文件中引用。

    安装Restify的方法也比较简单,当服务器上安装了NodeJs之后,可以直接使用NodeJs带的npm命令执行npm install restify(前提npm命令配置了全局),如果没设置全局的话,要手动cd到/home/kun/mysofltware/node-v0.10.28-linux-x64/bin/文件夹下执行npm install restify命令上述/home/kun/mysofltware/node-v0.10.28-linux-x64是我机器的安装目录,在配置时应注意替换。出现下图显示的类似内容,则表示安装成功。

Restify安装成功图例

Part Ⅲ:

    使用restify创建最简单的WebApp。

vim test.js

var restify = require('restify');

var ip_addr = '127.0.0.1';

var port    =  '3000';

var server = restify.createServer({

    name : "myapp"

});

server.listen(port ,ip_addr, function(){

    console.log('%s listening at %s ', server.name , server.url);

});

    保存运行该js文件时输出:myapp listening athttp://127.0.0.1:3000

    或者向下图中实例一样:

restify创建webapp实例

Part Ⅳ:

    使用Nginx反向代理NodeJs文件。主要是需要修改Nginx的配置文件,一般位于/etc/nginx/文件夹下。

    vim /etc/nginx/nginx.conf

    在http标签下添加:

    server{

        listen 80;

        server_name 192.168.1.114;

        location /{

            proxy_pass 192.168.1.114:3000;

        }

    }   

nginx.conf文件配置

    配置完成后保存,重启Nginx,通过该配置,访问Nginx地址http://192.168.1.114(:80)/的请求会被转发到my_server服务地址http://192.168.1.114:3000/。

上一篇下一篇

猜你喜欢

热点阅读