2010-09-14 2 views
1

Есть ли простой способ запустить веб-браузер для папки?Запустить веб-браузер для папки?

например.

Я в папке, содержащей сайт (index.html и другие файлы), и я хочу просматривать сайт через браузер. Есть ли камень, который я только запускаю, чтобы сделать эту папку доступной для просмотра?

Таким образом, мне не нужно устанавливать nginx только для определенной папки. И когда вы устанавливаете nginx, вам приходится беспокоиться о файлах конфигурации и т. Д.

Любопытное, как Rails делает это:

rails server 

ответ

6

Да, там ... Бросьте следующее в файл с именем веб-сервера:

#!/usr/bin/env ruby 
require 'webrick' 
include WEBrick 

server = HTTPServer.new(:Port => 3000, :DocumentRoot => Dir::pwd) 

trap("INT"){ server.shutdown } 
server.start 

Затем выполните следующие действия (предполагается, Mac OSX):

$ sudo chmod 755 webserver 
$ sudo chown root:wheel webserver 
$ sudo cp webserver /usr/local/bin/webserver (or somewhere in your path) 

Теперь, просто запустите webserver из директории, которую вы хотите использовать в качестве корневого документа. Теперь веб-сервер будет запущен на localhost: 3000.

Надеюсь, это поможет!

UPDATE

Я только что вспомнил, прочитав пост на Phusion Passenger 3.0 прогресса, что будет passenger lite вариант ...

+0

Я вижу много этих решений с WEBrick. Возможно ли это с Монгрелем и Тонким? Почему все они используют Webrick? –

+0

Я вполне уверен, что так же легко сделать w/mongrel или thin. Я считаю, что в большинстве примеров используется WEBrick, потому что он включен в дистрибутив Ruby. Честно говоря, для простых задач WEBrick, вероятно, достаточно. – Brian

1

webbrick пример отлично работает, благодаря Брайану. Тем не менее, я просто хотел следить за его обновлением.

Предполагая, что у вас есть working ruby and rubygems установлены:

gem install passenger 

поместить все файлы в подкаталоге public

пример проекта реж:

. 
├── any 
│   ├── old crap 
│   └── that will not be on the website 
└── public 
    ├── favicon.ico 
    ├── images 
    │   ├── ajax-loader-large.gif 
    │   ├── bg.jpg 
    │   ├── bg_home.jpg 
    │   ├── bg_nav.gif 
    ├── index.html 
    ├── javascripts 
    │   ├── jquery.liveSearch.js 
    ├── robots.txt 
    └── stylesheets 
     ├── all.css 

Затем запустите passenger start

Первый время это будет установите кучу вещей (в том числе nginx, но вам не придется беспокоиться о его настройке), но после этого он должен работать быстрее.

2

Самый простой способ я нашел этот маленький Python один лайнер:

2.x: python -m SimpleHTTPServer

3.x: python -m http.server 8080

Если вы не хотите выполнять рубин динамически, конечно. Но это не было явным в вашем вопросе. Только статический HTML.

Смежные вопросы