项目场景:
为了公司项目服务系统的售后服务轻松、远程操控方便,使用VNC是一个很好的选择
工具准备:
资源准备:官网下载noVNC:Releases · novnc/noVNC · GitHub
开发工具和环境:Xshell7、Xftp7、和要部署的服务器(系统centos7)
实战操作:
步骤一:vnc服务安装
# which vncserver
# yum install tigervnc-server -y
?步骤二:vnc服务配置(复制一份并且配置service文件为root用户,配置密码用于后面noVNC客户端登录时输入):
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service # vim /etc/systemd/system/vncserver@:1.service
#?vncpasswd
?步骤三:关闭防火墙和设为开机启动(亲测没有用哈,要自己编写脚本,在步骤八有)、启动服务、查看端口号
# setenforce 0 # systemctl stop firewalld # systemctl disable firewalld
# systemctl enable vncserver@:1
# vncserver :1? #启动服务
#?netstat -lntup|grep 59? #查看端口
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:5901 ? ? ? ?0.0.0.0:* ? ? ? ? ? LISTEN ? ? ?2765/Xvnc?
tcp6 ? ? ?0 ? ? ?0 :::5901 ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?2765/Xvnc?
步骤四:安装解压noVNC
我下载的zip,所以unzip指令解压,如果时tar.gz则用tar命令:tar -xzvf file.tar.gz?
# unzip noVNC-1.3.0.zip -d /usr/local? #指定文件解压位置
步骤五:配置noVNC
生成self.pem文件放到noVNC/utils底下(原因:VNC的默认会话不是安全的,我们需要创建一个安全的VNC连接,一路回车就好)
# cd /usr/local/novnc-noVNC-cdfb336/utils
#?openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
步骤六:启动noVNC服务
# ../utils/novnc_proxy --vnc localhost:5901
报错:这个时候启动可能会报错:/usr/local/novnc-noVNC-cdfb336/utils/websockify/run: 第 4 行:exec: python3: 未找到(原因很清楚了:缺少python3)
解决:安装python3
1、python默认路径是?/usr/bin/,如有改动可以输入指令查看:# whereis python,这里可以看出我的服务最高指向python2.7
#? cd /usr/bin/ #? ll python*
lrwxrwxrwx. 1 root root ? ?7 6月 ?10 2020 python -> python2 lrwxrwxrwx. 1 root root ? ?9 6月 ?10 2020 python2 -> python2.7 -rwxr-xr-x. 1 root root 7216 8月 ? 7 2019 python2.7
2、安装(因为我的centos7默认没有相关依赖和工具包,下载相关依赖和工具包:epel、pip、wget)最后通过wget从官网下载压缩包,xz编译,tar解压,进入python3.6.8,将其放到/usr/local目录下,然后make手动编译,接着安装依赖zlib、zlib-deve,最后下载默认没有python3-pip 命令并查看一下版本
#?yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make # yum -y install epel-release
#?yum install python-pip
#?pip install wget
#?wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
#?xz -d Python-3.6.8.tar.xz
#?tar -xf Python-3.6.8.tar
#??cd Python-3.6.8
#? ./configure prefix=/usr/local/python3
#??make && make install
#?yum install zlib zlib
#?yum install zlib zlib-devel
#?yum install -y python3-pip
#?python3 -V
#?/usr/local/novnc-noVNC-cdfb336/utils/novnc_proxy --vnc localhost:5901
?步骤八:VNC和noVNC设置开机自启
1、编辑vncserver脚本
# vim /etc/init.d/vncserver
# chmod 755?/etc/init.d/vncserver
export USER='root' eval cd ~$USER case "$1" in ? start) ? ? # 启动命令行。此处自定义分辨率、控制台号码或其它参数。 ? ? su $USER -c '/usr/bin/vncserver -depth 16 -geometry 1024x768 :1' ? ? echo "Starting TightVNC server for $USER " ? ? ;; ? stop) ? ? # 终止命令行。此处控制台号码与启动一致。 ? ? su $USER -c '/usr/bin/vncserver -kill :1' ? ? echo "vncserver stopped" ? ? ;; ? *) ? ? echo "Usage: /etc/init.d/vncserver {start|stop}" ? ? exit 1 ? ? ;; esac exit 0
2、编辑novnc脚本
# vim /usr/local/start_novnc.sh
# chmod 755 /usr/local/start_novnc.sh
#启动novnc服务 /usr/local/novnc-noVNC-cdfb336/utils/novnc_proxy --vnc localhost:5901
3、脚本置于自启动文件末尾(/etc/rc.d/rc.local)
vim?/etc/rc.d/rc.local
#update.rc.d自启动 /etc/init.d/vncserver start #novnc开机自启动 /usr/local/start_novnc.sh
结束:最后开机重启即可
希望对大家有所帮助,有所启发!!!!!!!
|