Ubuntu使用Nginx代理Restify创建的WebApp

    要使用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/。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,259评论 19 139
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 81,389评论 21 356
  • Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱 (IMAP/POP3)代理服务器。它运行在UNI...
    零一间阅读 2,271评论 0 12
  • 白日梦 诗/凯歌儿 五路上没有五路车 想自由就骑单车 一个靠嘴的工作 却喜欢沉默 你想控诉什么 寺庙里飘着青烟 盼...
    凯歌儿阅读 190评论 0 2
  • 成长就是本来该哭该闹的时候,你却选择了微笑 ...
    夏日葵vv阅读 175评论 0 0