Hotel
made with
Vuejs
Hotel
这是一个面向开发人员的简单进程管理器。
简介及使用教程
Hotel是一个面向开发人员的简单进程管理器。用户可以从浏览器启动应用程序,然后使用localhost访问。
特点
- 本地访问-http://project.localhost
- 支持本地自签名SSL证书-https://project.localhost
- 支持通配符子域-http://*.project.localhost
- 适用于macOS、Linux和Windows
- 适用于任何服务器:node、Ruby、PHP..
- 支持代理:将本地域映射到远程服务器
- 系统友好:不会弄乱
port 80
,/etc/hosts
,sudo
或其他软件 - Fallback URL:
http://localhost:2000/project
- 只有在访问服务器时才会启动服务器
- 与其他服务器(Apache、Nginx等)配合得很好
- 随机或固定端口
安装
Npm
npm install -g hotel
Yarn
yarn add -g hotel
启动
hotel start
使用
local域名
如果你需要使用.local
域名,你需要配置的你的网络或浏览器来使用hotel的代理自动配置文件。
你也可以跳过这步直接使用http://localhost:2000
。
添加服务
# 添加服务到 hotel
~/projects/one$ hotel add 'npm start'
# 或者和往常一样在终端启动服务,同时获得一个临时的local域名
~/projects/two$ hotel run 'npm start'
然后,可以访问
http://localhost:2000/one
http://localhost:2000/two
http(s)://one.localhost
http(s)://two.localhost
常用的服务例子
hotel add 'ember server' # Ember
hotel add 'jekyll serve --port $PORT' # Jekyll
hotel add 'rails server -p $PORT -b 127.0.0.1' # Rails
hotel add 'python -m SimpleHTTPServer $PORT' # static file server (Python)
hotel add 'php -S 127.0.0.1:$PORT' # PHP
hotel add 'docker-compose up' # docker-compose
hotel add 'python manage.py runserver 127.0.0.1:$PORT' # Django
# ...
代理请求到远程服务器
添加远程服务器
~$ hotel add http://192.168.1.12:1337 --name aliased-address
~$ hotel add http://google.com --name aliased-domain
然后,你可以这样访问
http://aliased-address.localhost # will proxy requests to http://192.168.1.12:1337
http://aliased-domain.localhost # will proxy requests to http://google.com
CLI用法及选项
hotel add <cmd|url> [opts]
hotel run <cmd> [opts]
# Examples
hotel add 'nodemon app.js' --out dev.log # Set output file (default: none)
hotel add 'nodemon app.js' --name name # Set custom name (default: current dir name)
hotel add 'nodemon app.js' --port 3000 # Set a fixed port (default: random port)
hotel add 'nodemon app.js' --env PATH # Store PATH environment variable in server config
hotel add http://192.168.1.10 --name app # map local domain to URL
hotel run 'nodemon app.js' # Run server and get a temporary local domain
# Other commands
hotel ls # List servers
hotel rm # Remove server
hotel start # Start hotel daemon
hotel stop # Stop hotel daemon
hotel --help
hotel --help <cmd>
端口
你的服务需要监听PORT
环境变量让hotel
起作用。这里有一个例子:
var port = process.env.PORT || 3000
server.listen(port)
hotel add 'cmd -p $PORT' # OS X, Linux
hotel add "cmd -p %PORT%" # Windows
配置、日志和自签名ssl证书
你可以找到相关文件~/.hotel
:
~/.hotel/conf.json
~/.hotel/daemon.log
~/.hotel/daemon.pid
~/.hotel/key.pem
~/.hotel/cert.pem
~/.hotel/servers/<app-name>.json
默认情况下,hotel
使用一下配置值:
{
"port": 2000,
"host": '127.0.0.1',
// Timeout when proxying requests to local domains
"timeout": 5000,
// Change this if you want to use another tld than .localhost
"tld": 'localhost',
// If you're behind a corporate proxy, replace this with your network proxy IP (example: "1.2.3.4:5000")
"proxy": false
}
想要重写这些值,你可以简单的在~/.hotel/conf.json
添加即可,然后运行hotel stop && hotel start
。
作者
Typicode
@typicode相关项目