安装系统
CentOS release 6.8 (Final)换腾讯yum源
cd /etc/yum.repos.d/
mkdir repo_bak && mv *.repo repo_bak
wget -O CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos6_base.repo
yum clean all && rm -rf /var/cache/yum/*
yum repolist安装vnc
yum list | grep vnc
yum -y install tigervnc-server
vncserver :1 # 启动 vncserver
netstat -antulp | grep 5901 # 查看端口安装noVNC
yum -y install git
cd /opt
git clone https://github.com/kanaka/noVNC
cd noVNC/utils/
openssl req -new -x509 -days 36500 -nodes -out self.pem -keyout self.pem # 创建证书
cd ..
./utils/launch.sh --vnc 127.0.0.1:5901 # 启动noVNC服务,需要python3环境
#-----------------------------------------------------------------------------------
# 安装pyhotn3
cd /usr/local/src
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
tar -xvf Python-3.6.0.tgz && cd Python-3.6.0
yum -y install gcc zlib*
./configure --prefix=/usr/local/python && make && make install
file /usr/local/python/bin/python3.6
echo 'PATH=$PATH:/usr/local/python/bin' >> ~/.bashrc && source ~/.bashrc
which python3
#-----------------------------------------------------------------------------------
# 重新启动noVNC
cd /opt/noVNC
./utils/launch.sh --vnc 127.0.0.1:5901 # ssl模块报错
yum -y install openssl-devel
cd /usr/local/src/Python-3.6.0/Modules
sed -i "205s/#//; 209s/#//; 210s/#//; 211s/#//; 212s/#//" Setup
cd /usr/local/src/Python-3.6.0
rm -rf /usr/local/python/
./configure --prefix=/usr/local/python && make && make install
which python3
#-----------------------------------------------------------------------------------
# 再一次启动noVNC
cd /opt/noVNC
./utils/launch.sh --vnc 127.0.0.1:5901 # 完美运行
# 浏览器访问 http://<ip>:6080/vnc.html,输入VNC密码登录关闭 SELinux 和防火墙
sed "s/SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config && setenforce 0
iptables -I INPUT -p tcp --dport 6080 -j ACCEPT && service iptables save
# selinux 不关闭仍可正常运行,但是否影响其他功能不知
# 防火墙需要放行6080端口高阶用法
# 以token.conf方式启动
cd /opt/noVNC
echo "test1: 127.0.0.1:5901" >> token.conf # token中可以写入多个VNC地址
pip3 install python-numpy
./utils/websockify/websockify.py \
--web /opt/noVNC \
--target-config=/opt/noVNC/token.conf \
8080 -D
# 浏览器访问 http://<ip>:8080/vnc.html?path=websockify/?token=test1
# 配置加密访问
cd /opt/noVNC
./utils/websockify/websockify.py \
--web /opt/noVNC/ \
--target-config=/opt/noVNC/token.conf \
--cert /opt/noVNC/utils/self.pem \
8080 -D
# 浏览器访问 https://<ip>:8080/vnc.html?path=websockify/?token=test1使用 Nginx 反向代理 noVNC
cd /usr/local/src/
yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar -xvf nginx-1.10.2.tar.gz && nginx-1.10.2
./configure --prefix=/usr/local/nginx && make && make install
/usr/local/nginx/sbin/nginx -V
vim /usr/local/nginx/conf/nginx.conf
cd /usr/local/src/
yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar -xvf nginx-1.10.2.tar.gz && nginx-1.10.2
./configure --prefix=/usr/local/nginx && make && make install
/usr/local/nginx/sbin/nginx -V
vim /usr/local/nginx/conf/nginx.conf
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name vnc.pub;
location / {
proxy_pass http://localhost:8080;
rewrite ^/$ $1/vnc.html;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx
netstat -antulp | grep 80
# 客户端设置DNS解析
echo "vnc.pub 192.168.1.104" >> /etc/hosts
# 浏览器访问 http://vnc.pub/?path=websockify/?token=test1
# 只需放行 web 端口即可需要注意
需要使用支持html5的浏览器访问,否则无效
本来想录视频来着,电脑实在带不动了

原创
CentOS 6 安装部署 noVNC
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
赞赏支持
如果觉得文章对你有帮助,可以请作者喝杯咖啡 ☕
评论交流
欢迎留下你的想法