本文基于Linux的Ubuntu系统安装ParaviewWeb,Linux系统的用户名为peng, 主机名为ubuntu, Paraview所选用版本为5.3.0
2)将所下载的文件进行解压,解压后的默认目录名称为: ParaView-5.3.0-236-g091ca1c-Qt5-OpenGL2-MPI-Linux-64bit
3)修改环境变量
peng@ubuntu:~$ gedit ~/.bashrc
在所打开的文件结尾输入:
#Paraview
export PATH=/home/peng/ParaView-5.3.0-236-g091ca1c-Qt5-OpenGL2-MPI-Linux-64bit/bin:$PATH
peng@ubuntu:~$ paraview
若成功打开Paraview的界面,则代表配置成功:
peng@ubuntu:~/ParaView-5.3.0-236-g091ca1c-Qt5-OpenGL2-MPI-Linux-64bit$ touch start.sh
peng@ubuntu:~/ParaView-5.3.0-236-g091ca1c-Qt5-OpenGL2-MPI-Linux-64bit$ gdit start.sh
./bin/pvpython share/paraview-5.3/web/visualizer/server/pvw-visualizer.py –content ./share/paraview-5.3/web/visualizer/www –data ~/ParaView-5.3.0-236-g091ca1c-Qt5-OpenGL2-MPI-Linux-64bit/ParaView-v5.3.0 –port 9000
peng@ubuntu:~/ParaView-5.3.0-236-g091ca1c-Qt5-OpenGL2-MPI-Linux-64bit$ ./start.sh
-1) 打开控制台1,进入目录/home/peng(即/Home),创建一个目录“Paraview”作为Paraview的配置目录,进入该目录,并在该目录中创建4个子目录:
Logs: 包含为ParaviewWeb虚拟主机服务的Apache日志文件
pv: 包含Paraview安装的二进制文件
pvw: 包含Paraview process launcher文件
www:包含构成网站的html/css/js等文件
root@ubuntu:/home/peng/Paraview# cd ..
root@ubuntu:/home/peng# cp -r ParaView-5.3.0-236-g091ca1c-Qt5-OpenGL2-MPI-Linux-64bit Paraview/pv/pv-5.3.0
root@ubuntu:/home/peng# ln -s /home/peng/Paraview/pv/pv-5.3.0 /home/peng/Paraview/pv/pv-current
root@ubuntu:/home/peng# cd Paraview
root@ubuntu:/home/peng/Paraview# chown -R peng pv
root@ubuntu:/home/peng/Paraview# chgrp -R peng pv
bin: 包含启动pvpython服务器的脚本文件
conf:包含Paraview process launcher文件
data: 包含从官网下载的数据文件
logs: 包含访问服务器的日志文件
4) 打开控制台2,执行ifconfig命令查看主机ip地址,如:192.168.1.187 ;
5) 修改hosts文件为该ip添加域名:
root@ubuntu:/home/peng# gedit /etc/hosts
在hosts文件中加入如下一行内容:
192.168.1.187 www.paraview-peng.com
“www.paraview-peng.com”为我们给ip地址192.168.1.187所起的域名。
root@ubuntu:/home/peng/Paraview/pvw# cd conf
root@ubuntu:/home/peng/Paraview/pvw/conf# touch launcher.json
root@ubuntu:/home/peng/Paraview/pvw/conf# gedit launcher.json
在文件中写入如下内容:
{
“resources”: [ {“port_range”: [9001, 9103], “host”: “localhost”} ],
“sessionData”: {
“updir”: “/home/peng”
},“configuration”: {
“log_dir”: “/home/peng/Paraview/pvw/logs”,
“host”: “localhost”,
“endpoint”: “paraview”,
“sessionURL”: “ws://192.168.1.187/proxy?sessionId=${id}&path=ws”,
“timeout”: 25,
“upload_dir”: “/home/peng/Paraview/pvw/upload”,
“fields”: [“file”, “host”, “port”, “updir”],
“port”: 8080,
“proxy_file”: “/home/peng/Paraview/proxy.txt”
},“properties”: {
“web_path”: “/home/peng/Paraview/pv/pv-current/share/paraview-5.3/web”,
“dataDir”: “/home/peng/Paraview/pvw/data”,
“python_exec”: “/home/peng/Paraview/pv/pv-current/bin/pvpython”
},“apps”: {
“visualizer”: {
“cmd”: [
“${python_exec}”,
“-dr”,
“${web_path}/visualizer/server/pvw-visualizer.py”,
“–port”, “${port}”,
“–data”, “${dataDir}”,
“-f”,
“–authKey”, “${secret}”
],
“ready_line” : “Starting factory”
},
“lightviz”: {
“cmd”: [
“${python_exec}”,
“-dr”,
“${web_path}/lightviz/server/pvw-light-viz.py”,
“–port”, “${port}”,
“–data”, “${dataDir}”,
“-f”,
“–authKey”, “${secret}”
],
“ready_line” : “Starting factory”
}
}
}
root@ubuntu:/home/peng/Paraview/pvw/conf# cd ../bin
root@ubuntu:/home/peng/Paraview/pvw/bin# touch start.sh
root@ubuntu:/home/peng/Paraview/pvw/bin# gedit start.sh
在文件中写入如下内容:
/home/peng/Paraview/pv/pv-current/bin/pvpython /home/peng/Paraview/pv/pv-current/lib/python2.7/site-packages/vtk/web/launcher.py /home/peng/Paraview/pvw/conf/launcher.json &
若不想关闭控制台后服务器仍然启动,可删除上面内容结尾处的“&”。
8)返回Paraview的根目录,在其中创建proxy.txt,该文件下不用填写内容,以后多用户访问时会自动填写内容。
当多用户访问服务器时,我们所创建的虚拟主机会自动为不同的用户设定一个id,将此id记录在该文件中,然后去launcher.conf中匹配,从设定好的端口范围中(如在launcher.json中设定9001-9003)选取一个,以ws://${host}/proxy?sessionId=${id}组合成的sessionURL去访问pvw,从而为该用户启动一个后台应用。
每次服务器重启后,proxy.txt文件会被清空。
root@ubuntu:/home/peng/Paraview/pvw/bin# cd ../..
root@ubuntu:/home/peng/Paraview# touch proxy.txt
root@ubuntu:/home/peng/Paraview# chown peng proxy.txt
root@ubuntu:/home/peng/Paraview# chgrp peng proxy.txt
root@ubuntu:/home/peng/Paraview# chmod 660 proxy.txt
root@ubuntu:/home/peng/Paraview# cp -r /home/peng/pv/pv-current/share/paraview-5.3/data/* pvw/data
拷贝后的数据文件如图:
root@ubuntu:/home/peng/Paraview# chown -R peng pvw
root@ubuntu:/home/peng/Paraview# chgrp -R peng pvw
root@ubuntu:/home/peng/Paraview# chmod u+x pvw/bin/start.sh
root@ubuntu:/home/peng/Paraview# cd pv/pv-5.3.0/share/paraview-5.3/web
root@ubuntu:/home/peng/Paraview/pv/pv-5.3.0/share/paraview-5.3/web# cp -r visualizer/www /home/peng/Paraview/www/visualizer
root@ubuntu:/home/peng/Paraview/pv/pv-5.3.0/share/paraview-5.3/web# cd ../../../../..
root@ubuntu:/home/peng/Paraview# chown -R peng www
root@ubuntu:/home/peng/Paraview# chgrp -R peng www
多用户Paraview这端已经配置完毕,要想其他客户机也能在他们的浏览器中开大ParaviewWeb, 还需安装和配置Aapche。
root@ubuntu:/home/peng# apt-get install apache2-dev apache2 libapr1-dev apache2-utils
root@ubuntu:/etc/apache2# a2enmod vhost_alias
root@ubuntu:/etc/apache2# a2enmod proxy
root@ubuntu:/etc/apache2# a2enmod proxy_http
root@ubuntu:/etc/apache2# a2enmod proxy_wstunnel
root@ubuntu:/etc/apache2# a2enmod rewrite
root@ubuntu:/etc/apache2# service apache2 restart
root@ubuntu:/etc/apache2# cd sites-available
root@ubuntu:/etc/apache2/sites-available# touch 001-pvw.conf
root@ubuntu:/etc/apache2/sites-available# gedit 001-pvw.conf
在文件中写入如下内容(粗体处为之前在hosts文件中所设定的与当前主机ip地址对应的域名):
ServerName www.paraview-peng.com
ServerAdmin [email protected]
DocumentRoot /home/peng/Paraview/www
ErrorLog /home/peng/Paraview/logs/error.log
CustomLog /home/peng/Paraview/logs/access.log combined
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
AllowOverride None
Require all granted
# Handle launcher forwarding
ProxyPass /paraview http://localhost:8080/paraview
# Handle WebSocket forwarding
RewriteEngine On
RewriteMap session-to-port txt:/home/peng/Paraview/proxy.txt
RewriteCond %{QUERY_STRING} ^sessionId=(.)&path=(.)$ [NC]
RewriteRule ^/proxy.*$ ws://${session-to-port:%1}/%2 [P]
“ServerAdmin [email protected]” 可就保持这样不用修改。
root@ubuntu:/etc/apache2# a2ensite 001-pvw.conf
root@ubuntu:/etc/apache2/sites-available# service apache2 restart
root@ubuntu:/etc/apache2/sites-available# a2dissite 000-default.conf
至此,ParaviewWeb和Apache全部配置完毕。
root@ubuntu:/home/peng/Paraview# cd pvw/bin
root@ubuntu:/home/peng/Paraview# ./start.sh
也可通过http://www.paraview-peng.com/visualizer打开网页,但须在客户机上进行域名解析:例如,该主机为主机A,同一局域网中的一台windows系统的主机B和一台linux系统的主机C均要通过域名访问该网页,则需在B和C机器上进行域名解析,主要修改hosts文件:
——– hosts文件的位置:
系统类型 | host文件路径 |
---|---|
Windows客户机 | C:\Windows\System32\drivers\etc\hosts |
Linux客户机 | /etc/hosts |
在hosts文件中加入如下一行内容:
192.168.1.187 www.paraview-peng.com
用“ping+域名”检验是否ping通,若通,则可通过域名直接访问。
注:每次启动服务器时,都需检查hosts文件中的ip地址是否为当前服务器主机的ip地址。
3) 经测试,目前仅支持谷歌浏览器和火狐浏览器, 在浏览器中打开如图:
点击第二个图标可显示数据文件列表(我们刚才导入data目录中的那三个文件),可选择一个数据文件打开3D图像: