为了公司项目服务系统的售后服务轻松、远程操控方便,使用VNC是一个很好的选择
资源准备:官网下载noVNC:Releases · novnc/noVNC · GitHub
开发工具和环境:Xshell7、Xftp7、和要部署的服务器(系统centos7)
注意:全程Xshell7连接服务器,root用户操作,非用户操作命令前自行添加sudo
which vncserver
yum install tigervnc-server -y
cp /lib/systemd/system/[email protected] /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 #设置vnc服务开机自启
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
我下载的zip,所以unzip指令解压,如果时tar.gz则用tar命令:tar -xzvf file.tar.gz
unzip noVNC-1.3.0.zip -d /usr/local #指定文件解压位置,解压后目录/usr/local/novnc-noVNC-cdfb336
生成self.pem文件放到noVNC/utils底下(原因:VNC的默认会话不是安全的,我们需要创建一个安全的VNC连接,一路回车就好)
cd /usr/local/novnc-noVNC-cdfb336/utils #进入novnc的utils目录
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem #创建安全连接
../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/ #进入/usr/bin目录
ll python* #查看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 #下载zlib等工具
yum -y install epel-release #下载epelyum install python-pip #下载python-pip
pip install wget #下载wget
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz #下载python3
xz -d Python-3.6.8.tar.xz #解压xz包
tar -xf Python-3.6.8.tar #解压python3的tar包
cd Python-3.6.8 #进入python3目录
./configure prefix=/usr/local/python3 #配置前缀
make && make install #编译
yum install zlib zlib #重新下载zlib
yum install zlib zlib-devel #下载zlib-devel
yum install -y python3-pip #下载python3-pip
python3 -V #查看python3的版本号
连接服务器,通过以下命令重新启动novnc服务后,本地浏览器就可以访问了!
/usr/local/novnc-noVNC-cdfb336/utils/novnc_proxy --vnc localhost:5901
1、编辑vncserver脚本
vim /etc/init.d/vncserver #编辑脚本如下:
chmod 777 /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 #编辑novnc启动脚本如下:
chmod 777 /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
希望对大家有所帮助,有所启发!!!!!!!