下面只需要在浏览器打开这个地址就可以访问了、Enjoy it~~
http://192.168.1.32:6080/vnc.html ##也可以访问这个地址整个流程大概是这样的
vnc.html -> 192.168.1.32:6080(PC2) -> websockify.py -> localhost:5901 高级用法使用 websockify 可以更改默认6080端口、使用 token 设置
./utils/websockify/websockify.py --web ./ 8787 localhost:5901--web ./指定访问根目录,8787表示访问novnc的端口,localhost可以改成所有安装了vncserver的IP地址,比如:./utils/websockify/websockify.py --web ./ 8787 192.169.1.100:5901。
代理设置 我们上面的场景是基于noVNC代理和vncserver在同一台机器上的,倘若我们想通过noVNC访问局域网中的所有机器,难道要给每一台机器都安装配置noVNC,然后用每台机器的IP地址去访问它吗?显然这种做法是繁琐笨拙的。实际上,我们只需要一台机器作为noVNC代理,其他被访问的机器安装VNC server就可以了。
代理服务器: 192.168.1.191计算节点:192.168.1.31、192.168.1.32、192.168.1.33 在代理服务器上创建 token 文件 $ mkdir token$ cat token.confabc123: 192.168.1.32:5900abc456: 192.168.1.32:5901abc123: 192.168.1.33:5900$pwd/root/noVNC/token配置文件记得中间以空格分开
启动Vncserver在欲访问的机器上启动 vncserver , 执行 vncserver 即可
代理服务器执行 $ yum install -y screen //新开screen 窗口输入、防止被打断$ screen -R vnc //这里会进入一个新的会话窗口$ ./utils/websockify/websockify.py --web ./ --target-config=./token/token.conf 8787ctrl a +d 退出screen 浏览器输入 http://192.168.1.191:8787/vnc.html?path=?token=abc123 //这里的token改为对应的token这样就可以直接访问了,Enjoy…
问题排查 访问速度慢:安装numpy $ cd /usr/local/src$ wget http://jaist.dl.sourceforge.net/project/numpy/NumPy/1.8.2/numpy-1.8.2.tar.gz$ tar xvf numpy-1.8.2$ cd numpy-1.8.2 ##yum install python-devel 缺少什么就装一下$ python setup.py install测试是否安装成功
>>> from numpy import *>>> eye(4)array([[ 1., 0., 0., 0.], [ 0., 1., 0., 0.], [ 0., 0., 1., 0.], [ 0., 0., 0., 1.]])>>>如果输入host地址,port之后,不能访问,查看密码是否正确,如果显示connection refused,查看被访问主机vncserver是否启动,如果未启动,执行vncserver。
使用noVNC每个系统桌面或者虚拟机每次只能有一个连接,如果连接时出现错误Server disconnected (code: 1000, reason: Target closed),也有可能是你已经连接了或者在virt-manager里面启动了虚拟机并进入了系统桌面。