当前位置: 首页 > Linux

在Linux和Window10中使用Apache部署ParaViewWeb项目

时间:2023-04-06 11:36:25 Linux

ParaView最近的项目中应用,需要部署ParaViewweb端应用并显示指定路径下的文件。由于ParaView是一个开源项目,所以对我来说感觉不受欢迎!不受欢迎!不受欢迎!在我尝试的过程中,所有的问题都只能通过GitHub中的Issue来解决(非常痛苦)。我暗暗下定决心,等我做完了,一定要总结一下详细过程,方便大家!!!!Window10注:我用自己的机器按照官网的方法把Apache和Paraview放在C:根目录下(怕飞蛾扑火),但是在配置服务器的时候放在E:下,没问题,所以本文以C:为例,大家可以自行修改。一、Apache服务器配置1、下载MPI首先下载MicrosoftMPIv10.1.2,否则运行paraview会出现如下错误:pvpython.exe-systemerror由于找不到msmpi.dll,代码无法继续执行。重新安装程序可能会解决此问题。下载过程如下:下载后,安装。2、下载ParaView下载ParaView,这里我按照官网下载的是ParaView-5.2.0-Qt4-OpenGL2-MPI-Windows-64bit.exe版本,大家也可以根据需要安装其他版本。3.下载ApacheWebWindows本身不支持ApacheWeb服务器。要获取Windows安装程序,可以从很多第三方供应商处下载修改后的服务器,所以需要下载支持ApacheWeb的安装程序。笔者下载了httpd-2.4.54-win64-vS16.zip至此,所有的准备工作全部结束!3、配置Apachehttpd服务器,解释。由于笔者自己的机器放在C:,--->C:\Apache24--->C:\ParaView-5.2.0①添加虚拟机:配置\conf\extra\httpd-vhosts.conf文件,"{}"里面的内容需要根据你的或者自行替换#GrantallaccesstothedirectoryofthehttpdserverRequireallgranted#创建一个名为“paraview”的虚拟主机,它将用于将所有流量导向ParaViewWeb#配置文件没有需要包含{},为了让大家清楚的看到哪里需要修改,我加了{}ServerNameparaviewServerAdminadmin@paraview.comDocumentRoot{C:/ParaView-5.2.0}/share/paraview-5.2/web/visualizer/wwwErrorLog{C:/ParaView-5.2.0}/error.logCustomLog{C:/ParaView-5.2.0}/log/apache2/access.log合并<目录"{C:/ParaView-5.2.0}">选项索引FollowSymLinks命令允许,拒绝AllowfromallAllowOverrideNoneRequireallgranted#Handlelauncherforwarding#Portandendpointshouldmatchlauncher.configProxyPass/paraviewhttp://localhost:9000/paraview#处理WebSocket转发RewriteEngineOn#ThisiscreatedbyJettyPath到映射文件#代理路径应该匹配launcher.configRewriteMapsession-to-porttxt:{C:/Apache24}/proxy.txt#这是重写条件#在URL的#查询部分寻找sessionId=任何东西,并捕获下面要使用的值。RewriteCond%{QUERY_STRING}^sessionId=(.*)&path=(.*)$[NC]#这使用映射文件和sessionIdRewriteRule^/proxy.*$ws://${session-to-port:%1}/%2[P]保存\conf\extra\httpd-vhosts.conf文件②创建文件夹:\log\apache2(注意:很多文件你做没有是日志文件,不用管)②创建proxy.txt:在目录下创建一个名为proxy.txt的空文件③打开\conf\httpd.conf文件,启用(取消注释)以下模块1)定义SRVROOT"c:/Apache24"#替换为你的根目录2)在#ServerNamewww.example.com:80下添加以下内容:ServerNamelocalhost:803)取消注释以下内容:LoadModuleaccess_compat_modulemodules/mod_access_compat.soLoadModuleproxy_modulemodules/mod_proxy.soLoadModuleproxy_http_modulemodules/mod_proxy_http.soLoadModuleproxy_wstunnel_modulemodules/mod_proxy_wstunnel.soLoadModulerewrite_modulemodules/mod_rewrite.soLoadModulevhost_alias_modulemodules/mod_vhost_alias.so4。配置本机投影由无法访问paraview无法进入域名称解析,因此要在需要访问paraview的机器上做一个ip映射,具体步骤如下:①打开C:\Windows\System32\drivers\etc②hosts->右键->属性->Security->Openmodificationandwritepermissions③在hosts文件中添加如下内容:127.0.0.1paraviewparaview至此Apacheweb配置完成2.ParaviewWeb配置1.创建launcher.config文件:在中创建launcher.config文件;注意:最好打开Windows文件管理器文件扩展名2.写入新建的launcher.config配置文件:《》中的内容需要根据你的进行替换。配置文件不需要包含《》。为了让大家清楚的看到哪里需要修改,我加了《》{"configuration":{"host":"localhost","port":9000,"endpoint":"paraview","content":“《C:/ParaView-5.2.0》/share/paraview-5.2/web/visualizer/www”,“proxy_file”:“《C:/Apache24》/proxy.txt”,“sessionURL”:“ws://paraview:80/proxy?sessionId=${id}&path=ws","timeout":30,"log_dir":"《C:/ParaView-5.2.0》/log/","fields":[]},"resources":[{"host":"localhost",“port_range”:[9001,9999]}],“属性”:{“dataDir”:“C:/ParaView-5.2.0/data”,“python_exec”:“《C:/ParaView-5.2.0》/b在/pvpython.exe","visualizer":"《C:/ParaView-5.2.0》/share/paraview-5.2/web/visualizer/server/pvw-visualizer.py"},"apps":{"visualizer":{"cmd":["${python_exec}","-dr","${visualizer}","--port","${port}","--authKey","${secret}","--data","${dataDir}","--load-file","${dataFile}"],"ready_line":"Startingfactory"}}}3.配置\share\paraview-5.2\web\visualizer\www\index.html文件这里笔者根据自己的需要做了一系列的改动,因为①项目访问某个文件需要在url中写入绝对路径,路径格式是固定的②固定通过谷歌浏览器访问所以这个文件笔者根据自己的需要配置,使用window.location对象处理url,可以根据ParaViewWindow10部署官网配置,或者改它根据你自己的需要。附上:作者i??ndex.html文件中的代码!functiongetFileToLoad(){let{search,href}=window.location;if(search.length===0){return{dataFile:'can.ex2',dataDir:''};}search=search.replace(/\?/g,'');让目录='';让文件名='';if(search.lastIndexOf('.')>search.lastIndexOf('\\')){letindex=search.lastIndexOf(`\\`);directory=search.slice(0,index);文件名=search.slice(index+1,search.length);}else{目录=搜索;文件名='can.ex2';}return{dataFile:文件名,dataDir:目录};};Visualizer.connect({application:'visualizer',dataFile:getFileToLoad().dataFile,dataDir:getFileToLoad().dataDir});Visualizer.autoStopServer(10);4.创建启动paraview批处理脚本文件在下创建launcher.bat文件,写入如下内容:setPV_HOME=%PV_HOME%\bin\pvpython.exe%PV_HOME%\bin\Lib\site-packages\vtk\web\launcher.py%PV_HOME%\launcher.config3.启动ParaViewWeb服务1.启动ApacheWeb服务:双击运行\bin\httpd.exe2.启动ParaViewWeb脚本文件:双击运行\launcher.bat进程。如果立即打开又关闭,说明launcher.bat配置文件有错误。打开后自动关闭前,点击弹出的cmd,并不会关闭是的,分析错误原因即可。3、打开浏览器访问:打开谷歌,输入http://paraview/?C:\ParaView-5.2.0\data\can.ex2访问。笔者这里和官网输入的有所不同,如前所述,笔者根据项目要求修改了index.html文件Linux(Ubuntu-18.04.6-DeskTop)由于其他一些原因,只配置了Linux带有单用户ParaView,以后有空的时候会增加多用户配置。笔者的环境是VMware+Ubuntu-18.04.6-DeskTop,所以这里就不详细介绍安装虚拟机和Ubuntu操作系统的过程了(详细的截图我都留着了,有需要的可以留言)。VMware官网下载链接Ubuntu-18.04.6-DeskTop官网下载链接环境准备好后,开始下载部署ParaView;ParaView官网下载链接这里我下载的是ParaView-5.4.1-Qt5-OpenGL2-MPlI-Linux-64bit.tar.gz,下载完成后可以使用VMtools或者FileZillaClient等文件传输软件传输文件到虚拟机。注意:一定不要用官网教程给的版本,那个版本会有问题,没办法解决!!!1、本地安装ParaView,解压ParaViewtar-zxvfParaView-5.4.1-Qt5-OpenGL2-MPlI-Linux-64bit.tar.gz,修改环境变量,在文件末尾输入gedit~/.bashrc,添加下面一句#ParaviewexportPATH=/home/root1/ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/bin:$PATH输入source~/.bashrc输入paraview,会出现如下界面,说明ParaView是安装成功2.配置单用户访问ParaViewWeb配置启动ParaView脚本文件,输入cdParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/进入ParaView根目录,输入以下命令即可创建启动脚本文件touchstart.shgeditstart.sh编辑脚本文件,输入以下内容,保存!./bin/pvpythonshare/paraview-5.4/web/visualizer/server/pvw-visualizer.py--content./share/paraview-5.4/web/visualizer/www--data~/ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/ParaView-v5.4.1--port9000Type./start.sh启动ParaViewWeb服务后,在浏览器中输入localhost:9000即可看到如下界面。具体确定是否可能出现任何其他问题。如果您有任何问题,请留言。我相信这比单击问题并向ParaView维护者发送电子邮件更容易!