Я использую Ubuntu 12.04.03. У меня есть некоторый базовый опыт работы с webpy, и он работал для моей локальной сети, просто следуя инструкции. Фреймворк должен быть в состоянии использоваться извне локальной сети. Мне трудно понять, как сделать фреймворк доступным из-за пределов локальной сети. Я попытался открыть определенный порт с помощью
# iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 8081 -j ACCEPT" then I check: "# netstat -ln | grep 8081 and I get:
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN
и использовать python web_py_test.py MY_IP:8081
безуспешно.
Если я вообще это понимаю, у нас может быть компьютер, подключенный к Wi-Fi с нестатическим IP-адресом, и есть способ запустить нашу веб-платформу, доступную из внешнего мира. Я экспериментирую со сценарием приветствия:
import web
urls = (
'/(.*)', 'hello'
)
app = web.application(urls, globals())
class hello:
def GET(self, name):
if not name:
name = 'World'
return 'Hello, ' + name + '!'
if __name__ == "__main__":
app.run()
~
Я заметил, что в сценарии ничего не объявлено об IP-адресах или портах.
Взято из книги с официального сайта:
По умолчанию web2py запускает свой веб-сервер на 127.0.0.1:8000 (порт 8000 на localhost), но вы можете запустить его на любом доступном IP-адрес и порт. Вы можете запросить IP-адрес вашего сетевого интерфейса, открыв командную строку и введя ipconfig в Windows или ifconfig в OS X и Linux. Теперь мы предполагаем, что web2py работает на локальном хосте (127.0.0.1:8000). Используйте 0.0.0.0:80 для публичного запуска web2py на любом из ваших сетевых интерфейсов
Обратите внимание на . Используйте 0.0.0.0:80 для публичного запуска web2py на любом из ваших сетевых интерфейсов
Большинство этих сред имеют один и тот же метод для запуска своих серверов разработки локально / публично.
Возвращаясь к ответу, если вы не установили какой-либо файл конфигурации, вам необходимо запустить сервер разработки, используя:
python web2py.py --ip 0.0.0.0:80 # or any other port you want...