树莓派上配置服务器

Posted by Hsz on June 26, 2016

外网连接内部局域网的方法–ip 端口映射

这个是构建网络服务器的必要步骤,有了它就可以在自己搭建简单额服务器了。

原理很简单,每个用户都会有一个外网ip,这个ip可以在baidu里输入ip直接查到。 如果别人输入这个ip地址,它会连接到你的路由器设置界面。我们要搭建服务器肯定是使用的一个路由器分配的ip地址(或者固定ip)。 这个地址外网的别人是无法直接访问的,怎么办呢?这里就可以用路由器的NAT/PAT功能了。登陆路由器设置界面,选到路由设置, 这里面可以给不同的主机分配ip,也可以为路由器设置端口映射~端口映射规则就在NAT/PAT中设置了。 我们设置

规则名 端口 目标主机ip 目标端口
test 1001 192.168.1.100(本机ip) 5000

激活之。

然后随便写个app运行在本机5000端口

%%writefile app.py
#!/usr/bin/env python
# --*-- coding:utf-8 --*--
from flask import Flask
app = Flask(__name__)
from flask.ext.script import Manager

manager = Manager(app)

@app.route('/')
def index():
    return '<h1>Hello World!</h1>'

if __name__ == '__main__':
    manager.run()
Overwriting app.py

然后运行之

!python app.py runserver --host 0.0.0.0 port 5000
Traceback (most recent call last):
  File "app.py", line 5, in <module>
    from flask.ext.script import Manager
  File "/usr/local/Pytho/Anaconda2/lib/python2.7/site-packages/flask/exthook.py", line 87, in load_module
    raise ImportError('No module named %s' % fullname)
ImportError: No module named flask.ext.script

拿手机关掉wifi,在浏览器里输入你的外网 ip:1001 看到helloworld就说明成功了。 这样结合Nginx做反向代理就可以实现安全访问和负载均衡的服务器结构了~